{
  "openapi": "3.1.0",
  "servers": [
    {
      "url": "https://api.printago.io",
      "description": "Prod"
    }
  ],
  "info": {
    "version": "0.0.1",
    "title": "@printago/api",
    "description": "",
    "license": {
      "name": "UNLICENSED"
    }
  },
  "paths": {
    "/v1/parts": {
      "get": {
        "summary": "Get all parts",
        "description": "List all parts in your store",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fileUris",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fileHashes",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "thumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "parameters",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printTags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "overriddenProcessProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "folderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicerOverride",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "metadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicingEstimate",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "use3MFProcessProfile",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          {
            "name": "arrangeable",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "userTags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gcodePlateUris",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "meshUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
            "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
          },
          {
            "name": "meshSourceHash",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
          },
          {
            "name": "meshError",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
          },
          {
            "name": "uploadedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all parts with their file info and metadata",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Part"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      },
      "post": {
        "summary": "Create a new part",
        "description": "Upload a new 3D model file. Supports STL, 3MF, STEP, GCODE, and OpenSCAD formats.\nAfter upload, metadata is automatically extracted from the file.",
        "tags": [
          "Parts"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Part data including file URIs and optional material assignments",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartInsertWithMaterials"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created part",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Part"
                }
              }
            }
          }
        },
        "x-permission": "part.create"
      },
      "patch": {
        "summary": "Bulk update parts",
        "description": "Update the same fields on multiple parts at once",
        "tags": [
          "Parts"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Part IDs and shared update data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyRequestPartUpdateWithMaterials"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated parts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Part"
                  }
                }
              }
            }
          }
        },
        "x-permission": "part.edit"
      },
      "delete": {
        "summary": "Delete multiple parts",
        "description": "Delete multiple parts and their associated files",
        "tags": [
          "Parts"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Array of part IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of successfully deleted parts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "part.delete"
      }
    },
    "/v1/parts/search": {
      "post": {
        "summary": "Search parts",
        "description": "Search parts with complex filters",
        "tags": [
          "Parts"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPart"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/parts/{id}": {
      "get": {
        "summary": "Get part by ID",
        "description": "Get a single part by ID",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The part's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested part with full details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Part"
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      },
      "patch": {
        "summary": "Update a part",
        "description": "Update part properties like name, description, or material assignments",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The part's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartUpdateWithMaterials"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated part",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Part"
                }
              }
            }
          }
        },
        "x-permission": "part.edit"
      },
      "delete": {
        "summary": "Delete a part",
        "description": "Delete a single part and its associated files",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The part's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "IDs of deleted resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "part.delete"
      }
    },
    "/v1/parts/create-skus": {
      "post": {
        "summary": "Create SKUs from parts",
        "description": "Create SKU products from selected parts. Each part becomes a new SKU\nwith the part linked to it.",
        "tags": [
          "Parts",
          "SKUs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Array of part-to-SKU mappings with custom names",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "partId": {
                      "type": "string"
                    },
                    "skuName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "partId",
                    "skuName"
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created SKUs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Sku"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.create"
      }
    },
    "/v1/parts/extract-3mf-metadata": {
      "post": {
        "summary": "Extract 3MF metadata from a staged upload",
        "description": "Read plate and material metadata from a staged 3MF upload without\ncreating a part. Accepts the `uploads:` path returned by\nsigned-upload-urls.",
        "tags": [
          "Parts"
        ],
        "parameters": [],
        "requestBody": {
          "description": "The staged upload to inspect",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Extract3MFMetadataRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Plate, material, and gcode metadata parsed from the 3MF",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Extract3MFMetadataResponse"
                }
              }
            }
          }
        },
        "x-permission": "part.create"
      }
    },
    "/v1/parts/{id}/split-plates": {
      "post": {
        "tags": [],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Part"
                }
              }
            }
          }
        }
      }
    },
    "/v1/printers/set-config": {
      "patch": {
        "summary": "Set provider config",
        "description": "Configure printer provider settings (e.g., Bambu Lab cloud connection)",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Provider configuration for selected printers",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetProviderConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated printers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Printer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.config"
      }
    },
    "/v1/printers/confirm-ready": {
      "patch": {
        "summary": "Confirm printer ready",
        "description": "Mark printers as ready or not ready to receive jobs",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs and ready status",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmReadyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated printers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Printer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.ready"
      }
    },
    "/v1/printers/enabled": {
      "patch": {
        "summary": "Set printer enabled status",
        "description": "Enable or disable printers for automatic job assignment",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs and enabled status",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnabledConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated printers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Printer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.control"
      }
    },
    "/v1/printers/continous-print": {
      "patch": {
        "summary": "Set Fabmatic",
        "description": "Enable or disable Fabmatic (continuous printing) for printers",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs, enabled status, and optional job limit",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContinuousPrintConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated printers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Printer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.config, printer.ready"
      }
    },
    "/v1/printers": {
      "get": {
        "summary": "Get all printers",
        "description": "List all printers connected to your store",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "deviceId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "providerConfig",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "machineUserProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "machineSystemProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "processUserProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "processSystemProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "nozzleDiameter",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "metadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "proxyClientId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "commMethod",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "enabled",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "confirmedReady",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isAvailable",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isOnline",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingJobId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "lastPrintedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "integrationId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "integrationType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "continuousPrint",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fabmaticRemainingJobs",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "bedSize",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "{x,y,z} mm build volume, denormalized from the machine profile's\nprintable_area/printable_height. Cache only — refreshed whenever the\nprinter's machine profile changes; the profile is the source of truth."
          },
          {
            "name": "modelName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Human-readable model name (e.g. \"P1S\", \"Snapmaker U1\", \"Prusa CORE One\")"
          },
          {
            "name": "vendorName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Vendor/manufacturer name (e.g. \"Bambu Lab\", \"Prusa\", \"Snapmaker\")"
          },
          {
            "name": "vendorModelId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerCapabilityPatch",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Per-printer capability override applied last (web Advanced Capabilities panel)",
            "description": "Per-printer capability override applied last (web Advanced Capabilities panel)."
          },
          {
            "name": "printerAdapterBindingsPatch",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Per-printer adapter binding override applied last",
            "description": "Per-printer adapter binding override applied last."
          },
          {
            "name": "lifetimePrintHours",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "lifetimeJobCount",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isInMaintenance",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "lastMaintenanceOfflineAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "lastMaintenanceOnlineAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "All registered printers with status",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Printer"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      },
      "patch": {
        "summary": "Bulk update printers",
        "description": "Update the same fields on multiple printers",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs and shared update data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyRequestPrinterUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated printers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Printer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      },
      "delete": {
        "summary": "Delete multiple printers",
        "description": "Remove multiple printers from your store",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of deleted printers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.delete"
      }
    },
    "/v1/printers/search": {
      "post": {
        "summary": "Search printers",
        "description": "Search printers with complex filters",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPrinter"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      }
    },
    "/v1/printers/{id}/snapshot": {
      "get": {
        "summary": "Get latest camera snapshot URL",
        "description": "Get a signed URL for the most recent camera snapshot of a printer.\nThe URL is valid for 60 minutes; refresh by calling again before\n`expiresAt`. Snapshots are uploaded by Fuse on a printing-aware\ncadence (~30s while printing, ~10min while idle), so the URL may\npoint to an image up to 10 minutes old on an idle printer.\n\nThe endpoint signs the URL without checking whether the underlying\nobject exists, so the returned URL will return `404` from Firebase\nStorage when fetched if Fuse has not yet uploaded a snapshot for\nthis printer (brand-new pairing, snapshots disabled for the store,\nthe printer model has no camera, or the printer has been offline\nsince pairing). Callers should treat a 404 on the GET as \"no\nsnapshot available yet\" rather than an error. The endpoint itself\nonly returns 404 if the printer ID does not exist in your store.",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The printer's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Signed download URL and expiry timestamp",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrinterLatestSnapshot"
                }
              }
            }
          }
        },
        "x-permission": "printer.camera"
      }
    },
    "/v1/printers/{id}": {
      "get": {
        "summary": "Get printer by ID",
        "description": "Get a single printer by ID",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The printer's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested printer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Printer"
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      },
      "patch": {
        "summary": "Update a printer",
        "description": "Update a printer's properties",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The printer's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialPrinterUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated printer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Printer"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      },
      "delete": {
        "summary": "Delete a printer",
        "description": "Remove a printer from your store",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The printer's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "IDs of deleted resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.delete"
      }
    },
    "/v1/printers/{id}/capabilities": {
      "get": {
        "summary": "Get resolved capabilities",
        "description": "Resolve effective capabilities for one printer.",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "nozzles": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "temperature": {
                                "type": "object",
                                "properties": {
                                  "read": {
                                    "type": "boolean"
                                  },
                                  "set": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "extrude": {
                                "type": "boolean"
                              },
                              "toolRef": {
                                "type": "string"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "tools": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "selectable": {
                                "type": "boolean"
                              },
                              "nozzleRefs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "fanRefs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "sensorRefs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "fans": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "role": {
                                "oneOf": [
                                  {
                                    "const": "part"
                                  },
                                  {
                                    "const": "aux"
                                  },
                                  {
                                    "const": "chamber"
                                  },
                                  {
                                    "const": "hotend"
                                  },
                                  {
                                    "const": "exhaust"
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "length": {
                                        "type": "number",
                                        "title": "Returns the length of a String object",
                                        "description": "Returns the length of a String object."
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "controllable": {
                                "type": "boolean"
                              },
                              "reportsSpeed": {
                                "type": "boolean",
                                "description": "Whether the printer reports back a live fan speed. Defaults to true\n(omitted). Set false for write-only fans (e.g. OctoPrint, whose REST API\naccepts M106 but never surfaces a speed) so diagnostics skip the readback\nverification instead of failing a check they can't perform."
                              },
                              "nozzleRef": {
                                "type": "string"
                              },
                              "toolRef": {
                                "type": "string"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "lights": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "role": {
                                "oneOf": [
                                  {
                                    "const": "chamber"
                                  },
                                  {
                                    "const": "work"
                                  },
                                  {
                                    "const": "indicator"
                                  },
                                  {
                                    "const": "strip"
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "length": {
                                        "type": "number",
                                        "title": "Returns the length of a String object",
                                        "description": "Returns the length of a String object."
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "dimmable": {
                                "type": "boolean"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "sensors": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "role": {
                                "oneOf": [
                                  {
                                    "const": "lidar"
                                  },
                                  {
                                    "const": "filament_runout"
                                  },
                                  {
                                    "const": "door"
                                  },
                                  {
                                    "const": "accelerometer"
                                  },
                                  {
                                    "const": "bed_mesh"
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "length": {
                                        "type": "number",
                                        "title": "Returns the length of a String object",
                                        "description": "Returns the length of a String object."
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "nozzleRef": {
                                "type": "string"
                              },
                              "toolRef": {
                                "type": "string"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "beds": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "temperature": {
                                "type": "object",
                                "properties": {
                                  "read": {
                                    "type": "boolean"
                                  },
                                  "set": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "hasMesh": {
                                "type": "boolean"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "chambers": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "temperature": {
                                "type": "object",
                                "properties": {
                                  "read": {
                                    "type": "boolean"
                                  },
                                  "set": {
                                    "type": "boolean"
                                  }
                                }
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "axes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "axis": {
                                "oneOf": [
                                  {
                                    "const": "x"
                                  },
                                  {
                                    "const": "y"
                                  },
                                  {
                                    "const": "z"
                                  }
                                ]
                              },
                              "move": {
                                "type": "boolean"
                              },
                              "home": {
                                "type": "boolean"
                              },
                              "flipped": {
                                "type": "boolean"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "filaments": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "canReadFilament": {
                                "type": "boolean",
                                "title": "True if printer hardware can read filament info from this source",
                                "description": "True if printer hardware can read filament info from this source."
                              },
                              "canLoad": {
                                "type": "boolean",
                                "title": "True if printer can auto-load filament into this source",
                                "description": "True if printer can auto-load filament into this source."
                              },
                              "canUnload": {
                                "type": "boolean",
                                "title": "True if printer can auto-unload filament",
                                "description": "True if printer can auto-unload filament."
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          },
                          "description": "Directly-fed filament sources. An array because some printers feed\nmultiple positions simultaneously (Bambu external bay = 2, Snapmaker\nU1 = 4, Bambu H2D = 2+). Each entry is one loadable position.\nAMS / MMU / ERCF / CFS / toolchanger live separately under\n`peripherals` and are presented alongside these in the UI's\nFilaments view."
                        },
                        "cameras": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "protocol": {
                                "oneOf": [
                                  {
                                    "const": "mjpeg-bambu"
                                  },
                                  {
                                    "const": "rtsps-bambu"
                                  },
                                  {
                                    "const": "webrtc"
                                  },
                                  {
                                    "const": "rtsp"
                                  },
                                  {
                                    "const": "rtsps"
                                  },
                                  {
                                    "const": "mjpeg-http"
                                  },
                                  {
                                    "const": "http-flv"
                                  },
                                  {
                                    "const": "http-snapshot"
                                  },
                                  {
                                    "const": "http-snapshot-poll"
                                  }
                                ]
                              },
                              "mounting": {
                                "oneOf": [
                                  {
                                    "const": "builtin"
                                  },
                                  {
                                    "const": "external"
                                  }
                                ],
                                "title": "`builtin`: seeded by the capability set, locked in the UI",
                                "description": "`builtin`: seeded by the capability set, locked in the UI.\n`external`: user-attached; editable + removable via printer config."
                              },
                              "url": {
                                "type": "string",
                                "description": "Literal stream URL. Required for non-Bambu protocols, EXCEPT for\n`mjpeg-http` cameras whose endpoint can be synthesized from\n`printer.ip + port` (path-agnostic MJPEG, e.g. Elegoo Centauri\nCarbon 2 on `:8080`). Set `url` when the camera is at a third-party\nabsolute address; otherwise just set `port` and let the go2rtc\ngenerator build `http://${printer.ip}:${port}/`."
                              },
                              "port": {
                                "type": "number",
                                "title": "Override default port for the protocol",
                                "description": "Override default port for the protocol."
                              },
                              "path": {
                                "type": "string",
                                "description": "Override the URL path for `mjpeg-http` (default `/`). Used when the\nstream sits behind a fixed path on the printer's web server — e.g.\nMainsail/Fluidd-style `/webcam/?action=stream` for camera-streamer\nor mjpg-streamer. Combined with `printer.ip + port` to build the\nfull URL when `url` isn't set."
                              },
                              "auth": {
                                "type": "string",
                                "description": "Auth credentials for the stream — `Bearer ...`, `user:pass`, or a\nquery-string fragment. Bambu protocols ignore this; their auth is\nderived from `printer.accessCode`."
                              },
                              "role": {
                                "oneOf": [
                                  {
                                    "const": "overhead"
                                  },
                                  {
                                    "const": "bed"
                                  },
                                  {
                                    "const": "chamber"
                                  },
                                  {
                                    "const": "toolhead"
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "length": {
                                        "type": "number",
                                        "title": "Returns the length of a String object",
                                        "description": "Returns the length of a String object."
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  }
                                ],
                                "title": "UX-only role for grouping/labeling",
                                "description": "UX-only role for grouping/labeling."
                              },
                              "snapshots": {
                                "type": "boolean",
                                "title": "Whether to capture periodic snapshots. Defaults true if unset",
                                "description": "Whether to capture periodic snapshots. Defaults true if unset."
                              },
                              "timelapse": {
                                "type": "boolean",
                                "title": "Whether to record timelapses. Defaults true if unset",
                                "description": "Whether to record timelapses. Defaults true if unset."
                              },
                              "primary": {
                                "type": "boolean",
                                "description": "When true, this is the printer's primary camera: it owns the bare\n`printer.id` go2rtc stream key, so the live dashboard/printer tile,\nperiodic snapshots, the print-completion thumbnail, and timelapses\nall read from it instead of the built-in camera. At most one camera\nper printer should set this; when none do, the first camera\n(index 0, normally the built-in) is the implicit primary."
                              },
                              "webrtcSignaling": {
                                "type": "object",
                                "properties": {
                                  "flavor": {
                                    "oneOf": [
                                      {
                                        "const": "whep"
                                      },
                                      {
                                        "const": "creality-base64-json"
                                      },
                                      {
                                        "const": "go2rtc-ws"
                                      }
                                    ]
                                  },
                                  "path": {
                                    "type": "string",
                                    "title": "Endpoint path or full URL for the signaling request",
                                    "description": "Endpoint path or full URL for the signaling request."
                                  }
                                },
                                "description": "SDP-exchange config for `protocol: 'webrtc'`. Required when protocol\nis `'webrtc'`; ignored otherwise. The transport itself is always\nstandard WebRTC; this only describes how the offer/answer get traded.\n\nFor `creality-base64-json`, the signaling URL is built from\n`printer.ip:port` + `path` (e.g. http://192.168.1.26:8000/call/webrtc_local).\nFor `whep`, `path` may be a full URL or a path appended to the camera's\nbase URL."
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          },
                          "description": "Cameras attached to the printer. Built-in (`mounting:'builtin'`)\ncameras come from the printer's capability set; external IP/RTSP\ncameras (`mounting:'external'`) are added via printer config.\n\nReplaces the legacy `getCameraProtocol(modelCode)` lookup — all\ncamera config flows through this array."
                        },
                        "peripherals": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "oneOf": [
                                  {
                                    "const": "ercf"
                                  },
                                  {
                                    "const": "mmu"
                                  },
                                  {
                                    "const": "toolchanger"
                                  },
                                  {
                                    "const": "ams"
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "length": {
                                        "type": "number",
                                        "title": "Returns the length of a String object",
                                        "description": "Returns the length of a String object."
                                      }
                                    },
                                    "additionalProperties": {
                                      "type": "string"
                                    }
                                  }
                                ]
                              },
                              "maxUnits": {
                                "type": "number"
                              },
                              "slotsPerUnit": {
                                "type": "number"
                              },
                              "minSlotsPerUnit": {
                                "type": "number"
                              },
                              "maxSlotsPerUnit": {
                                "type": "number"
                              },
                              "canReadFilament": {
                                "type": "boolean"
                              },
                              "canLoad": {
                                "type": "boolean"
                              },
                              "canUnload": {
                                "type": "boolean"
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Optional vendor/extensible subtype when the base role is not enough"
                              }
                            }
                          }
                        },
                        "printing": {
                          "type": "object",
                          "properties": {
                            "start": {
                              "type": "boolean"
                            },
                            "pause": {
                              "type": "boolean"
                            },
                            "resume": {
                              "type": "boolean"
                            },
                            "stop": {
                              "type": "boolean"
                            },
                            "skipObjects": {
                              "type": "boolean"
                            }
                          }
                        },
                        "filament": {
                          "type": "object",
                          "properties": {
                            "setInfo": {
                              "type": "boolean"
                            },
                            "read": {
                              "type": "boolean"
                            },
                            "dynamicSlots": {
                              "type": "boolean"
                            }
                          }
                        },
                        "files": {
                          "type": "object",
                          "properties": {
                            "upload": {
                              "type": "boolean"
                            },
                            "list": {
                              "type": "boolean"
                            }
                          }
                        },
                        "gcode": {
                          "type": "boolean"
                        },
                        "printOptions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "oneOf": [
                                  {
                                    "const": "boolean"
                                  },
                                  {
                                    "const": "enum"
                                  }
                                ]
                              },
                              "default": {
                                "oneOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "boolean"
                                  }
                                ],
                                "title": "UI default when the stored providerConfig is null / missing the key",
                                "description": "UI default when the stored providerConfig is null / missing the key."
                              },
                              "choices": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "value": {
                                      "type": "string"
                                    },
                                    "label": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "title": "For `kind: \"enum\"`: allowed values with display labels",
                                "description": "For `kind: \"enum\"`: allowed values with display labels."
                              },
                              "description": {
                                "type": "string",
                                "title": "Tooltip help text rendered next to the label",
                                "description": "Tooltip help text rendered next to the label."
                              },
                              "ref": {
                                "type": "string",
                                "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                                "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                              },
                              "label": {
                                "type": "string",
                                "description": "Human-readable display name"
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/printers/capabilities/resolve": {
      "post": {
        "summary": "Resolve capabilities for printers",
        "description": "Resolve effective capabilities for multiple printers (bulk).",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolvePrinterCapabilitiesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResolvePrinterCapabilitiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/printers/multi": {
      "patch": {
        "summary": "Multi-update printers",
        "description": "Update different fields on each printer in a single request",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Array of individual printer updates",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PartialPrinterUpdateidstring"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "printer.edit"
      }
    },
    "/v1/printers/{id}/rename": {
      "patch": {
        "summary": "Rename a printer",
        "description": "Change a printer's display name",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The printer's unique identifier"
          }
        ],
        "requestBody": {
          "description": "New name for the printer",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenamePrinterOptions"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The renamed printer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Printer"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      }
    },
    "/v1/linked-parts": {
      "get": {
        "summary": "Get all linked parts for a store",
        "tags": [
          "Linked_Parts"
        ],
        "operationId": "linkedParts_getAll",
        "parameters": [
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "parameters",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "exposedParameters",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialAssignments",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "extensions",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "parameterBindings",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sequenceBindings",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          {
            "name": "plateQuantitiesBinding",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of linked parts",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LinkedPart"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new linked part",
        "tags": [
          "Linked_Parts"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Linked part data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LinkedPartInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created linked part",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedPart"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/linked-parts/search": {
      "post": {
        "summary": "Search linked parts",
        "description": "Advanced search for linked parts",
        "tags": [
          "Linked_Parts"
        ],
        "operationId": "linkedParts_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoLinkedPart"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with linked parts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/linked-parts/{id}": {
      "get": {
        "summary": "Get a specific linked part by ID",
        "tags": [
          "Linked_Parts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Linked part identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Linked part details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedPart"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a linked part",
        "tags": [
          "Linked_Parts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Linked part identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated linked part data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialLinkedPartInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated linked part",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedPart"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a linked part",
        "tags": [
          "Linked_Parts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Linked part identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted linked part IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/profiles": {
      "get": {
        "summary": "Get all slicer profiles",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "inherits",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "compatibilityList",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "data",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "metadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "integrationId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "integrationType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all slicer profiles in the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Profile"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      },
      "post": {
        "summary": "Create a new profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Profile data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          }
        },
        "x-permission": "profile.create"
      },
      "delete": {
        "summary": "Delete multiple profiles",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Array of profile IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of deleted profiles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "profile.delete"
      }
    },
    "/v1/profiles/search": {
      "post": {
        "summary": "Search profiles",
        "description": "Search profiles with complex filters",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoProfile"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/supported": {
      "get": {
        "summary": "Get supported printer models",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of printer models with supported features",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupportedPrinter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/printer-models": {
      "get": {
        "summary": "Get all available printer models",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Complete list of all printer models in the system",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterModel"
                  }
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/my-printer-models": {
      "get": {
        "summary": "Get printer models used in your store",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of printer models that have profiles in your store",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterModel"
                  }
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/slicer-versions": {
      "get": {
        "summary": "Get available slicer versions",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of synced slicer versions with their patch levels and slicer engine",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "version": {
                        "type": "string"
                      },
                      "patch": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      },
                      "slicer": {
                        "oneOf": [
                          {
                            "const": "orcaslicer"
                          },
                          {
                            "const": "bambu-studio"
                          },
                          {
                            "const": "prusaslicer"
                          },
                          {
                            "const": "superslicer"
                          }
                        ]
                      }
                    },
                    "required": [
                      "version",
                      "patch",
                      "slicer"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      }
    },
    "/v1/profiles/{id}/full": {
      "get": {
        "summary": "Get full profile data with optional slicer version",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Full profile data with inheritance resolved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recordstringany"
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/{id}": {
      "get": {
        "summary": "Get a specific profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - The profile ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested slicer profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      },
      "patch": {
        "summary": "Update a profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - The profile ID"
          }
        ],
        "requestBody": {
          "description": "- Profile update data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileUpdateDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          }
        },
        "x-permission": "profile.edit"
      },
      "delete": {
        "summary": "Delete a profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - The profile ID to delete"
          }
        ],
        "responses": {
          "200": {
            "description": "Array containing the deleted profile ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "profile.delete"
      }
    },
    "/v1/profiles/compatible/{id}": {
      "get": {
        "summary": "Get profiles compatible with a printer",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Profiles compatible with the specified printer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompatibleProfiles"
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/compatible/{machineModel}/{nozzleDiameter}": {
      "get": {
        "summary": "Get profiles by machine model and nozzle size",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "machineModel",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - The printer model name"
          },
          {
            "name": "nozzleDiameter",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - The nozzle diameter (e.g., \"0.4\")"
          }
        ],
        "responses": {
          "200": {
            "description": "Profiles matching the specified criteria",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompatibleProfiles"
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/{id}/view": {
      "get": {
        "summary": "Get profile with inheritance details",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - The profile ID"
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicerEngine",
            "in": "query",
            "schema": {
              "oneOf": [
                {
                  "const": "orcaslicer"
                },
                {
                  "const": "bambu-studio"
                },
                {
                  "const": "prusaslicer"
                },
                {
                  "const": "superslicer"
                }
              ]
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Profile data with inheritance information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileWithInheritance"
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/{id}/versions": {
      "get": {
        "summary": "Get available slicer versions for a profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - The profile ID"
          }
        ],
        "responses": {
          "200": {
            "description": "List of slicer versions that have the profile's inherited parent",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "version": {
                        "type": "string"
                      },
                      "patch": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      },
                      "slicer": {
                        "oneOf": [
                          {
                            "const": "orcaslicer"
                          },
                          {
                            "const": "bambu-studio"
                          },
                          {
                            "const": "prusaslicer"
                          },
                          {
                            "const": "superslicer"
                          }
                        ]
                      }
                    },
                    "required": [
                      "version",
                      "patch",
                      "slicer"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "profile.view"
      }
    },
    "/v1/profiles/preview": {
      "post": {
        "summary": "Preview profiles from a file",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- File containing profiles to preview",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ProfileUploadBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Preview of profiles found in the file",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfilePreviewResult"
                }
              }
            }
          }
        },
        "x-permission": "profile.create"
      }
    },
    "/v1/profiles/import": {
      "post": {
        "summary": "Import profiles from a file",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- File and import options",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ProfileImportBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Results of the import operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileImportResult"
                }
              }
            }
          }
        },
        "x-permission": "profile.create"
      }
    },
    "/v1/profiles/import-data": {
      "post": {
        "summary": "Import pre-parsed profiles",
        "tags": [
          "Profiles"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Pre-parsed profile data and import options",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileImportDataBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Results of the import operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileImportResult"
                }
              }
            }
          }
        },
        "x-permission": "profile.create"
      }
    },
    "/v1/print-jobs/merge": {
      "post": {
        "summary": "Merge print jobs onto one plate",
        "description": "Merge two or more compatible pending jobs onto a single build plate. The\nserver re-validates compatibility, recomputes the plate layout\nauthoritatively, creates the merged (parent) job, links the children, and\nkicks asynchronous merged-3MF authoring.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Job ids to merge and the target bed size",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergePlatesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The merged parent job id and the committed layout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MergePlatesResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/{id}/unmerge": {
      "post": {
        "summary": "Un-merge a plate",
        "description": "Un-merge a plate: release its child jobs back to Pending and delete the\nmerged parent. Allowed while the parent is Pending or Assigned (pre-slicing).",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The merged (parent) print job id"
          }
        ],
        "responses": {
          "201": {
            "description": "The child job ids released back to the queue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnmergePlateResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs": {
      "get": {
        "summary": "Get all print jobs",
        "description": "List all print jobs including queued, printing, and completed jobs",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "partBuildId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityIndex",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityTotal",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "thumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "coloredThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "buildThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cameraThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Camera-captured snapshot from the moment Fuse detected the last\nlayer of the print. Persisted to the files bucket. Null unless Fuse\nsuccessfully captured and uploaded."
          },
          {
            "name": "timelapseUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "MP4 timelapse Fuse encoded from frames captured during the print and\nuploaded to the snapshots bucket under the `timelapses/` prefix.\nNull unless the store has timelapses enabled and Fuse uploaded\nsuccessfully."
          },
          {
            "name": "fuseTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Fuse flight-recorder artifact for the current attempt (gzipped JSONL\nunder the permanent `telemetry/` prefix). Confirmed asynchronously by\nFuse after the print ends, like `timelapseUri`."
          },
          {
            "name": "attemptNumber",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "1-based counter of print attempts (bumped on requeue once the attempt\nprinted or reached a terminal state). Keys per-attempt media/telemetry\nobjects and aligns with `print_history.attemptNumber`."
          },
          {
            "name": "sendFailureCount",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Consecutive send-give-up cycles (EnsureJobStarted exhausted its retries\nwithout the printer starting). Reset on retry from a terminal state."
          },
          {
            "name": "filesToPrint",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicerInputHash",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isGcodeCached",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicedGcodeUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "parameterOverrides",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "linkedPartId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuInstance",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "queueOrder",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "requiredPrinterTags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "overriddenProcessProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "taskId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "profileUris",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignedPrinterId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cancelledAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "errorMessage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "hidden",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "logsUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "extensions",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skipObjectsData",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skipObjectIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "User-selected objects to skip on this job's plate, as identifyId strings\n(resolved at queue time from the part's plate object list). When the print\nstarts, a Bambu `skip_objects` command is auto-sent for these. Null/empty\nmeans print everything. Stored as strings; converted to integer obj_list at\nsend time."
          },
          {
            "name": "materialMapping",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialAssignments",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gcodeAnalysisSha256",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "SHA256 hash of analyzed gcode content — stable key for extrusion lookup"
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Group identifier for visually-collapsed print-queue rows. Assigned at\nemission (one per plate cluster within a build). Split mints fresh\ngroupIds for non-first buckets. May be null for legacy rows that predate\nthe grouping feature."
          },
          {
            "name": "parentJobId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Set on jobs merged onto a shared plate; points at the merged (parent)\njob. Children mirror the parent's status and are excluded from\nindependent matching."
          },
          {
            "name": "boundingBox",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "{x,y,z} mm bounding box of what this job prints. Null until computed",
            "description": "{x,y,z} mm bounding box of what this job prints. Null until computed."
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "All print jobs with their current status",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrintJob"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/search": {
      "post": {
        "summary": "Search print jobs",
        "description": "Search print jobs with complex filters",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPrintJob"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/stats/completed-count": {
      "get": {
        "summary": "Get completed job count",
        "description": "Get total number of completed print jobs",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Count of completed jobs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/pause": {
      "patch": {
        "summary": "Pause print jobs",
        "description": "Send printer a command to pause the job",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "IDs of jobs to pause",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrintJobOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of paused jobs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/cancel": {
      "patch": {
        "summary": "Cancel print jobs",
        "description": "Cancel job(s) that are queued or in progress.  If in progress (printing), also sends the \nprinter(s) a stop/cancel command.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "IDs of jobs to cancel",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelPrintJobsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of cancelled jobs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/resume": {
      "patch": {
        "summary": "Resume paused jobs",
        "description": "Send printer a command to resume a paused job",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "IDs of jobs to resume",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrintJobOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of resumed jobs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/retry": {
      "patch": {
        "summary": "Retry failed jobs",
        "description": "Retry cancelled or failed jobs by resetting them to queued status",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "IDs of jobs to retry",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrintJobOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of jobs reset for retry",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/archived": {
      "get": {
        "summary": "List archived jobs",
        "description": "List archived (hidden) print jobs with cursor-based pagination",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of archived jobs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArchivedPrintJobsResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/clear": {
      "patch": {
        "summary": "Clear finished jobs",
        "description": "Archive completed or cancelled jobs, hiding them from the queue and sync",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "IDs of jobs to clear",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrintJobOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of cleared jobs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "job.delete.all"
      }
    },
    "/v1/print-jobs/move-to-queue-front": {
      "patch": {
        "summary": "Prioritize jobs",
        "description": "Move jobs to the front of the queue for priority printing",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "IDs of jobs to prioritize",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrintJobOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of prioritized jobs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.override"
      }
    },
    "/v1/print-jobs/groups/quantity": {
      "patch": {
        "summary": "Adjust group quantity",
        "description": "Adjust the total quantity of a print-queue group. Clones or trims jobs so\nthe group ends up with exactly `targetQuantity` pending members. Order-\nlinked groups are rejected — use the order flow instead.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Group key and new total quantity (1..500)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdjustGroupQuantityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdjustGroupQuantityResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/groups/split": {
      "post": {
        "summary": "Split group",
        "description": "Split a print-queue group into multiple smaller groups while preserving\nqueue order. Bucket 0 keeps the original groupId; each subsequent bucket\nreceives a fresh id.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Group key and bucket sizes summing to the group size",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The new groups in queue order",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitGroupResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/groups/reorder": {
      "patch": {
        "summary": "Reorder group",
        "description": "Reorder an entire print-queue group as a contiguous block.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Group id and target index in the pending queue",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReorderGroupResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/{id}/matching-details": {
      "get": {
        "summary": "Get job matching details",
        "description": "Get details about why a job is or isn't matching to printers",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Matching criteria and compatible printers",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/PrintJobMatchingDetail"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/{id}/matching-troubleshoot": {
      "get": {
        "summary": "Get job matching troubleshooting details",
        "description": "Get troubleshooting details for why a job is or isn't matching to each printer",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed checklist of matching criteria for all printers",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/PrintJobMatchingTroubleshoot"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/queue/run": {
      "post": {
        "summary": "Run the queue matcher now",
        "description": "Run the queue matcher synchronously, bypassing the per-store\n\"Automatic Queue Matching\" gate. Use this for an explicit \"match the\nqueue right now\" action (e.g. after staging printer/material changes\nwith auto matching turned off). Returns the resulting (printer, job)\npairs so the caller can render them or fold them into a future\ndry-run/preview UI.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "responses": {
          "201": {
            "description": "The matcher's outcome: assignments produced or a skip reason",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunQueueResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/queue/group-matching": {
      "post": {
        "summary": "Get compatible printers per queue group",
        "description": "Bulk-evaluate the pending print queue and return the match verdict per\nprinter for each queue group. The matcher runs once per group (not once\nper job) since every job in a group shares the same part, materials, and\nrequired tags.\n\nThe response carries verdicts only (`matched`, `compatible`,\n`firstFailedCheck`) — for the per-check reasons behind a verdict, call\n`GET /v1/print-jobs/{id}/matching-troubleshoot` for the group's\nrepresentative job. The number of evaluated groups is capped so the\nresponse stays bounded on large farms; when the pending queue exceeds\nthat cap the tail is omitted and `truncated` is true. Scope the request\nwith `printJobIds` to evaluate a specific group.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Optional subset of pending print job IDs to consider; defaults to the entire pending queue",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QueueGroupMatchingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Per-group printer compatibility, one entry per distinct groupId",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueGroupMatchingResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/print-jobs/{id}/send-to-printer": {
      "post": {
        "summary": "Send job directly to a printer",
        "description": "Send a specific pending job directly to a chosen printer, skipping the\nglobal queue matcher. The printer does not need to be marked ready —\nmarking ready re-runs queue matching, which is the side effect this\nendpoint exists to avoid. The atomic printer claim and the standard\ncompatibility checks still apply (bypass with `force=true` at your own\nrisk).",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "requestBody": {
          "description": "Target printer and optional force flag",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendPrintJobToPrinterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The updated print job in `assigned` status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SendPrintJobToPrinterResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/{id}/reorder": {
      "patch": {
        "summary": "Reorder a job",
        "description": "Change a job's position in the print queue",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "requestBody": {
          "description": "New queue position and priority",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderPrintJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/bulk-reorder": {
      "patch": {
        "summary": "Bulk reorder jobs",
        "description": "Reorder multiple jobs at once",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Array of job IDs with their new positions",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkReorderPrintJobsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/print-jobs/{id}": {
      "get": {
        "summary": "Get print job",
        "description": "Get a single print job by ID",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The print job details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrintJob"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      },
      "patch": {
        "summary": "Update print job",
        "description": "Update a print job's properties",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialPrintJobInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated print job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrintJob"
                }
              }
            }
          }
        },
        "x-permission": "job.edit.all"
      }
    },
    "/v1/stores": {
      "get": {
        "summary": "Get all stores for current user",
        "tags": [
          "Stores"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of stores accessible to the user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Store"
                  }
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update organization settings",
        "tags": [
          "Stores"
        ],
        "parameters": [],
        "requestBody": {
          "description": "The fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated store",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Store"
                }
              }
            }
          }
        },
        "x-permission": "organization.edit"
      }
    },
    "/v1/skus": {
      "get": {
        "summary": "List all SKUs",
        "tags": [
          "SKUs"
        ],
        "parameters": [
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "title",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalProvider",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "folderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalCogs",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of all SKUs in the store with their linked parts",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SkuLinkedPartsRelation"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new SKU",
        "tags": [
          "SKUs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "The SKU data including name, price, and linked parts",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkuInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The newly created SKU with its relations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuLinkedPartsRelation"
                }
              }
            }
          }
        },
        "x-permission": "sku.create"
      }
    },
    "/v1/skus/search": {
      "post": {
        "summary": "Search SKUs",
        "description": "Search SKUs with complex filters",
        "tags": [
          "SKUs"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSku"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/skus/{id}": {
      "get": {
        "summary": "Get a specific SKU",
        "tags": [
          "SKUs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The unique identifier of the SKU"
          }
        ],
        "responses": {
          "200": {
            "description": "The SKU with its linked parts and part details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuLinkedPartsWithPartRelation"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a SKU",
        "tags": [
          "SKUs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The unique identifier of the SKU to update"
          }
        ],
        "requestBody": {
          "description": "The partial SKU data to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialSkuInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated SKU",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sku"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a SKU",
        "tags": [
          "SKUs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The unique identifier of the SKU to delete"
          }
        ],
        "responses": {
          "200": {
            "description": "Success confirmation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.delete"
      }
    },
    "/v1/skus/{id}/duplicate": {
      "post": {
        "summary": "Duplicate a SKU",
        "description": "Creates a copy of an existing SKU under a new, unique SKU code. The copy carries\nthe linked parts, variant options, cost entries and description of the original.",
        "tags": [
          "SKUs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The unique identifier of the SKU to copy"
          }
        ],
        "requestBody": {
          "description": "The new SKU code, and optionally a title, folder and which parts of the original to carry over",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkuDuplicateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The newly created SKU with its linked parts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuLinkedPartsRelation"
                }
              }
            }
          }
        },
        "x-permission": "sku.create, sku.view"
      }
    },
    "/v1/skus/delete-many": {
      "post": {
        "summary": "Delete multiple SKUs",
        "tags": [
          "SKUs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Array of SKU identifiers to delete",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Array of successfully deleted SKU identifiers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.delete"
      }
    },
    "/v2/builds": {
      "post": {
        "summary": "Create and queue prints",
        "description": "Create prints containing parts and/or SKUs.\n\nYou can issue prints by specifying individual parts and/or complete SKUs (products).\nEach part or SKU can be customized with specific quantities, parameters, materials, and other configuration options.",
        "tags": [
          "Printing"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Build configuration specifying parts and SKUs to include",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BuildConfigV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Result containing created part builds and SKU builds with their assigned IDs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildResultV2"
                }
              }
            }
          }
        }
      }
    },
    "/v2/builds/preview": {
      "post": {
        "summary": "Preview part builds and jobs (dry run)",
        "description": "Preview builds and jobs that would be created without queueing anything.",
        "tags": [
          "Printing"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Build configuration specifying parts and SKUs to preview",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BuildConfigV2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Preview of part builds and jobs grouped by part build",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildPreviewV2"
                }
              }
            }
          }
        }
      }
    },
    "/v1/part-builds": {
      "get": {
        "summary": "Get all part builds for a store",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuBuildId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partCopy",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "requiredPrinterTags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "numPartsPerSku",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuInstanceStart",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "parameterOverrides",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "outputFiles",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "thumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printStatus",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "extensions",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialAssignments",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "position",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "linkedPartId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "dismissed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of part builds with their steps and print jobs",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PartBuildWithRelation"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/part-builds/search": {
      "post": {
        "summary": "Search part builds",
        "description": "Search part builds with complex filters",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPartBuild"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/part-builds/{id}": {
      "get": {
        "summary": "Get a specific part build by ID",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Part build identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Part build details with steps and print jobs, or undefined if not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartBuildWithRelation"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/part-builds/archive": {
      "patch": {
        "summary": "Archive part builds",
        "description": "Archive part builds, hiding them from the queue and sync",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Request containing part build IDs to archive",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartBuildOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of archived part build IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/part-builds/restore": {
      "patch": {
        "summary": "Restore archived part builds",
        "description": "Restore archived part builds back to the queue",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Request containing part build IDs to restore",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartBuildOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of restored part build IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/part-builds/dismiss": {
      "patch": {
        "summary": "Dismiss part builds (deprecated)",
        "deprecated": true,
        "tags": [
          "Part_Builds"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Request containing part build IDs to dismiss",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartBuildOperationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of dismissed part build IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "queue.manage"
      }
    },
    "/v1/users": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "oneOf": [
                {
                  "const": "active"
                },
                {
                  "const": "inactive"
                }
              ]
            },
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUsersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/{userId}": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "success",
                    "message"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/invite": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InviteUserResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/invite/{invitationId}/resend": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/invite/{invitationId}/revoke": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "invitationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/{userId}/roles": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roleId": {
                    "type": "string"
                  }
                },
                "required": [
                  "roleId"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roleIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "roleIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/{userId}/roles/{roleId}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/{userId}/permissions": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permissions": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "const": "organization.owner"
                        },
                        {
                          "const": "organization.edit"
                        },
                        {
                          "const": "organization.delete"
                        },
                        {
                          "const": "user.view"
                        },
                        {
                          "const": "user.invite"
                        },
                        {
                          "const": "user.edit"
                        },
                        {
                          "const": "user.delete"
                        },
                        {
                          "const": "permission.view"
                        },
                        {
                          "const": "permission.grant"
                        },
                        {
                          "const": "permission.revoke"
                        },
                        {
                          "const": "part.view"
                        },
                        {
                          "const": "part.create"
                        },
                        {
                          "const": "part.edit"
                        },
                        {
                          "const": "part.delete"
                        },
                        {
                          "const": "part.export"
                        },
                        {
                          "const": "sku.view"
                        },
                        {
                          "const": "sku.create"
                        },
                        {
                          "const": "sku.edit"
                        },
                        {
                          "const": "sku.delete"
                        },
                        {
                          "const": "material.view"
                        },
                        {
                          "const": "material.create"
                        },
                        {
                          "const": "material.edit"
                        },
                        {
                          "const": "material.delete"
                        },
                        {
                          "const": "material.instance.view"
                        },
                        {
                          "const": "material.instance.create"
                        },
                        {
                          "const": "material.instance.edit"
                        },
                        {
                          "const": "material.instance.delete"
                        },
                        {
                          "const": "printer.view"
                        },
                        {
                          "const": "printer.create"
                        },
                        {
                          "const": "printer.edit"
                        },
                        {
                          "const": "printer.delete"
                        },
                        {
                          "const": "printer.control"
                        },
                        {
                          "const": "printer.ready"
                        },
                        {
                          "const": "printer.config"
                        },
                        {
                          "const": "printer.stats"
                        },
                        {
                          "const": "printer.camera"
                        },
                        {
                          "const": "profile.view"
                        },
                        {
                          "const": "profile.create"
                        },
                        {
                          "const": "profile.edit"
                        },
                        {
                          "const": "profile.delete"
                        },
                        {
                          "const": "queue.view"
                        },
                        {
                          "const": "queue.manage"
                        },
                        {
                          "const": "queue.override"
                        },
                        {
                          "const": "job.create"
                        },
                        {
                          "const": "job.edit.own"
                        },
                        {
                          "const": "job.edit.all"
                        },
                        {
                          "const": "job.delete.own"
                        },
                        {
                          "const": "job.delete.all"
                        },
                        {
                          "const": "build.view"
                        },
                        {
                          "const": "build.create"
                        },
                        {
                          "const": "build.edit"
                        },
                        {
                          "const": "build.delete"
                        },
                        {
                          "const": "settings.view"
                        },
                        {
                          "const": "settings.edit"
                        },
                        {
                          "const": "integration.view"
                        },
                        {
                          "const": "integration.manage"
                        },
                        {
                          "const": "subscription.view"
                        },
                        {
                          "const": "subscription.manage"
                        },
                        {
                          "const": "analytics.view"
                        },
                        {
                          "const": "reports.generate"
                        },
                        {
                          "const": "audit.log.view"
                        },
                        {
                          "const": "audit.logs.configure"
                        },
                        {
                          "const": "order.view"
                        },
                        {
                          "const": "order.create"
                        },
                        {
                          "const": "order.edit"
                        },
                        {
                          "const": "order.delete"
                        },
                        {
                          "const": "order.print"
                        },
                        {
                          "const": "apiKey.view"
                        },
                        {
                          "const": "apiKey.create"
                        },
                        {
                          "const": "apiKey.edit"
                        },
                        {
                          "const": "apiKey.delete"
                        },
                        {
                          "const": "file.download"
                        },
                        {
                          "const": "maintenance.view"
                        },
                        {
                          "const": "maintenance.create"
                        },
                        {
                          "const": "maintenance.edit"
                        },
                        {
                          "const": "maintenance.delete"
                        },
                        {
                          "const": "maintenance.complete"
                        },
                        {
                          "const": "routing.manage"
                        },
                        {
                          "const": "customizer.manage"
                        },
                        {
                          "const": "macro.view"
                        },
                        {
                          "const": "macro.create"
                        },
                        {
                          "const": "macro.edit"
                        },
                        {
                          "const": "macro.delete"
                        },
                        {
                          "const": "macro.run"
                        },
                        {
                          "const": "card.view"
                        },
                        {
                          "const": "card.create"
                        },
                        {
                          "const": "card.edit"
                        },
                        {
                          "const": "card.delete"
                        },
                        {
                          "const": "layout.view"
                        },
                        {
                          "const": "layout.create"
                        },
                        {
                          "const": "layout.edit"
                        },
                        {
                          "const": "layout.delete"
                        },
                        {
                          "const": "sequence.view"
                        },
                        {
                          "const": "sequence.edit"
                        },
                        {
                          "const": "internal.shopify"
                        },
                        {
                          "const": "queue.admin"
                        },
                        {
                          "const": "part.viewer"
                        },
                        {
                          "const": "part.editor"
                        },
                        {
                          "const": "sku.viewer"
                        },
                        {
                          "const": "sku.editor"
                        },
                        {
                          "const": "orders.admin"
                        },
                        {
                          "const": "material.viewer"
                        },
                        {
                          "const": "material.editor"
                        },
                        {
                          "const": "printer.viewer"
                        },
                        {
                          "const": "printer.editor"
                        },
                        {
                          "const": "profile.viewer"
                        },
                        {
                          "const": "profile.editor"
                        },
                        {
                          "const": "settings.admin"
                        },
                        {
                          "const": "subscription.admin"
                        }
                      ]
                    }
                  }
                },
                "required": [
                  "permissions"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permissions": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "const": "organization.owner"
                        },
                        {
                          "const": "organization.edit"
                        },
                        {
                          "const": "organization.delete"
                        },
                        {
                          "const": "user.view"
                        },
                        {
                          "const": "user.invite"
                        },
                        {
                          "const": "user.edit"
                        },
                        {
                          "const": "user.delete"
                        },
                        {
                          "const": "permission.view"
                        },
                        {
                          "const": "permission.grant"
                        },
                        {
                          "const": "permission.revoke"
                        },
                        {
                          "const": "part.view"
                        },
                        {
                          "const": "part.create"
                        },
                        {
                          "const": "part.edit"
                        },
                        {
                          "const": "part.delete"
                        },
                        {
                          "const": "part.export"
                        },
                        {
                          "const": "sku.view"
                        },
                        {
                          "const": "sku.create"
                        },
                        {
                          "const": "sku.edit"
                        },
                        {
                          "const": "sku.delete"
                        },
                        {
                          "const": "material.view"
                        },
                        {
                          "const": "material.create"
                        },
                        {
                          "const": "material.edit"
                        },
                        {
                          "const": "material.delete"
                        },
                        {
                          "const": "material.instance.view"
                        },
                        {
                          "const": "material.instance.create"
                        },
                        {
                          "const": "material.instance.edit"
                        },
                        {
                          "const": "material.instance.delete"
                        },
                        {
                          "const": "printer.view"
                        },
                        {
                          "const": "printer.create"
                        },
                        {
                          "const": "printer.edit"
                        },
                        {
                          "const": "printer.delete"
                        },
                        {
                          "const": "printer.control"
                        },
                        {
                          "const": "printer.ready"
                        },
                        {
                          "const": "printer.config"
                        },
                        {
                          "const": "printer.stats"
                        },
                        {
                          "const": "printer.camera"
                        },
                        {
                          "const": "profile.view"
                        },
                        {
                          "const": "profile.create"
                        },
                        {
                          "const": "profile.edit"
                        },
                        {
                          "const": "profile.delete"
                        },
                        {
                          "const": "queue.view"
                        },
                        {
                          "const": "queue.manage"
                        },
                        {
                          "const": "queue.override"
                        },
                        {
                          "const": "job.create"
                        },
                        {
                          "const": "job.edit.own"
                        },
                        {
                          "const": "job.edit.all"
                        },
                        {
                          "const": "job.delete.own"
                        },
                        {
                          "const": "job.delete.all"
                        },
                        {
                          "const": "build.view"
                        },
                        {
                          "const": "build.create"
                        },
                        {
                          "const": "build.edit"
                        },
                        {
                          "const": "build.delete"
                        },
                        {
                          "const": "settings.view"
                        },
                        {
                          "const": "settings.edit"
                        },
                        {
                          "const": "integration.view"
                        },
                        {
                          "const": "integration.manage"
                        },
                        {
                          "const": "subscription.view"
                        },
                        {
                          "const": "subscription.manage"
                        },
                        {
                          "const": "analytics.view"
                        },
                        {
                          "const": "reports.generate"
                        },
                        {
                          "const": "audit.log.view"
                        },
                        {
                          "const": "audit.logs.configure"
                        },
                        {
                          "const": "order.view"
                        },
                        {
                          "const": "order.create"
                        },
                        {
                          "const": "order.edit"
                        },
                        {
                          "const": "order.delete"
                        },
                        {
                          "const": "order.print"
                        },
                        {
                          "const": "apiKey.view"
                        },
                        {
                          "const": "apiKey.create"
                        },
                        {
                          "const": "apiKey.edit"
                        },
                        {
                          "const": "apiKey.delete"
                        },
                        {
                          "const": "file.download"
                        },
                        {
                          "const": "maintenance.view"
                        },
                        {
                          "const": "maintenance.create"
                        },
                        {
                          "const": "maintenance.edit"
                        },
                        {
                          "const": "maintenance.delete"
                        },
                        {
                          "const": "maintenance.complete"
                        },
                        {
                          "const": "routing.manage"
                        },
                        {
                          "const": "customizer.manage"
                        },
                        {
                          "const": "macro.view"
                        },
                        {
                          "const": "macro.create"
                        },
                        {
                          "const": "macro.edit"
                        },
                        {
                          "const": "macro.delete"
                        },
                        {
                          "const": "macro.run"
                        },
                        {
                          "const": "card.view"
                        },
                        {
                          "const": "card.create"
                        },
                        {
                          "const": "card.edit"
                        },
                        {
                          "const": "card.delete"
                        },
                        {
                          "const": "layout.view"
                        },
                        {
                          "const": "layout.create"
                        },
                        {
                          "const": "layout.edit"
                        },
                        {
                          "const": "layout.delete"
                        },
                        {
                          "const": "sequence.view"
                        },
                        {
                          "const": "sequence.edit"
                        },
                        {
                          "const": "internal.shopify"
                        },
                        {
                          "const": "queue.admin"
                        },
                        {
                          "const": "part.viewer"
                        },
                        {
                          "const": "part.editor"
                        },
                        {
                          "const": "sku.viewer"
                        },
                        {
                          "const": "sku.editor"
                        },
                        {
                          "const": "orders.admin"
                        },
                        {
                          "const": "material.viewer"
                        },
                        {
                          "const": "material.editor"
                        },
                        {
                          "const": "printer.viewer"
                        },
                        {
                          "const": "printer.editor"
                        },
                        {
                          "const": "profile.viewer"
                        },
                        {
                          "const": "profile.editor"
                        },
                        {
                          "const": "settings.admin"
                        },
                        {
                          "const": "subscription.admin"
                        }
                      ]
                    }
                  }
                },
                "required": [
                  "permissions"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permissions": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "const": "organization.owner"
                        },
                        {
                          "const": "organization.edit"
                        },
                        {
                          "const": "organization.delete"
                        },
                        {
                          "const": "user.view"
                        },
                        {
                          "const": "user.invite"
                        },
                        {
                          "const": "user.edit"
                        },
                        {
                          "const": "user.delete"
                        },
                        {
                          "const": "permission.view"
                        },
                        {
                          "const": "permission.grant"
                        },
                        {
                          "const": "permission.revoke"
                        },
                        {
                          "const": "part.view"
                        },
                        {
                          "const": "part.create"
                        },
                        {
                          "const": "part.edit"
                        },
                        {
                          "const": "part.delete"
                        },
                        {
                          "const": "part.export"
                        },
                        {
                          "const": "sku.view"
                        },
                        {
                          "const": "sku.create"
                        },
                        {
                          "const": "sku.edit"
                        },
                        {
                          "const": "sku.delete"
                        },
                        {
                          "const": "material.view"
                        },
                        {
                          "const": "material.create"
                        },
                        {
                          "const": "material.edit"
                        },
                        {
                          "const": "material.delete"
                        },
                        {
                          "const": "material.instance.view"
                        },
                        {
                          "const": "material.instance.create"
                        },
                        {
                          "const": "material.instance.edit"
                        },
                        {
                          "const": "material.instance.delete"
                        },
                        {
                          "const": "printer.view"
                        },
                        {
                          "const": "printer.create"
                        },
                        {
                          "const": "printer.edit"
                        },
                        {
                          "const": "printer.delete"
                        },
                        {
                          "const": "printer.control"
                        },
                        {
                          "const": "printer.ready"
                        },
                        {
                          "const": "printer.config"
                        },
                        {
                          "const": "printer.stats"
                        },
                        {
                          "const": "printer.camera"
                        },
                        {
                          "const": "profile.view"
                        },
                        {
                          "const": "profile.create"
                        },
                        {
                          "const": "profile.edit"
                        },
                        {
                          "const": "profile.delete"
                        },
                        {
                          "const": "queue.view"
                        },
                        {
                          "const": "queue.manage"
                        },
                        {
                          "const": "queue.override"
                        },
                        {
                          "const": "job.create"
                        },
                        {
                          "const": "job.edit.own"
                        },
                        {
                          "const": "job.edit.all"
                        },
                        {
                          "const": "job.delete.own"
                        },
                        {
                          "const": "job.delete.all"
                        },
                        {
                          "const": "build.view"
                        },
                        {
                          "const": "build.create"
                        },
                        {
                          "const": "build.edit"
                        },
                        {
                          "const": "build.delete"
                        },
                        {
                          "const": "settings.view"
                        },
                        {
                          "const": "settings.edit"
                        },
                        {
                          "const": "integration.view"
                        },
                        {
                          "const": "integration.manage"
                        },
                        {
                          "const": "subscription.view"
                        },
                        {
                          "const": "subscription.manage"
                        },
                        {
                          "const": "analytics.view"
                        },
                        {
                          "const": "reports.generate"
                        },
                        {
                          "const": "audit.log.view"
                        },
                        {
                          "const": "audit.logs.configure"
                        },
                        {
                          "const": "order.view"
                        },
                        {
                          "const": "order.create"
                        },
                        {
                          "const": "order.edit"
                        },
                        {
                          "const": "order.delete"
                        },
                        {
                          "const": "order.print"
                        },
                        {
                          "const": "apiKey.view"
                        },
                        {
                          "const": "apiKey.create"
                        },
                        {
                          "const": "apiKey.edit"
                        },
                        {
                          "const": "apiKey.delete"
                        },
                        {
                          "const": "file.download"
                        },
                        {
                          "const": "maintenance.view"
                        },
                        {
                          "const": "maintenance.create"
                        },
                        {
                          "const": "maintenance.edit"
                        },
                        {
                          "const": "maintenance.delete"
                        },
                        {
                          "const": "maintenance.complete"
                        },
                        {
                          "const": "routing.manage"
                        },
                        {
                          "const": "customizer.manage"
                        },
                        {
                          "const": "macro.view"
                        },
                        {
                          "const": "macro.create"
                        },
                        {
                          "const": "macro.edit"
                        },
                        {
                          "const": "macro.delete"
                        },
                        {
                          "const": "macro.run"
                        },
                        {
                          "const": "card.view"
                        },
                        {
                          "const": "card.create"
                        },
                        {
                          "const": "card.edit"
                        },
                        {
                          "const": "card.delete"
                        },
                        {
                          "const": "layout.view"
                        },
                        {
                          "const": "layout.create"
                        },
                        {
                          "const": "layout.edit"
                        },
                        {
                          "const": "layout.delete"
                        },
                        {
                          "const": "sequence.view"
                        },
                        {
                          "const": "sequence.edit"
                        },
                        {
                          "const": "internal.shopify"
                        },
                        {
                          "const": "queue.admin"
                        },
                        {
                          "const": "part.viewer"
                        },
                        {
                          "const": "part.editor"
                        },
                        {
                          "const": "sku.viewer"
                        },
                        {
                          "const": "sku.editor"
                        },
                        {
                          "const": "orders.admin"
                        },
                        {
                          "const": "material.viewer"
                        },
                        {
                          "const": "material.editor"
                        },
                        {
                          "const": "printer.viewer"
                        },
                        {
                          "const": "printer.editor"
                        },
                        {
                          "const": "profile.viewer"
                        },
                        {
                          "const": "profile.editor"
                        },
                        {
                          "const": "settings.admin"
                        },
                        {
                          "const": "subscription.admin"
                        }
                      ]
                    }
                  }
                },
                "required": [
                  "permissions"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/users/bulk": {
      "post": {
        "tags": [
          "Users"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkUpdateUsersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkUpdateUsersResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations": {
      "get": {
        "summary": "Get all integrations",
        "description": "List all integrations in your store",
        "tags": [
          "Integrations"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "External identifier for deduplication (e.g., shopId for Etsy)"
          },
          {
            "name": "publicData",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Public metadata safe to expose to frontend"
          },
          {
            "name": "settings",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "User-configurable settings"
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of integrations",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Integration"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/search": {
      "post": {
        "summary": "Search integrations",
        "description": "Search integrations with complex filters",
        "tags": [
          "Integrations"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoIntegration"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/{id}": {
      "get": {
        "summary": "Get a specific integration by ID",
        "tags": [
          "Integrations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Integration identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/sku-builds": {
      "get": {
        "summary": "Get all SKU builds for a store",
        "tags": [
          "SKU_Builds"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuCopy",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuInstanceStart",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "selectedOptions",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of SKU builds with their part builds",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SkuBuildWithRelation"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/sku-builds/search": {
      "post": {
        "summary": "Search SKU builds",
        "description": "Search SKU builds with complex filters",
        "tags": [
          "SKU_Builds"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSkuBuild"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/sku-builds/{id}": {
      "get": {
        "summary": "Get a specific SKU build by ID",
        "tags": [
          "SKU_Builds"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU build identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "SKU build with part builds, steps, and print jobs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuBuildWithRelation"
                }
              }
            }
          }
        },
        "x-permission": "queue.view"
      }
    },
    "/v1/part-build-steps": {
      "get": {
        "summary": "Get all part build steps",
        "description": "List all part build steps in your store",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [
          {
            "name": "partBuildId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "builder",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "inputFiles",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "inputParameters",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "inputHash",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cachedBuildStepId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cachedOutputFile",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "outputFiles",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "logs",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "requiresAssignedPrinter",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "nextStepId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "startedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "completedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "dismissed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of part build steps",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PartBuildStep"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "build.view"
      }
    },
    "/v1/part-build-steps/search": {
      "post": {
        "summary": "Search part build steps",
        "description": "Search part build steps with complex filters",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPartBuildStep"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "build.view"
      }
    },
    "/v1/part-build-steps/{id}": {
      "get": {
        "summary": "Get a specific part build step by ID",
        "tags": [
          "Part_Builds"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Part build step identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Part build step details, or undefined if not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartBuildStep"
                }
              }
            }
          }
        },
        "x-permission": "build.view"
      }
    },
    "/v1/folders": {
      "get": {
        "summary": "Get all folders",
        "tags": [
          "Folders"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "parentId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all folders in the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Folder"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      },
      "post": {
        "summary": "Create a new folder",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Folder creation details",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFolderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created folder",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            }
          }
        },
        "x-permission": "part.create"
      }
    },
    "/v1/folders/search": {
      "post": {
        "summary": "Search folders",
        "description": "Search folders with complex filters",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoFolder"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/folders/move": {
      "patch": {
        "summary": "Move folders to a new parent",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Batch move request with folder IDs and new parent",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchMoveFolderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Move operation result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchMoveFolderResponse"
                }
              }
            }
          }
        },
        "x-permission": "part.edit"
      }
    },
    "/v1/folders/rename": {
      "patch": {
        "summary": "Rename a folder",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Folder ID and new name",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameFolderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated folder",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            }
          }
        },
        "x-permission": "part.edit"
      }
    },
    "/v1/folders/by-type/{type}": {
      "get": {
        "summary": "Get folders by type",
        "tags": [
          "Folders"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Folder type (part, sku, etc.)"
          }
        ],
        "responses": {
          "200": {
            "description": "List of folders of specified type",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Folder"
                  }
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/folders/parts": {
      "get": {
        "summary": "Get part folders",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of folders for parts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Folder"
                  }
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/folders/skus": {
      "get": {
        "summary": "Get SKU folders",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of folders for SKUs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Folder"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/folders/delete": {
      "delete": {
        "summary": "Delete folders",
        "tags": [
          "Folders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "List of folder IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteFolderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Deletion result with affected count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "affected": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "success",
                    "affected"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "part.delete"
      }
    },
    "/v1/folders/{id}": {
      "get": {
        "summary": "Get folder by ID",
        "tags": [
          "Folders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Folder ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested folder",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/entitlements": {
      "get": {
        "summary": "Get all entitlements",
        "tags": [
          "Entitlements"
        ],
        "parameters": [
          {
            "name": "entitlement",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "enabledAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all entitlements for the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Entitlement"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/entitlements/search": {
      "post": {
        "summary": "Search entitlements",
        "description": "Search entitlements with complex filters",
        "tags": [
          "Entitlements"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoEntitlement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/entitlements/{id}": {
      "get": {
        "summary": "Get entitlement by ID",
        "tags": [
          "Entitlements"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Entitlement ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested entitlement",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Entitlement"
                }
              }
            }
          }
        }
      }
    },
    "/v1/entitlements/check/{entitlement}": {
      "get": {
        "summary": "Check if store has specific entitlement",
        "tags": [
          "Entitlements"
        ],
        "parameters": [
          {
            "name": "entitlement",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Entitlement name to check"
          }
        ],
        "responses": {
          "200": {
            "description": "Whether the store has the entitlement",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "hasEntitlement": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "hasEntitlement"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/permissions/types": {
      "get": {
        "summary": "List permission types",
        "description": "List all available permission types",
        "tags": [
          "Permissions"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "const": "organization.owner"
                      },
                      {
                        "const": "organization.edit"
                      },
                      {
                        "const": "organization.delete"
                      },
                      {
                        "const": "user.view"
                      },
                      {
                        "const": "user.invite"
                      },
                      {
                        "const": "user.edit"
                      },
                      {
                        "const": "user.delete"
                      },
                      {
                        "const": "permission.view"
                      },
                      {
                        "const": "permission.grant"
                      },
                      {
                        "const": "permission.revoke"
                      },
                      {
                        "const": "part.view"
                      },
                      {
                        "const": "part.create"
                      },
                      {
                        "const": "part.edit"
                      },
                      {
                        "const": "part.delete"
                      },
                      {
                        "const": "part.export"
                      },
                      {
                        "const": "sku.view"
                      },
                      {
                        "const": "sku.create"
                      },
                      {
                        "const": "sku.edit"
                      },
                      {
                        "const": "sku.delete"
                      },
                      {
                        "const": "material.view"
                      },
                      {
                        "const": "material.create"
                      },
                      {
                        "const": "material.edit"
                      },
                      {
                        "const": "material.delete"
                      },
                      {
                        "const": "material.instance.view"
                      },
                      {
                        "const": "material.instance.create"
                      },
                      {
                        "const": "material.instance.edit"
                      },
                      {
                        "const": "material.instance.delete"
                      },
                      {
                        "const": "printer.view"
                      },
                      {
                        "const": "printer.create"
                      },
                      {
                        "const": "printer.edit"
                      },
                      {
                        "const": "printer.delete"
                      },
                      {
                        "const": "printer.control"
                      },
                      {
                        "const": "printer.ready"
                      },
                      {
                        "const": "printer.config"
                      },
                      {
                        "const": "printer.stats"
                      },
                      {
                        "const": "printer.camera"
                      },
                      {
                        "const": "profile.view"
                      },
                      {
                        "const": "profile.create"
                      },
                      {
                        "const": "profile.edit"
                      },
                      {
                        "const": "profile.delete"
                      },
                      {
                        "const": "queue.view"
                      },
                      {
                        "const": "queue.manage"
                      },
                      {
                        "const": "queue.override"
                      },
                      {
                        "const": "job.create"
                      },
                      {
                        "const": "job.edit.own"
                      },
                      {
                        "const": "job.edit.all"
                      },
                      {
                        "const": "job.delete.own"
                      },
                      {
                        "const": "job.delete.all"
                      },
                      {
                        "const": "build.view"
                      },
                      {
                        "const": "build.create"
                      },
                      {
                        "const": "build.edit"
                      },
                      {
                        "const": "build.delete"
                      },
                      {
                        "const": "settings.view"
                      },
                      {
                        "const": "settings.edit"
                      },
                      {
                        "const": "integration.view"
                      },
                      {
                        "const": "integration.manage"
                      },
                      {
                        "const": "subscription.view"
                      },
                      {
                        "const": "subscription.manage"
                      },
                      {
                        "const": "analytics.view"
                      },
                      {
                        "const": "reports.generate"
                      },
                      {
                        "const": "audit.log.view"
                      },
                      {
                        "const": "audit.logs.configure"
                      },
                      {
                        "const": "order.view"
                      },
                      {
                        "const": "order.create"
                      },
                      {
                        "const": "order.edit"
                      },
                      {
                        "const": "order.delete"
                      },
                      {
                        "const": "order.print"
                      },
                      {
                        "const": "apiKey.view"
                      },
                      {
                        "const": "apiKey.create"
                      },
                      {
                        "const": "apiKey.edit"
                      },
                      {
                        "const": "apiKey.delete"
                      },
                      {
                        "const": "file.download"
                      },
                      {
                        "const": "maintenance.view"
                      },
                      {
                        "const": "maintenance.create"
                      },
                      {
                        "const": "maintenance.edit"
                      },
                      {
                        "const": "maintenance.delete"
                      },
                      {
                        "const": "maintenance.complete"
                      },
                      {
                        "const": "routing.manage"
                      },
                      {
                        "const": "customizer.manage"
                      },
                      {
                        "const": "macro.view"
                      },
                      {
                        "const": "macro.create"
                      },
                      {
                        "const": "macro.edit"
                      },
                      {
                        "const": "macro.delete"
                      },
                      {
                        "const": "macro.run"
                      },
                      {
                        "const": "card.view"
                      },
                      {
                        "const": "card.create"
                      },
                      {
                        "const": "card.edit"
                      },
                      {
                        "const": "card.delete"
                      },
                      {
                        "const": "layout.view"
                      },
                      {
                        "const": "layout.create"
                      },
                      {
                        "const": "layout.edit"
                      },
                      {
                        "const": "layout.delete"
                      },
                      {
                        "const": "sequence.view"
                      },
                      {
                        "const": "sequence.edit"
                      },
                      {
                        "const": "internal.shopify"
                      },
                      {
                        "const": "queue.admin"
                      },
                      {
                        "const": "part.viewer"
                      },
                      {
                        "const": "part.editor"
                      },
                      {
                        "const": "sku.viewer"
                      },
                      {
                        "const": "sku.editor"
                      },
                      {
                        "const": "orders.admin"
                      },
                      {
                        "const": "material.viewer"
                      },
                      {
                        "const": "material.editor"
                      },
                      {
                        "const": "printer.viewer"
                      },
                      {
                        "const": "printer.editor"
                      },
                      {
                        "const": "profile.viewer"
                      },
                      {
                        "const": "profile.editor"
                      },
                      {
                        "const": "settings.admin"
                      },
                      {
                        "const": "subscription.admin"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "permission.view"
      }
    },
    "/v1/permissions": {
      "get": {
        "summary": "Get all permissions",
        "description": "List all permissions in your store",
        "tags": [
          "Permissions"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "permission",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all permissions",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Permission"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "permission.view"
      }
    },
    "/v1/permissions/search": {
      "post": {
        "summary": "Search permissions",
        "description": "Search permissions with complex filters",
        "tags": [
          "Permissions"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPermission"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "permission.view"
      }
    },
    "/v1/permissions/user/{userId}": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllPermissionsForUserResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/roles": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleSummary"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/roles/with-permissions": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleWithPermissions"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/roles/{roleId}/permissions": {
      "get": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "roleId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "const": "organization.owner"
                      },
                      {
                        "const": "organization.edit"
                      },
                      {
                        "const": "organization.delete"
                      },
                      {
                        "const": "user.view"
                      },
                      {
                        "const": "user.invite"
                      },
                      {
                        "const": "user.edit"
                      },
                      {
                        "const": "user.delete"
                      },
                      {
                        "const": "permission.view"
                      },
                      {
                        "const": "permission.grant"
                      },
                      {
                        "const": "permission.revoke"
                      },
                      {
                        "const": "part.view"
                      },
                      {
                        "const": "part.create"
                      },
                      {
                        "const": "part.edit"
                      },
                      {
                        "const": "part.delete"
                      },
                      {
                        "const": "part.export"
                      },
                      {
                        "const": "sku.view"
                      },
                      {
                        "const": "sku.create"
                      },
                      {
                        "const": "sku.edit"
                      },
                      {
                        "const": "sku.delete"
                      },
                      {
                        "const": "material.view"
                      },
                      {
                        "const": "material.create"
                      },
                      {
                        "const": "material.edit"
                      },
                      {
                        "const": "material.delete"
                      },
                      {
                        "const": "material.instance.view"
                      },
                      {
                        "const": "material.instance.create"
                      },
                      {
                        "const": "material.instance.edit"
                      },
                      {
                        "const": "material.instance.delete"
                      },
                      {
                        "const": "printer.view"
                      },
                      {
                        "const": "printer.create"
                      },
                      {
                        "const": "printer.edit"
                      },
                      {
                        "const": "printer.delete"
                      },
                      {
                        "const": "printer.control"
                      },
                      {
                        "const": "printer.ready"
                      },
                      {
                        "const": "printer.config"
                      },
                      {
                        "const": "printer.stats"
                      },
                      {
                        "const": "printer.camera"
                      },
                      {
                        "const": "profile.view"
                      },
                      {
                        "const": "profile.create"
                      },
                      {
                        "const": "profile.edit"
                      },
                      {
                        "const": "profile.delete"
                      },
                      {
                        "const": "queue.view"
                      },
                      {
                        "const": "queue.manage"
                      },
                      {
                        "const": "queue.override"
                      },
                      {
                        "const": "job.create"
                      },
                      {
                        "const": "job.edit.own"
                      },
                      {
                        "const": "job.edit.all"
                      },
                      {
                        "const": "job.delete.own"
                      },
                      {
                        "const": "job.delete.all"
                      },
                      {
                        "const": "build.view"
                      },
                      {
                        "const": "build.create"
                      },
                      {
                        "const": "build.edit"
                      },
                      {
                        "const": "build.delete"
                      },
                      {
                        "const": "settings.view"
                      },
                      {
                        "const": "settings.edit"
                      },
                      {
                        "const": "integration.view"
                      },
                      {
                        "const": "integration.manage"
                      },
                      {
                        "const": "subscription.view"
                      },
                      {
                        "const": "subscription.manage"
                      },
                      {
                        "const": "analytics.view"
                      },
                      {
                        "const": "reports.generate"
                      },
                      {
                        "const": "audit.log.view"
                      },
                      {
                        "const": "audit.logs.configure"
                      },
                      {
                        "const": "order.view"
                      },
                      {
                        "const": "order.create"
                      },
                      {
                        "const": "order.edit"
                      },
                      {
                        "const": "order.delete"
                      },
                      {
                        "const": "order.print"
                      },
                      {
                        "const": "apiKey.view"
                      },
                      {
                        "const": "apiKey.create"
                      },
                      {
                        "const": "apiKey.edit"
                      },
                      {
                        "const": "apiKey.delete"
                      },
                      {
                        "const": "file.download"
                      },
                      {
                        "const": "maintenance.view"
                      },
                      {
                        "const": "maintenance.create"
                      },
                      {
                        "const": "maintenance.edit"
                      },
                      {
                        "const": "maintenance.delete"
                      },
                      {
                        "const": "maintenance.complete"
                      },
                      {
                        "const": "routing.manage"
                      },
                      {
                        "const": "customizer.manage"
                      },
                      {
                        "const": "macro.view"
                      },
                      {
                        "const": "macro.create"
                      },
                      {
                        "const": "macro.edit"
                      },
                      {
                        "const": "macro.delete"
                      },
                      {
                        "const": "macro.run"
                      },
                      {
                        "const": "card.view"
                      },
                      {
                        "const": "card.create"
                      },
                      {
                        "const": "card.edit"
                      },
                      {
                        "const": "card.delete"
                      },
                      {
                        "const": "layout.view"
                      },
                      {
                        "const": "layout.create"
                      },
                      {
                        "const": "layout.edit"
                      },
                      {
                        "const": "layout.delete"
                      },
                      {
                        "const": "sequence.view"
                      },
                      {
                        "const": "sequence.edit"
                      },
                      {
                        "const": "internal.shopify"
                      },
                      {
                        "const": "queue.admin"
                      },
                      {
                        "const": "part.viewer"
                      },
                      {
                        "const": "part.editor"
                      },
                      {
                        "const": "sku.viewer"
                      },
                      {
                        "const": "sku.editor"
                      },
                      {
                        "const": "orders.admin"
                      },
                      {
                        "const": "material.viewer"
                      },
                      {
                        "const": "material.editor"
                      },
                      {
                        "const": "printer.viewer"
                      },
                      {
                        "const": "printer.editor"
                      },
                      {
                        "const": "profile.viewer"
                      },
                      {
                        "const": "profile.editor"
                      },
                      {
                        "const": "settings.admin"
                      },
                      {
                        "const": "subscription.admin"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/printer-commands/send": {
      "post": {
        "summary": "Send command to printers",
        "tags": [
          "Printers"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs and command to send",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendCommandRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "List of printer IDs that received the command",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.control"
      }
    },
    "/v1/settings/store": {
      "get": {
        "summary": "Get store settings",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Current settings for the store",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStoreSettingsResponse"
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      },
      "patch": {
        "summary": "Update store settings",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated store settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStoreSettingsResponse"
                }
              }
            }
          }
        },
        "x-permission": "settings.edit"
      }
    },
    "/v1/settings/slicers": {
      "get": {
        "summary": "Get available slicer versions",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of all supported slicer versions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllSlicerVersionsResponse"
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      }
    },
    "/v1/settings/notifications/search": {
      "post": {
        "summary": "Search notification settings",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Search query with filters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoNotificationSetting"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with notification settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      }
    },
    "/v1/settings/store/search": {
      "post": {
        "summary": "Search store settings",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Search query with filters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoStoreSettings"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with store settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      }
    },
    "/v1/materials": {
      "get": {
        "summary": "Get all materials",
        "description": "List all material types (e.g., PLA, PETG, ABS)",
        "tags": [
          "Materials"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "brand",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "identifier",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "filamentUserProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "filamentSystemProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "starred",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "pricePer1000g",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "All material types in your inventory",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Material"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "post": {
        "summary": "Create material",
        "description": "Create a new material type",
        "tags": [
          "Materials"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Material type data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaterialInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created material",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Material"
                }
              }
            }
          }
        },
        "x-permission": "material.create"
      },
      "delete": {
        "summary": "Delete materials",
        "description": "Delete multiple material types",
        "tags": [
          "Materials"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Material IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of deleted materials",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.delete"
      }
    },
    "/v1/materials/search": {
      "post": {
        "summary": "Search materials",
        "description": "Search materials with complex filters",
        "tags": [
          "Materials"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoMaterial"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/materials/full": {
      "get": {
        "summary": "Get full material data",
        "description": "Get complete material data including variants, groups, instances, and assignments",
        "tags": [
          "Materials"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All material-related data in one response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialsData"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/materials/variants": {
      "get": {
        "summary": "Get all variants",
        "description": "List all material variants (specific colors/brands of a material type)",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All material variants",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialVariant"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "post": {
        "summary": "Create variant",
        "description": "Create a new material variant (e.g., \"Bambu PLA Basic - Red\")\n\nVariant names are unique per material, ignoring case and surrounding\nwhitespace. Reusing an existing variant's name returns 409 Conflict.",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Variant data including material type and color",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaterialVariantInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialVariant"
                }
              }
            }
          }
        },
        "x-permission": "material.create"
      },
      "delete": {
        "summary": "Delete multiple variants",
        "description": "Delete multiple variants",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Variant IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of deleted variants",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.delete"
      }
    },
    "/v1/materials/variants/{id}": {
      "get": {
        "summary": "Get variant by ID",
        "description": "Get a specific material variant",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Variant ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialVariant"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "patch": {
        "summary": "Update variant",
        "description": "Update a variant's properties\n\nRenaming onto another variant of the same material returns 409 Conflict.",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Variant ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialMaterialVariant"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialVariant"
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Delete variant",
        "description": "Delete a material variant",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Variant ID"
          }
        ],
        "responses": {
          "200": {
            "description": "IDs of deleted resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.delete"
      }
    },
    "/v1/materials/variants/batch": {
      "post": {
        "summary": "Batch create variants",
        "description": "Create multiple variants at once\n\nAll or nothing: if any name collides with an existing variant of the same\nmaterial, or repeats another name in the request, no variants are created.",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Array of variant data",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MaterialVariantInsert"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created variants",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialVariant"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.create"
      }
    },
    "/v1/materials/groups": {
      "get": {
        "summary": "Get all groups",
        "description": "List all material groups for organizing compatible materials",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All material groups",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialGroup"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "post": {
        "summary": "Create group",
        "description": "Create a group to organize interchangeable materials",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Group name and configuration",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaterialGroupInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialGroup"
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Delete multiple groups",
        "description": "Delete multiple groups",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Group IDs to delete",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of deleted groups",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      }
    },
    "/v1/materials/groups/{id}": {
      "get": {
        "summary": "Get group by ID",
        "description": "Get a specific material group",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Group ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialGroup"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "patch": {
        "summary": "Update group",
        "description": "Update a material group's properties",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Group ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialMaterialGroup"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialGroup"
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Delete group",
        "description": "Delete a material group",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Group ID"
          }
        ],
        "responses": {
          "200": {
            "description": "IDs of deleted resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      }
    },
    "/v1/materials/group-members": {
      "get": {
        "summary": "Get all group members",
        "description": "List all group memberships (variants assigned to groups)",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All group membership records",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialGroupMember"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "post": {
        "summary": "Add group member",
        "description": "Add a variant to a group",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Variant and group IDs",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaterialGroupMemberInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created membership",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialGroupMember"
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Remove group members",
        "description": "Remove variants from groups",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Membership IDs to remove",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "IDs of removed memberships",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      }
    },
    "/v1/materials/group-members/group/{groupId}": {
      "get": {
        "summary": "Get group members",
        "description": "Get members of a specific group",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Group ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Variants in the group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialGroupMember"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/materials/group-members/{id}": {
      "get": {
        "summary": "Get group member by ID",
        "description": "Get a specific group member record",
        "tags": [
          "Material_Groups"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Membership ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The membership record",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/MaterialGroupMember"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/materials/instances": {
      "get": {
        "summary": "Get all material instances",
        "description": "List all physical filament spools in your inventory",
        "tags": [
          "Material_Instances"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All material instances (spools)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialInstance"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.instance.view"
      },
      "post": {
        "summary": "Create material instance",
        "description": "Add a new spool to your inventory",
        "tags": [
          "Material_Instances"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Spool data with variant and remaining weight",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaterialInstanceInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialInstance"
                }
              }
            }
          }
        },
        "x-permission": "material.instance.create"
      }
    },
    "/v1/materials/instances/{id}": {
      "get": {
        "summary": "Get instance by ID",
        "description": "Get a specific material instance (spool)",
        "tags": [
          "Material_Instances"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Instance ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The instance details",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/MaterialInstance"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "material.instance.view"
      },
      "put": {
        "summary": "Update material instance",
        "description": "Update spool information (e.g., remaining weight)",
        "tags": [
          "Material_Instances"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Instance ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialMaterialInstance"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialInstance"
                }
              }
            }
          }
        },
        "x-permission": "material.instance.edit"
      },
      "delete": {
        "summary": "Delete material instance",
        "description": "Remove a spool from inventory",
        "tags": [
          "Material_Instances"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Instance ID"
          }
        ],
        "responses": {
          "200": {
            "description": "IDs of deleted resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.instance.delete"
      }
    },
    "/v1/materials/printer-slots": {
      "get": {
        "summary": "Get all printer slots",
        "description": "List all printer filament slot configurations",
        "tags": [
          "Printer_Slots"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All printer slot configurations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterSlot"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      }
    },
    "/v1/materials/printer-slots/assign": {
      "patch": {
        "summary": "Assign to printer slots",
        "description": "Assign materials to printer filament slots (AMS slots)",
        "tags": [
          "Printer_Slots"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Printer IDs, visual slot positions, and material to assign",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedmaterialTypestringfilamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedvariantIdnullundefinedmaterialIdnullundefinedinstanceIdnullundefined..."
                  },
                  {
                    "$ref": "#/components/schemas/printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedinstanceIdCuid2filamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedvariantIdnullundefinedmaterialIdnullundefinedmaterialTypenullundefined"
                  },
                  {
                    "$ref": "#/components/schemas/printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedvariantIdCuid2filamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedinstanceIdnullundefinedmaterialIdnullundefinedmaterialTypenullundefined"
                  },
                  {
                    "$ref": "#/components/schemas/printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedmaterialIdCuid2filamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedinstanceIdnullundefinedvariantIdnullundefinedmaterialTypenullundefined"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "printer.edit"
      }
    },
    "/v1/materials/{materialId}/variants": {
      "get": {
        "summary": "Get variants by material",
        "description": "Get all variants of a specific material type",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [
          {
            "name": "materialId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Material type ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Variants for the material",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialVariant"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/materials/{id}/profiles": {
      "post": {
        "summary": "Assign profile to material",
        "description": "Link a slicing profile to a material for automatic profile selection",
        "tags": [
          "Materials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Material ID"
          }
        ],
        "requestBody": {
          "description": "Profile assignment data",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/modelIdstringnozzleDiameterstringuserProfileIdnullundefinedsystemProfileIdnumber"
                  },
                  {
                    "$ref": "#/components/schemas/modelIdstringnozzleDiameterstringuserProfileIdCuid2systemProfileIdnullundefined"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created profile assignments",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialProfileAssignment"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Clear material profile",
        "description": "Remove profile assignment from a material",
        "tags": [
          "Materials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Material ID"
          }
        ],
        "requestBody": {
          "description": "Profile to clear",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClearMaterialProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "material.edit"
      }
    },
    "/v1/materials/variants/{variantId}/profiles": {
      "post": {
        "summary": "Assign profile to variant",
        "description": "Link a slicing profile to a variant",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Variant ID"
          }
        ],
        "requestBody": {
          "description": "Profile assignment data",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/modelIdstringnozzleDiameterstringuserProfileIdnullundefinedsystemProfileIdnumber"
                  },
                  {
                    "$ref": "#/components/schemas/modelIdstringnozzleDiameterstringuserProfileIdCuid2systemProfileIdnullundefined"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created profile assignments",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaterialProfileAssignment"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Clear variant profile",
        "description": "Remove profile assignment from a variant",
        "tags": [
          "Material_Variants"
        ],
        "parameters": [
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Variant ID"
          }
        ],
        "requestBody": {
          "description": "Profile to clear",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClearMaterialProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "material.edit"
      }
    },
    "/v1/materials/{id}": {
      "get": {
        "summary": "Get material by ID",
        "description": "Get a single material type by ID",
        "tags": [
          "Materials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Material ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested material",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Material"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      },
      "patch": {
        "summary": "Update material",
        "description": "Update a material type's properties",
        "tags": [
          "Materials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Material ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMaterialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated material",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Material"
                }
              }
            }
          }
        },
        "x-permission": "material.edit"
      },
      "delete": {
        "summary": "Delete material",
        "description": "Delete a material type",
        "tags": [
          "Materials"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Material ID"
          }
        ],
        "responses": {
          "200": {
            "description": "IDs of deleted resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "material.delete"
      }
    },
    "/v1/material-variants": {
      "get": {
        "summary": "Get all material variants",
        "description": "List all material variants (specific colors/brands of a material type)",
        "tags": [
          "Material_Variants"
        ],
        "operationId": "materialVariants_getAll",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "filamentUserProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "filamentSystemProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "pricePer1000g",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "pressureAdvance",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaterialVariant"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/material-variants/search": {
      "post": {
        "summary": "Search material variants",
        "description": "Search material variants with filters",
        "tags": [
          "Material_Variants"
        ],
        "operationId": "materialVariants_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoMaterialVariant"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/material-profile-assignments": {
      "get": {
        "summary": "Get all material profile assignments",
        "description": "List all material-to-profile assignments for automatic profile selection",
        "tags": [
          "Materials"
        ],
        "operationId": "materialProfileAssignments_getAll",
        "parameters": [
          {
            "name": "modelId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "nozzleDiameter",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "variantId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "userProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "systemProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaterialProfileAssignment"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/material-profile-assignments/search": {
      "post": {
        "summary": "Search material profile assignments",
        "description": "Search material profile assignments with filters",
        "tags": [
          "Materials"
        ],
        "operationId": "materialProfileAssignments_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoMaterialProfileAssignment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "material.view"
      }
    },
    "/v1/printer-slots": {
      "get": {
        "summary": "Get all printer slots",
        "description": "List all printer filament slot configurations (external spool slots and AMS slots)",
        "tags": [
          "Printer_Slots"
        ],
        "operationId": "printerSlots_getAll",
        "parameters": [
          {
            "name": "printerId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "variantId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "instanceId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "expectedData",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "expectedDataSetAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "amsIndex",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Visual slot position: -1 for spool, 0+ for AMS array index"
          },
          {
            "name": "slotIndex",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Slot within AMS, or spool index for multiple spools"
          },
          {
            "name": "slot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "filamentUserProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "filamentSystemProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrinterSlot"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      }
    },
    "/v1/printer-slots/search": {
      "post": {
        "summary": "Search printer slots",
        "description": "Search printer slots with filters",
        "tags": [
          "Printer_Slots"
        ],
        "operationId": "printerSlots_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPrinterSlot"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      }
    },
    "/v1/part-material-assignments": {
      "get": {
        "summary": "Get all part material assignments",
        "description": "List all material assignments to parts for filament channel mapping",
        "tags": [
          "Parts"
        ],
        "operationId": "partMaterialAssignments_getAll",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "variantId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "index",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PartMaterialAssignment"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/part-material-assignments/search": {
      "post": {
        "summary": "Search part material assignments",
        "description": "Search part material assignments with filters",
        "tags": [
          "Parts"
        ],
        "operationId": "partMaterialAssignments_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPartMaterialAssignment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/parts/{partId}/metadata": {
      "get": {
        "summary": "Get part metadata",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "partId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Part ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Metadata for the specified part",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/PartMetadata"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "part.view"
      }
    },
    "/v1/parts/{partId}/estimate": {
      "post": {
        "summary": "Trigger part estimation",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "partId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Part ID"
          }
        ],
        "responses": {
          "201": {
            "description": "Confirmation message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "part.edit"
      }
    },
    "/v1/parts/{partId}/reprocess": {
      "post": {
        "summary": "Reprocess a part's metadata",
        "description": "Re-extract metadata, tags, and materials from the part's primary file, and\nre-upload plate images (thumbnails + skip-object pick masks). Useful for\nbackfilling newly-supported extractions (e.g. skip-object info) onto existing\nparts. The heavy, file-stable steps with their own triggers (plate splitting\nand estimation slicing) are skipped. The request resolves once reprocessing\ncompletes, and is rate-limited to once per hour per part.",
        "tags": [
          "Parts"
        ],
        "parameters": [
          {
            "name": "partId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Part ID"
          }
        ],
        "responses": {
          "201": {
            "description": "The reprocessed part",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Part"
                }
              }
            }
          }
        },
        "x-permission": "part.edit"
      }
    },
    "/v1/sku-variants/values": {
      "get": {
        "summary": "Get all variant values for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of variant values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Variant value data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created variant value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/values": {
      "get": {
        "summary": "Get all variant values for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of variant values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Variant value data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created variant value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/values/{id}": {
      "get": {
        "summary": "Get a specific variant value by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant value identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Variant value details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant value identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated variant value data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated variant value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant value identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/values/{id}": {
      "get": {
        "summary": "Get a specific variant value by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant value identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Variant value details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant value identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated variant value data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated variant value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant value identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/values/reorder": {
      "post": {
        "summary": "Reorder a variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Reorder request with value ID and new order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderSkuOptionValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/values/reorder": {
      "post": {
        "summary": "Reorder a variant value",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Reorder request with value ID and new order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderSkuOptionValueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/props": {
      "get": {
        "summary": "Get all variant properties for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of variant properties",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionProperty"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Variant property data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionPropertyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created variant property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionProperty"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/props": {
      "get": {
        "summary": "Get all variant properties for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of variant properties",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionProperty"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Variant property data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionPropertyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created variant property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionProperty"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/props/{id}": {
      "get": {
        "summary": "Get a specific variant property by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Variant property details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionProperty"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated property data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionPropertyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated variant property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionProperty"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/props/{id}": {
      "get": {
        "summary": "Get a specific variant property by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Variant property details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionProperty"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated property data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionPropertyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated variant property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionProperty"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/props/reorder": {
      "post": {
        "summary": "Reorder a variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Reorder request with property ID and new order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderSkuOptionPropertyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/props/reorder": {
      "post": {
        "summary": "Reorder a variant property",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Reorder request with property ID and new order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderSkuOptionPropertyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/prop-values": {
      "get": {
        "summary": "Get all property values for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of property values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionPropertyValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create multiple property values",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Bulk create request with property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkCreatePropertyValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created property values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionPropertyValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "patch": {
        "summary": "Update multiple property values",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Bulk update request with property value updates",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkUpdatePropertyValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete multiple property values",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Bulk delete request with IDs",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDeleteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/prop-values": {
      "get": {
        "summary": "Get all property values for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of property values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionPropertyValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create multiple property values",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Bulk create request with property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkCreatePropertyValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created property values",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionPropertyValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "patch": {
        "summary": "Update multiple property values",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Bulk update request with property value updates",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkUpdatePropertyValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete multiple property values",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Bulk delete request with IDs",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDeleteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/prop-values/{id}": {
      "get": {
        "summary": "Get a specific property value by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property value identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Property value details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionPropertyValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/prop-values/{id}": {
      "get": {
        "summary": "Get a specific property value by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Property value identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Property value details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionPropertyValue"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants": {
      "get": {
        "summary": "Get all SKU variants for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isPersonalization",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of SKU variants",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SkuOption"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new SKU variant",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- SKU variant data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created SKU variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOption"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options": {
      "get": {
        "summary": "Get all SKU variants for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isPersonalization",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of SKU variants",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SkuOption"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new SKU variant",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- SKU variant data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created SKU variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOption"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/search": {
      "post": {
        "summary": "Search SKU options",
        "description": "Search SKU options with complex filters",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSkuOption"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/search": {
      "post": {
        "summary": "Search SKU options",
        "description": "Search SKU options with complex filters",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSkuOption"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants/{groupId}/values": {
      "get": {
        "summary": "Get variant values for a specific group",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant group identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of variant values in the group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/{groupId}/values": {
      "get": {
        "summary": "Get variant values for a specific group",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Variant group identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of variant values in the group",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants/bindings": {
      "get": {
        "summary": "Get all variant bindings for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of variant bindings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionBinding"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Variant binding data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created variant binding",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionBinding"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/bindings": {
      "get": {
        "summary": "Get all variant bindings for a store",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of variant bindings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionBinding"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Variant binding data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkuOptionBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created variant binding",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionBinding"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/bindings/{id}": {
      "get": {
        "summary": "Get a specific variant binding by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Variant binding details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionBinding"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated binding data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated variant binding",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionBinding"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/bindings/{id}": {
      "get": {
        "summary": "Get a specific variant binding by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Variant binding details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionBinding"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated binding data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated variant binding",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOptionBinding"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/bindings/{id}/properties": {
      "get": {
        "summary": "Get SKU-specific properties",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of SKU-specific properties that use this binding as a source",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionProperty"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/bindings/{id}/properties": {
      "get": {
        "summary": "Get SKU-specific properties",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Binding identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of SKU-specific properties that use this binding as a source",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionProperty"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants/bindings/reorder": {
      "post": {
        "summary": "Reorder a variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Reorder request with binding ID and new order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderSkuOptionBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/bindings/reorder": {
      "post": {
        "summary": "Reorder a variant binding",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Reorder request with binding ID and new order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderSkuOptionBindingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Void",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/{id}": {
      "get": {
        "summary": "Get a specific SKU variant by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU variant identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "SKU variant details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOption"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a SKU variant",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU variant identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated SKU variant data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated SKU variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOption"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a SKU variant",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU variant identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/{id}": {
      "get": {
        "summary": "Get a specific SKU variant by ID",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU variant identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "SKU variant details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOption"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a SKU variant",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU variant identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated SKU variant data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkuOptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated SKU variant",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuOption"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a SKU variant",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU variant identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/filters/{skuId}/{optionId}": {
      "get": {
        "summary": "Get value filters for a SKU and option",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU identifier"
          },
          {
            "name": "optionId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Option identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of value filters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValueFilter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/filters/{skuId}/{optionId}": {
      "get": {
        "summary": "Get value filters for a SKU and option",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU identifier"
          },
          {
            "name": "optionId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Option identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of value filters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValueFilter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants/filters/{skuId}": {
      "get": {
        "summary": "Get all value filters for a SKU",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all value filters for the SKU",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValueFilter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/filters/{skuId}": {
      "get": {
        "summary": "Get all value filters for a SKU",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all value filters for the SKU",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValueFilter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants/filters": {
      "put": {
        "summary": "Set filtered values for a SKU option",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Filter configuration with SKU, option, and allowed values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetFilteredValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated value filters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValueFilter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/filters": {
      "put": {
        "summary": "Set filtered values for a SKU option",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- Filter configuration with SKU, option, and allowed values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetFilteredValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated value filters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValueFilter"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/filters/{id}": {
      "delete": {
        "summary": "Remove a value filter",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Filter identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-options/filters/{id}": {
      "delete": {
        "summary": "Remove a value filter",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Filter identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Array of deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-variants/filtered-values/{skuId}/{optionId}": {
      "get": {
        "summary": "Get filtered option values for a SKU",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU identifier"
          },
          {
            "name": "optionId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Option identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of allowed option values after filtering",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/filtered-values/{skuId}/{optionId}": {
      "get": {
        "summary": "Get filtered option values for a SKU",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - SKU identifier"
          },
          {
            "name": "optionId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " - Option identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of allowed option values after filtering",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuOptionValue"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-variants/sku-match/{skuString}": {
      "get": {
        "summary": "Match a SKU string with variants",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuString",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU string to match"
          }
        ],
        "responses": {
          "200": {
            "description": "Matched SKU with variants or null",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/SkuMatchResult"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-options/sku-match/{skuString}": {
      "get": {
        "summary": "Match a SKU string with variants",
        "tags": [
          "SKU_Variants"
        ],
        "parameters": [
          {
            "name": "skuString",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU string to match"
          }
        ],
        "responses": {
          "200": {
            "description": "Matched SKU with variants or null",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/SkuMatchResult"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/cost-components": {
      "get": {
        "summary": "Get all cost components",
        "tags": [
          "Cost_Catalog"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "rate",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all cost components",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CostComponent"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      },
      "post": {
        "summary": "Create new cost component",
        "tags": [
          "Cost_Catalog"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Cost component details",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "oneOf": [
                      {
                        "const": "material"
                      },
                      {
                        "const": "labor"
                      },
                      {
                        "const": "overhead"
                      }
                    ]
                  },
                  "unit": {
                    "type": "string"
                  },
                  "rate": {
                    "type": "number"
                  },
                  "description": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "id": {
                    "type": "string"
                  },
                  "storeId": {
                    "type": "string"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "unit",
                  "rate"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created cost component",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostComponent"
                }
              }
            }
          }
        },
        "x-permission": "settings.edit"
      }
    },
    "/v1/cost-components/search": {
      "post": {
        "summary": "Search cost components",
        "description": "Search cost components with complex filters",
        "tags": [
          "Cost_Catalog"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoCostComponent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      }
    },
    "/v1/cost-components/{id}": {
      "get": {
        "summary": "Get cost component by ID",
        "tags": [
          "Cost_Catalog"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Cost component ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested cost component",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostComponent"
                }
              }
            }
          }
        },
        "x-permission": "settings.view"
      },
      "patch": {
        "summary": "Update cost component",
        "tags": [
          "Cost_Catalog"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Cost component ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Partial__type.o16"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated cost component",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostComponent"
                }
              }
            }
          }
        },
        "x-permission": "settings.edit"
      },
      "delete": {
        "summary": "Delete cost component",
        "tags": [
          "Cost_Catalog"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Cost component ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "settings.edit"
      }
    },
    "/v1/sku-costs": {
      "get": {
        "summary": "Get all SKU costs for a store",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "costComponentId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of SKU costs",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SkuCost"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "post": {
        "summary": "Create a new SKU cost",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [],
        "requestBody": {
          "description": "- SKU cost data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "skuId": {
                    "type": "string"
                  },
                  "costComponentId": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "storeId": {
                    "type": "string"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "quantity": {
                    "type": "number"
                  }
                },
                "required": [
                  "skuId",
                  "costComponentId"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created SKU cost",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuCost"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-costs/search": {
      "post": {
        "summary": "Search SKU costs",
        "description": "Search SKU costs with complex filters",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSkuCost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/sku-costs/{id}": {
      "get": {
        "summary": "Get a specific SKU cost by ID",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU cost identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "SKU cost details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuCost"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "patch": {
        "summary": "Update a SKU cost",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU cost identifier"
          }
        ],
        "requestBody": {
          "description": "- Updated SKU cost data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Partial__type.o17"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated SKU cost",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkuCost"
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      },
      "delete": {
        "summary": "Delete a SKU cost",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU cost identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Success status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-costs/by-sku/{skuId}": {
      "get": {
        "summary": "Get all costs for a specific SKU",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of costs with component details for the SKU",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkuCostWithComponent"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      },
      "delete": {
        "summary": "Delete all costs for a specific SKU",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Success status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "success"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sku.edit"
      }
    },
    "/v1/sku-costs/breakdown/{skuId}": {
      "get": {
        "summary": "Get cost breakdown for a specific SKU",
        "tags": [
          "SKU_Costs"
        ],
        "parameters": [
          {
            "name": "skuId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " - SKU identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed breakdown of all costs for the SKU",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostBreakdown"
                }
              }
            }
          }
        },
        "x-permission": "sku.view"
      }
    },
    "/v1/custom-metadata-definitions": {
      "get": {
        "summary": "List custom field definitions",
        "description": "Definitions are reference data: the values editor on every detail page\nneeds them to render the right input and to warn on near-miss keys, so\nreads are open to any store member. Authoring is gated on routing.manage.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "key",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "valueType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "enumValues",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "defaultValue",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Written into a record's `customMetadata` when that record is created, so\nthe field is on every new record of its type. This is the only way a\ndefinition puts itself on a record: a field with no value is not listed,\nbecause a row the record does not carry is a row that lies about it.\nNever applied to records that already exist."
          },
          {
            "name": "defaultToNow",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Date/time fields only, and the only default they can carry: the value is\nthe moment the record was created. A fixed date is almost never the right\ndefault, and there is no way to express \"now\" as a literal."
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CustomMetadataDefinition"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Define a custom field",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomMetadataDefinitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataDefinition"
                }
              }
            }
          }
        },
        "x-permission": "routing.manage"
      }
    },
    "/v1/custom-metadata-definitions/search": {
      "post": {
        "summary": "Search custom field definitions",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoCustomMetadataDefinition"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/custom-metadata-definitions/usage": {
      "get": {
        "summary": "Custom field usage across the store",
        "description": "Usage counts behind the definitions manager: how many rows each defined\nkey is set on.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataUsageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/custom-metadata-definitions/coercion-preview": {
      "get": {
        "summary": "Preview typing a custom field",
        "description": "Dry-run for typing a key: reports how many stored values would not survive\nthe type so the client can name them before anything is written. The\nreport names raw stored values and entity ids, so it carries the same\npermission as the define it precedes rather than being open to any member.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "key",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "valueType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "enumValues",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataCoercionReport"
                }
              }
            }
          }
        },
        "x-permission": "routing.manage"
      }
    },
    "/v1/custom-metadata-definitions/{id}": {
      "get": {
        "summary": "Get a custom field definition by ID",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataDefinition"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update a custom field definition",
        "description": "The key is immutable: it is both the jsonb key and the identity a routing\nrule stores, so renaming it would need a value rewrite plus AST rewrites.\nLabel, unit, type and enum values are all editable.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomMetadataDefinitionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataDefinition"
                }
              }
            }
          }
        },
        "x-permission": "routing.manage"
      },
      "delete": {
        "summary": "Remove a custom field definition",
        "description": "Removing a definition returns the key to freeform: stored values are left\nalone and stay editable, they simply stop being validated and stop being\nvisible to routing rules.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "routing.manage"
      }
    },
    "/v1/custom-metadata/{entityType}/{entityId}": {
      "patch": {
        "summary": "Merge custom field values into a record",
        "description": "Merges the submitted fields into what the record already holds: keys not\nmentioned are left alone, and a key sent as `null` is removed. The record\nis locked for the merge, so two callers writing different keys at the same\nmoment cannot lose each other's changes.\n\nRequires the same permission as editing the record itself — `part.edit` for\na part, `printer.edit` for a printer, and so on.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "schema": {
              "oneOf": [
                {
                  "const": "order"
                },
                {
                  "const": "sku"
                },
                {
                  "const": "printer"
                },
                {
                  "const": "part"
                },
                {
                  "const": "material"
                },
                {
                  "const": "materialVariant"
                },
                {
                  "const": "printJob"
                },
                {
                  "const": "partBuild"
                },
                {
                  "const": "profile"
                },
                {
                  "const": "materialInstance"
                },
                {
                  "const": "maintenanceItem"
                },
                {
                  "const": "customer"
                },
                {
                  "const": "orderItem"
                },
                {
                  "const": "folder"
                }
              ]
            },
            "required": true
          },
          {
            "name": "entityId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomMetadataValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataValueResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit, part.edit, sku.edit, order.edit, material.edit, material.instance.edit, job.edit.all, build.edit, profile.edit, maintenance.edit"
      },
      "put": {
        "summary": "Replace custom field values on a record",
        "description": "Replaces the record's custom fields with exactly the submitted document.\nAnything the record held and the body omits is removed; `{}` clears them\nall.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "schema": {
              "oneOf": [
                {
                  "const": "order"
                },
                {
                  "const": "sku"
                },
                {
                  "const": "printer"
                },
                {
                  "const": "part"
                },
                {
                  "const": "material"
                },
                {
                  "const": "materialVariant"
                },
                {
                  "const": "printJob"
                },
                {
                  "const": "partBuild"
                },
                {
                  "const": "profile"
                },
                {
                  "const": "materialInstance"
                },
                {
                  "const": "maintenanceItem"
                },
                {
                  "const": "customer"
                },
                {
                  "const": "orderItem"
                },
                {
                  "const": "folder"
                }
              ]
            },
            "required": true
          },
          {
            "name": "entityId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomMetadataValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomMetadataValueResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit, part.edit, sku.edit, order.edit, material.edit, material.instance.edit, job.edit.all, build.edit, profile.edit, maintenance.edit"
      }
    },
    "/v1/custom-metadata/{entityType}": {
      "patch": {
        "summary": "Merge custom field values into many records",
        "description": "The merge above across many records of one type in one call. Each item\ncarries its own fields, so a table of edits lands in a single request\nrather than one per row; stamping one value across a selection is the same\ncall with the same fields repeated on every item.\n\nThe batch is all-or-nothing: it runs in one transaction, and an unknown id\nrejects the whole call with nothing written. Up to 200 items per call.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "schema": {
              "oneOf": [
                {
                  "const": "order"
                },
                {
                  "const": "sku"
                },
                {
                  "const": "printer"
                },
                {
                  "const": "part"
                },
                {
                  "const": "material"
                },
                {
                  "const": "materialVariant"
                },
                {
                  "const": "printJob"
                },
                {
                  "const": "partBuild"
                },
                {
                  "const": "profile"
                },
                {
                  "const": "materialInstance"
                },
                {
                  "const": "maintenanceItem"
                },
                {
                  "const": "customer"
                },
                {
                  "const": "orderItem"
                },
                {
                  "const": "folder"
                }
              ]
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchCustomMetadataValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchCustomMetadataValuesResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit, part.edit, sku.edit, order.edit, material.edit, material.instance.edit, job.edit.all, build.edit, profile.edit, maintenance.edit"
      },
      "put": {
        "summary": "Replace custom field values on many records",
        "description": "The replace above across many records of one type in one call. Every item\nends up holding exactly the document submitted for it. Same all-or-nothing\nrule and 200-item cap as the batch merge.",
        "tags": [
          "Custom_Fields"
        ],
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "schema": {
              "oneOf": [
                {
                  "const": "order"
                },
                {
                  "const": "sku"
                },
                {
                  "const": "printer"
                },
                {
                  "const": "part"
                },
                {
                  "const": "material"
                },
                {
                  "const": "materialVariant"
                },
                {
                  "const": "printJob"
                },
                {
                  "const": "partBuild"
                },
                {
                  "const": "profile"
                },
                {
                  "const": "materialInstance"
                },
                {
                  "const": "maintenanceItem"
                },
                {
                  "const": "customer"
                },
                {
                  "const": "orderItem"
                },
                {
                  "const": "folder"
                }
              ]
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchCustomMetadataValuesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchCustomMetadataValuesResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit, part.edit, sku.edit, order.edit, material.edit, material.instance.edit, job.edit.all, build.edit, profile.edit, maintenance.edit"
      }
    },
    "/v1/hints": {
      "get": {
        "summary": "Get path schema",
        "description": "Get schema for an API endpoint\n\nReturns request/response schemas for the specified API path,\nincluding parameters, request body, and response types.",
        "tags": [
          "Hints"
        ],
        "parameters": [
          {
            "name": "0",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/hints/schema/types": {
      "get": {
        "summary": "List available types",
        "description": "List available type schemas\n\nReturns the names of all data types that have schemas available.",
        "tags": [
          "Hints"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/hints/schema/types/{typeName}": {
      "get": {
        "summary": "Get type schema",
        "description": "Get JSON schema for a data type\n\nReturns the full JSON schema for the specified data type,\nuseful for LLM introspection. Resolves $refs for readability.",
        "tags": [
          "Hints"
        ],
        "parameters": [
          {
            "name": "typeName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/hints/schema/paths": {
      "get": {
        "summary": "List available paths",
        "description": "List available API paths\n\nReturns all API endpoint paths that have schema definitions.",
        "tags": [
          "Hints"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/audit-logs": {
      "get": {
        "tags": [
          "Audit_Logs"
        ],
        "parameters": [
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "metadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "entityIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "action",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "detailedAction",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "changes",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "actorId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "actorType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "actorEmail",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "apiKeyId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "impersonatedBy",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "correlationId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "ipAddress",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "userAgent",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "reason",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          },
          {
            "name": "entityIdSearch",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "source": {
                            "oneOf": [
                              {
                                "const": "webhook"
                              },
                              {
                                "const": "system"
                              },
                              {
                                "const": "scheduler"
                              },
                              {
                                "const": "web"
                              },
                              {
                                "const": "api"
                              },
                              {
                                "const": "cli"
                              }
                            ]
                          },
                          "metadata": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "$ref": "#/components/schemas/Recordstringunknown"
                              }
                            ]
                          },
                          "id": {
                            "type": "string"
                          },
                          "storeId": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "entityType": {
                            "type": "string"
                          },
                          "entityId": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "entityIds": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            ]
                          },
                          "action": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "const": "create"
                              },
                              {
                                "const": "update"
                              },
                              {
                                "const": "delete"
                              },
                              {
                                "const": "bulk_create"
                              },
                              {
                                "const": "bulk_update"
                              },
                              {
                                "const": "bulk_delete"
                              },
                              {
                                "const": "login"
                              },
                              {
                                "const": "logout"
                              },
                              {
                                "const": "export"
                              },
                              {
                                "const": "import"
                              },
                              {
                                "const": "sensitive_access"
                              }
                            ]
                          },
                          "detailedAction": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "changes": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "$ref": "#/components/schemas/FieldChange"
                                }
                              }
                            ]
                          },
                          "actorId": {
                            "type": "string"
                          },
                          "actorType": {
                            "oneOf": [
                              {
                                "const": "user"
                              },
                              {
                                "const": "api_key"
                              },
                              {
                                "const": "webhook"
                              },
                              {
                                "const": "system"
                              },
                              {
                                "const": "scheduler"
                              },
                              {
                                "const": "fuse"
                              }
                            ]
                          },
                          "actorEmail": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "apiKeyId": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "impersonatedBy": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "correlationId": {
                            "type": "string"
                          },
                          "ipAddress": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "userAgent": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "reason": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          }
                        },
                        "required": [
                          "source",
                          "metadata",
                          "id",
                          "storeId",
                          "createdAt",
                          "entityType",
                          "entityId",
                          "entityIds",
                          "action",
                          "detailedAction",
                          "changes",
                          "actorId",
                          "actorType",
                          "actorEmail",
                          "apiKeyId",
                          "impersonatedBy",
                          "correlationId",
                          "ipAddress",
                          "userAgent",
                          "reason"
                        ]
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/audit-logs/search": {
      "post": {
        "tags": [
          "Audit_Logs"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDto__type"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/settings/user": {
      "get": {
        "summary": "Get user settings",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Current user settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserSettingsResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update user settings",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated user settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserSettingsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/maintenance/items": {
      "get": {
        "summary": "List maintenance items",
        "description": "List all maintenance items for the store",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaintenanceItem"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.view"
      },
      "post": {
        "summary": "Create maintenance item",
        "description": "Create a new maintenance item",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MaintenanceItemInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaintenanceItem"
                }
              }
            }
          }
        },
        "x-permission": "maintenance.create"
      }
    },
    "/v1/maintenance/items/{id}": {
      "patch": {
        "summary": "Update maintenance item",
        "description": "Update a maintenance item",
        "tags": [
          "Maintenance"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialPickMaintenanceItemnamecustomMetadatatriggerTypeintervalwarningThresholdPctnotes"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaintenanceItem"
                }
              }
            }
          }
        },
        "x-permission": "maintenance.edit"
      },
      "delete": {
        "summary": "Delete maintenance item",
        "description": "Delete a maintenance item",
        "tags": [
          "Maintenance"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "maintenance.delete"
      }
    },
    "/v1/maintenance/items/{id}/duplicate": {
      "post": {
        "summary": "Duplicate maintenance item",
        "description": "Duplicate a maintenance item",
        "tags": [
          "Maintenance"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaintenanceItem"
                }
              }
            }
          }
        },
        "x-permission": "maintenance.create"
      }
    },
    "/v1/maintenance/fleet-status": {
      "get": {
        "summary": "Get fleet maintenance status",
        "description": "Get maintenance status for all enrolled printers",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaintenanceStatusInfo"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.view"
      }
    },
    "/v1/maintenance/enrollments": {
      "get": {
        "summary": "List enrollments",
        "description": "List all maintenance enrollments for the store",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterMaintenanceEnrollment"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.view"
      },
      "post": {
        "summary": "Enroll printers",
        "description": "Enroll printers in a maintenance item",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "maintenanceItemId": {
                    "type": "string"
                  },
                  "enrollments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "printerId": {
                          "type": "string"
                        },
                        "currentOffset": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "printerId"
                      ]
                    }
                  }
                },
                "required": [
                  "maintenanceItemId",
                  "enrollments"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterMaintenanceEnrollment"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.edit"
      },
      "delete": {
        "summary": "Unenroll printers",
        "description": "Unenroll printers from maintenance items",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enrollmentIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "enrollmentIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "maintenance.edit"
      }
    },
    "/v1/maintenance/printers/{printerId}/status": {
      "get": {
        "summary": "Get printer maintenance status",
        "description": "Get maintenance enrollments and status for a specific printer",
        "tags": [
          "Maintenance"
        ],
        "parameters": [
          {
            "name": "printerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaintenanceStatusInfo"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.view"
      }
    },
    "/v1/maintenance/mark-done": {
      "post": {
        "summary": "Mark maintenance done",
        "description": "Mark maintenance as done for one or more enrollments",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enrollmentIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "userId": {
                    "type": "string"
                  }
                },
                "required": [
                  "enrollmentIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "maintenance.complete"
      }
    },
    "/v1/maintenance/history": {
      "get": {
        "summary": "Get completion history",
        "description": "Get maintenance completion history",
        "tags": [
          "Maintenance"
        ],
        "parameters": [
          {
            "name": "printerId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MaintenanceCompletionLog"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.view"
      }
    },
    "/v1/maintenance/recommended-profiles": {
      "get": {
        "summary": "Get recommended maintenance profiles",
        "description": "Get the recommended maintenance profile mapping (item name -> model codes).\nGlobal reference data, not per-store.",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordstringArraystring"
                }
              }
            }
          }
        },
        "x-permission": "maintenance.view"
      }
    },
    "/v1/maintenance/recommended-enrollments": {
      "post": {
        "summary": "Enroll recommended maintenance",
        "description": "Enroll printers in recommended maintenance plans based on their model",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "printerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "offsets": {
                    "$ref": "#/components/schemas/RecordstringRecordstringnumber"
                  }
                },
                "required": [
                  "printerIds",
                  "offsets"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "enrolledCount": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "enrolledCount"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "maintenance.edit"
      }
    },
    "/v1/maintenance/mode": {
      "patch": {
        "summary": "Set maintenance mode",
        "description": "Toggle maintenance mode on or off for one or more printers.\nEntitlement is checked inside the service only when enabling,\nso users can always turn maintenance mode off.",
        "tags": [
          "Maintenance"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "printerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "printerIds",
                  "enabled"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Printer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "maintenance.edit"
      }
    },
    "/v1/printer-throttle-groups": {
      "get": {
        "summary": "List Staggered Start groups",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "enabled",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "maxConcurrentStarts",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "releaseConditions",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fallbackTimeoutSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "temperatureToleranceC",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrinterThrottleGroup"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      },
      "post": {
        "summary": "Create Staggered Start group",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrinterThrottleGroupInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrinterThrottleGroup"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      }
    },
    "/v1/printer-throttle-groups/leases": {
      "get": {
        "summary": "List Staggered Start holds",
        "description": "List Staggered Start holds (leases). By default returns only the **active**\nholds (`releasedAt` is null) — the printers currently reserving or warming a\nslot. Each lease carries `groupId`, `printerId`, `warmupStartedAt` (set once\nthe job is sent and the printer is heating), and `releasedAt`. Count the\nones with a non-null `warmupStartedAt` to get how many printers are warming\nright now. Pass `includeReleased=true` for the full history.",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "includeReleased",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Include released (historical) holds, not just the active ones",
            "description": "Include released (historical) holds, not just the active ones."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterThrottleLease"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      }
    },
    "/v1/printer-throttle-groups/{id}": {
      "get": {
        "summary": "Get Staggered Start group",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrinterThrottleGroup"
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      },
      "patch": {
        "summary": "Update Staggered Start group",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialPickPrinterThrottleGroupnameenabledmaxConcurrentStartsreleaseConditionsfallbackTimeoutSecondstemperatureToleranceC"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrinterThrottleGroup"
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      },
      "delete": {
        "summary": "Delete Staggered Start group",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      }
    },
    "/v1/printer-throttle-groups/{id}/members": {
      "get": {
        "summary": "List Staggered Start group members",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterThrottleGroupMember"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.view"
      },
      "put": {
        "summary": "Replace Staggered Start group members",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplacePrinterThrottleGroupMembersBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrinterThrottleGroupMember"
                  }
                }
              }
            }
          }
        },
        "x-permission": "printer.edit"
      }
    },
    "/v1/printer-throttle-groups/leases/{id}/release": {
      "post": {
        "summary": "Release a Staggered Start hold",
        "description": "Operator action (A): release an active Staggered Start hold, freeing its\ngroup's capacity. Gated by `printer.control` (operational, can raise power\ndraw), not the settings-level `printer.edit`.",
        "tags": [
          "Staggered_Start"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "released": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "released"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "printer.control"
      }
    },
    "/v1/print-history": {
      "get": {
        "tags": [
          "Print_History"
        ],
        "parameters": [
          {
            "name": "printJobId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "attemptNumber",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "taskId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "finalStatus",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partBuildId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityIndex",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityTotal",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerDeviceId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerProvider",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerModelName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerVendorName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "queuedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cancelledAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "endedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printDurationSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "errorMessage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialUsageId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalUsed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalUsedGrams",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "usedBySlot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          {
            "name": "usedGramsBySlot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          {
            "name": "slotMaterials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          {
            "name": "materialMapping",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalLayers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "completedLayers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skippedObjects",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedPrintTimeSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedTotalWeightGrams",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedMaterials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicerVersion",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "overriddenProcessProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gcodeAnalysisSha256",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicedGcodeUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "thumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "coloredThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cameraThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "timelapseUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "logsUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gatewayTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fuseTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrintHistory"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/print-history/search": {
      "post": {
        "tags": [
          "Print_History"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoPrintHistory"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/getting-started/steps": {
      "get": {
        "summary": "Get completed Getting Started steps",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Completed checklist steps for the store",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GettingStartedStep"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/getting-started/steps/{stepKey}/complete": {
      "post": {
        "summary": "Mark a Getting Started step complete",
        "tags": [
          "Settings"
        ],
        "parameters": [
          {
            "name": "stepKey",
            "in": "path",
            "schema": {
              "oneOf": [
                {
                  "const": "connect-printers"
                },
                {
                  "const": "configure-printer-slicing"
                },
                {
                  "const": "setup-materials"
                },
                {
                  "const": "assign-printer-materials"
                },
                {
                  "const": "upload-first-part"
                },
                {
                  "const": "start-first-print"
                },
                {
                  "const": "create-first-sku"
                },
                {
                  "const": "explore-addons"
                },
                {
                  "const": "review-account-settings"
                }
              ]
            },
            "required": true,
            "description": " Step to mark complete"
          }
        ],
        "requestBody": {
          "description": "Completion source (auto-detected or manual)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteGettingStartedStepRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The completed step (existing row if already complete)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GettingStartedStep"
                }
              }
            }
          }
        }
      }
    },
    "/v1/getting-started/reset": {
      "post": {
        "summary": "Reset Getting Started progress",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v1/getting-started/visibility": {
      "post": {
        "summary": "Show or hide the Getting Started checklist",
        "tags": [
          "Settings"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Desired visibility",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetGettingStartedVisibilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v1/customizer/configs": {
      "get": {
        "summary": "List customizer configs",
        "description": "List all customizer configs for the store.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomizerConfig"
                  }
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "post": {
        "summary": "Create customizer config",
        "description": "Create a customizer config for a SKU.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizerConfigInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerConfig"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/configs/{id}": {
      "get": {
        "summary": "Get customizer config",
        "description": "Get one customizer config by id.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerConfig"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "patch": {
        "summary": "Update customizer config",
        "description": "Update a customizer config.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizerConfigUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerConfig"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "delete": {
        "summary": "Delete customizer config",
        "description": "Delete a customizer config.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/configs/example": {
      "post": {
        "summary": "Add example customizer config",
        "description": "Create a starter example config from the bundled\n\"Motorcycle License Plate Frame Example\" template. Every call\ncreates a fresh instance — the admin UI exposes this via the\n\"Add Example Configuration\" button.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerConfig"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/configs/{configId}/background-svg": {
      "post": {
        "summary": "Upload background SVG",
        "description": "Upload a background/mask SVG for a customizer config. The SVG's\n`viewBox` is parsed and stored alongside the file path under\n`configJson.backgroundSvg`. Re-uploading overwrites the existing file.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BackgroundSvgUploadBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerConfig"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "delete": {
        "summary": "Delete background SVG",
        "description": "Remove the background/mask SVG for a customizer config.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerConfig"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/configs/sku-colors": {
      "post": {
        "summary": "Get colors for SKUs",
        "description": "Discover distinct color swatches used by the given SKUs. Used by the\nadmin editor to auto-import a SKU's possible colors into a config's\ncolor list when a SKU is paired.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizerSkuColorsBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomizerColorEntry"
                  }
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/designs/simulate": {
      "post": {
        "summary": "Preview customizer build overlay",
        "description": "Local-dev: preview the OpenSCAD build payload that WOULD be\nassembled for a given customizer design — without creating an\nOrderItem or queueing a build. Used by the customizer's local\nAdd-to-Cart shortcut while Shopify is cut out of the loop.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "designId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  },
                  "configId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "designId"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "designId": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "files": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slot": {
                            "type": "string"
                          },
                          "role": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "color": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "contentType": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "storagePath": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "slot",
                          "role",
                          "color",
                          "contentType",
                          "storagePath"
                        ]
                      }
                    },
                    "inputFilesBySlot": {
                      "$ref": "#/components/schemas/Recordstringstring"
                    },
                    "overlayParams": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "config": {
                      "oneOf": [
                        {
                          "type": "null"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "pattern": "^[a-z0-9]{24}$"
                            },
                            "name": {
                              "oneOf": [
                                {
                                  "type": "null"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "skuIds": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "pattern": "^[a-z0-9]{24}$"
                              }
                            }
                          },
                          "required": [
                            "id",
                            "name",
                            "skuIds"
                          ]
                        }
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "designId",
                    "files",
                    "inputFilesBySlot",
                    "overlayParams",
                    "config",
                    "message"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/designs": {
      "get": {
        "summary": "List customizer designs",
        "description": "List submitted customizer designs for the store.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomizerDesign"
                  }
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/designs/{id}": {
      "get": {
        "summary": "Get customizer design",
        "description": "Get one customizer design by id.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerDesign"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/designs/{id}/svg": {
      "get": {
        "summary": "Get design SVG",
        "description": "Get the raw SVG payload for a design.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DesignSvgResponse"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/designs/{id}/with-files": {
      "get": {
        "summary": "Get design with per-layer files",
        "description": "Get a design row plus every per-layer file with a short-lived signed\nURL. Used by the order detail page to surface what the customer\nsubmitted on a given OrderItem (resolved from `inputs.design_id`).\n`configName` is null when the originating config has been deleted —\nthe design + files survive via `ON DELETE SET NULL`.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DesignWithFilesResponse"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/fonts/google": {
      "get": {
        "summary": "List Google Fonts catalog",
        "description": "Browse the Google Fonts catalog. Search by family substring or\nfilter by category (`serif | sans-serif | display | handwriting | monospace`).",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleFontsListResponse"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/fonts/store": {
      "get": {
        "summary": "List custom fonts",
        "description": "List the store's uploaded custom fonts.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreCustomFontWithUrl"
                  }
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "post": {
        "summary": "Upload custom font",
        "description": "Upload a custom font binary (.ttf / .otf, base64-encoded) along with\na license attestation.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomFontUploadBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomFont"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/fonts/store/{id}": {
      "delete": {
        "summary": "Delete custom font",
        "description": "Delete a custom font.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/fonts/store-google": {
      "get": {
        "summary": "List store Google fonts pool",
        "description": "List the store's curated Google Fonts pool. Each entry is enriched with\nresolved CSS + download URLs from the Google Fonts catalog.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreGoogleFontWithUrls"
                  }
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "post": {
        "summary": "Add Google font to store pool",
        "description": "Pin a Google Font family to the store's curated pool. Idempotent — if\nthe family is already pinned, the existing row is returned.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreGoogleFontAddBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreGoogleFont"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/fonts/store-google/{id}": {
      "delete": {
        "summary": "Remove Google font from store pool",
        "description": "Remove a Google Font from the store's curated pool by row id.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/textures/store": {
      "get": {
        "summary": "List store custom textures",
        "description": "List the store's uploaded build-plate textures.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreCustomTextureWithUrl"
                  }
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "post": {
        "summary": "Upload store custom texture",
        "description": "Upload a custom build-plate texture SVG to the store's pool. The SVG's\n`viewBox` is parsed from the file. Re-uploading the same name is allowed\n— each upload creates a new row.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizerStoreTextureUploadBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomTextureWithUrl"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/customizer/textures/store/{id}": {
      "patch": {
        "summary": "Update store custom texture",
        "description": "Update editable fields on a store-level custom texture (name or\nopacity). Either field may be omitted.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizerStoreTextureUpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomTextureWithUrl"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "delete": {
        "summary": "Delete store custom texture",
        "description": "Delete a store-level custom texture. The Firebase object is removed\nbest-effort and the row is deleted.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/print-jobs/{id}/telemetry": {
      "get": {
        "description": "Normalized telemetry (temperatures, layer markers, event flags) for one\nattempt of a print job.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          },
          {
            "name": "attempt",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false,
            "title": "Attempt number to render; defaults to the latest attempt",
            "description": "Attempt number to render; defaults to the latest attempt."
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "oneOf": [
                {
                  "const": "fuse"
                },
                {
                  "const": "auto"
                },
                {
                  "const": "gateway"
                }
              ]
            },
            "required": false,
            "title": "Which telemetry series to render; defaults to `auto`",
            "description": "Which telemetry series to render; defaults to `auto`."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelemetryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/print-jobs/{id}/telemetry/attempts": {
      "get": {
        "description": "A print job's attempts (newest first) for the attempt selector and\nper-attempt media. Scoped to the job in SQL.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TelemetryAttemptSummary"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/print-jobs/{id}/telemetry/download-url": {
      "get": {
        "description": "Signed download URL for a raw gzipped telemetry artifact (the\n`telemetry/` prefix has no direct browser read grant).\n\nRequires file.download as well as queue.view: this hands back a\nbearer-capable signed URL to a permanent-retention artifact, so it is gated\nlike every other file download rather than like a read of the job.",
        "tags": [
          "Print_Jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The print job ID"
          },
          {
            "name": "attempt",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "oneOf": [
                {
                  "const": "fuse"
                },
                {
                  "const": "gateway"
                }
              ]
            },
            "required": true,
            "title": "Which raw artifact to sign a download URL for",
            "description": "Which raw artifact to sign a download URL for."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelemetryDownloadUrl"
                }
              }
            }
          }
        }
      }
    },
    "/v2/print-history": {
      "get": {
        "tags": [
          "Print_History"
        ],
        "parameters": [
          {
            "name": "printJobId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "attemptNumber",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "taskId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "finalStatus",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partBuildId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityIndex",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityTotal",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerDeviceId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerProvider",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerModelName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerVendorName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "queuedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cancelledAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "endedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printDurationSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "errorMessage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialUsageId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalUsed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalUsedGrams",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "usedBySlot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          {
            "name": "usedGramsBySlot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          {
            "name": "slotMaterials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          {
            "name": "materialMapping",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalLayers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "completedLayers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skippedObjects",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedPrintTimeSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedTotalWeightGrams",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedMaterials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicerVersion",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "overriddenProcessProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gcodeAnalysisSha256",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicedGcodeUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "thumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "coloredThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cameraThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "timelapseUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "logsUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gatewayTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fuseTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/print-history/{printerId}": {
      "get": {
        "tags": [
          "Print_History"
        ],
        "parameters": [
          {
            "name": "printerId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          },
          {
            "name": "printJobId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "attemptNumber",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "taskId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "finalStatus",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "outcome",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partBuildId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "partName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "orderItemId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityIndex",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantityTotal",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerDeviceId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerProvider",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerModelName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printerVendorName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "queuedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "assignmentCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingStartedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printingCompletedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cancelledAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "endedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "printDurationSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "errorMessage",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "materialUsageId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalUsed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalUsedGrams",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "usedBySlot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          {
            "name": "usedGramsBySlot",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          {
            "name": "slotMaterials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          {
            "name": "materialMapping",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "totalLayers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "completedLayers",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skippedObjects",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedPrintTimeSeconds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedTotalWeightGrams",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "estimatedMaterials",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicerVersion",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "overriddenProcessProfileId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gcodeAnalysisSha256",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "slicedGcodeUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "thumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "coloredThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cameraThumbnailUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "timelapseUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "logsUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gatewayTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "fuseTelemetryUri",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/macros": {
      "get": {
        "summary": "Get all GCODE macros",
        "tags": [
          "Macros"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "gcode",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all macros in the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GcodeMacro"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "macro.view"
      },
      "post": {
        "summary": "Create GCODE macro",
        "tags": [
          "Macros"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Macro details, including compatible printer models",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GcodeMacroInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created macro",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhancedGcodeMacro"
                }
              }
            }
          }
        },
        "x-permission": "macro.create"
      }
    },
    "/v1/macros/search": {
      "post": {
        "summary": "Search GCODE macros",
        "description": "Search GCODE macros with complex filters",
        "tags": [
          "Macros"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoGcodeMacro"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "macro.view"
      }
    },
    "/v1/macros/printer-models": {
      "get": {
        "summary": "List printer models for macro compatibility",
        "description": "Reference list for the compatibility picker: the known printer models as\nstable (vendorName, modelName) pairs, deduped across slicer versions,\nannotated with whether each model's adapter supports raw GCODE.",
        "tags": [
          "Macros"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Known printer models",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GcodeMacroPrinterModel"
                  }
                }
              }
            }
          }
        },
        "x-permission": "macro.view"
      }
    },
    "/v1/macros/{id}": {
      "get": {
        "summary": "Get GCODE macro by ID",
        "tags": [
          "Macros"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Macro ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The macro with its compatible printer models",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhancedGcodeMacro"
                }
              }
            }
          }
        },
        "x-permission": "macro.view"
      },
      "patch": {
        "summary": "Update GCODE macro",
        "description": "The macro's type is immutable after creation.",
        "tags": [
          "Macros"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Macro ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GcodeMacroUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated macro",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnhancedGcodeMacro"
                }
              }
            }
          }
        },
        "x-permission": "macro.edit"
      },
      "delete": {
        "summary": "Delete GCODE macro",
        "tags": [
          "Macros"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Macro ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "macro.delete"
      }
    },
    "/v1/macros/{id}/run": {
      "post": {
        "summary": "Run GCODE macro on printers",
        "description": "Sends the macro's GCODE to the given printers. Each printer must be\nonline, idle, compatible with the macro's declared printer models, and\non an adapter that supports raw GCODE; printers failing any of these\nchecks are reported per-printer rather than failing the whole request.\n`expectedUpdatedAt` is required; if the macro has been edited since it was\npreviewed, the run is rejected with 409 so a stale preview is never\nexecuted.",
        "tags": [
          "Macros"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Macro ID"
          }
        ],
        "requestBody": {
          "description": "Target printer IDs and the previewed macro's `updatedAt`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunGcodeMacroRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Per-printer send results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GcodeMacroRunResult"
                  }
                }
              }
            }
          }
        },
        "x-permission": "macro.run"
      }
    },
    "/v1/cards": {
      "get": {
        "summary": "Get all dashboard cards",
        "tags": [
          "Cards"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "entity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "formatVersion",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "definition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all card designs in the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Card"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "card.view"
      },
      "post": {
        "summary": "Create dashboard card",
        "description": "The definition is validated against the card schema: structural problems\nand authoring mistakes (unknown primitives, bad variants, command ids\noutside the allowlist, type mismatches) are rejected with 400; bindings\nthis registry doesn't know are accepted and render as placeholders.",
        "tags": [
          "Cards"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Card name, optional description, and its definition document",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CardInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Card"
                }
              }
            }
          }
        },
        "x-permission": "card.create"
      }
    },
    "/v1/cards/search": {
      "post": {
        "summary": "Search dashboard cards",
        "description": "Search dashboard cards with complex filters",
        "tags": [
          "Cards"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoCard"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "card.view"
      }
    },
    "/v1/cards/{id}": {
      "get": {
        "summary": "Get dashboard card by ID",
        "tags": [
          "Cards"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Card ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The card design",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Card"
                }
              }
            }
          }
        },
        "x-permission": "card.view"
      },
      "patch": {
        "summary": "Update dashboard card",
        "tags": [
          "Cards"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Card ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update; a new definition is re-validated",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CardUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Card"
                }
              }
            }
          }
        },
        "x-permission": "card.edit"
      },
      "delete": {
        "summary": "Delete dashboard card",
        "tags": [
          "Cards"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Card ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "card.delete"
      }
    },
    "/v1/sequences": {
      "get": {
        "summary": "Get all serial-number sequences",
        "tags": [
          "Sequences"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "nextValue",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "prefix",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "suffix",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "padding",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "numberStyle",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of sequences in the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Sequence"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "sequence.view"
      },
      "post": {
        "summary": "Create a sequence",
        "tags": [
          "Sequences"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Sequence name, starting number, and display format",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SequenceInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created sequence",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sequence"
                }
              }
            }
          }
        },
        "x-permission": "sequence.edit"
      }
    },
    "/v1/sequences/usage": {
      "get": {
        "summary": "Get all sequences with usage",
        "description": "Sequences with usage facts: how many serials each has issued, the last\nissued serial, and which SKUs currently bind a text parameter to it.",
        "tags": [
          "Sequences"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Sequences with issued counts, last serial, and referencing SKUs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SequenceWithUsage"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sequence.view"
      }
    },
    "/v1/sequences/search": {
      "post": {
        "summary": "Search sequences",
        "description": "Search sequences with complex filters",
        "tags": [
          "Sequences"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSequence"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "sequence.view"
      }
    },
    "/v1/sequences/{id}": {
      "get": {
        "summary": "Get sequence by ID",
        "tags": [
          "Sequences"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Sequence ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The sequence",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sequence"
                }
              }
            }
          }
        },
        "x-permission": "sequence.view"
      },
      "patch": {
        "summary": "Update a sequence",
        "description": "Rewinding `nextValue` below an already-issued number requires\n`confirmRewind: true` — it deliberately reissues serials that were\nalready printed. Fast-forwarding only skips numbers and needs no\nconfirmation.",
        "tags": [
          "Sequences"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Sequence ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SequenceUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated sequence",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sequence"
                }
              }
            }
          }
        },
        "x-permission": "sequence.edit"
      },
      "delete": {
        "summary": "Delete a sequence",
        "description": "Deletion is blocked with 409 while any SKU's linked part still binds a\ntext parameter to the sequence. The issuance ledger is removed with it.",
        "tags": [
          "Sequences"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Sequence ID"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sequence.edit"
      }
    },
    "/v1/sequences/{id}/issuances": {
      "get": {
        "summary": "List issued serials for a sequence",
        "description": "The issued-serials ledger for a sequence, newest first. Each entry links\nthe serial to the part build and print job that consumed it.",
        "tags": [
          "Sequences"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " Sequence ID"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Issued serials, newest first",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SequenceIssuance"
                  }
                }
              }
            }
          }
        },
        "x-permission": "sequence.view"
      }
    },
    "/v1/layouts": {
      "get": {
        "summary": "Get all dashboard layouts",
        "tags": [
          "Layouts"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "mode",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "formatVersion",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "isDefault",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "definition",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all saved layouts in the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Layout"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "layout.view"
      },
      "post": {
        "summary": "Create dashboard layout",
        "description": "The definition is validated against the layout schema: structural\nproblems and authoring mistakes (malformed placements, duplicate\nplacement ids, footprints off the size classes) are rejected with 400.\nThe layout belongs to the calling user; their first layout becomes the\ndefault unless `isDefault` says otherwise, and setting `isDefault`\nclears it from their other layouts.",
        "tags": [
          "Layouts"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Layout name, its definition document, and an optional default flag",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LayoutInsert"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created layout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Layout"
                }
              }
            }
          }
        },
        "x-permission": "layout.create"
      }
    },
    "/v1/layouts/search": {
      "post": {
        "summary": "Search dashboard layouts",
        "description": "Search dashboard layouts with complex filters",
        "tags": [
          "Layouts"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoLayout"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "layout.view"
      }
    },
    "/v1/layouts/{id}": {
      "get": {
        "summary": "Get dashboard layout by ID",
        "tags": [
          "Layouts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Layout ID"
          }
        ],
        "responses": {
          "200": {
            "description": "The saved layout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Layout"
                }
              }
            }
          }
        },
        "x-permission": "layout.view"
      },
      "patch": {
        "summary": "Update dashboard layout",
        "description": "Only the layout's owner can update it. Setting `isDefault` clears the\nflag from the owner's other layouts; a new definition is re-validated.",
        "tags": [
          "Layouts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Layout ID"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LayoutUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated layout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Layout"
                }
              }
            }
          }
        },
        "x-permission": "layout.edit"
      },
      "delete": {
        "summary": "Delete dashboard layout",
        "description": "Only the layout's owner can delete it.",
        "tags": [
          "Layouts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " Layout ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Deleted IDs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "layout.delete"
      }
    },
    "/v1/reports/summary": {
      "get": {
        "summary": "Reports overview",
        "description": "Headline KPIs plus one-line highlights for each report group.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "printerIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Comma-separated printer ids; omitted = all printers",
            "description": "Comma-separated printer ids; omitted = all printers."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportsSummary"
                }
              }
            }
          }
        },
        "x-permission": "analytics.view"
      }
    },
    "/v1/reports/reliability": {
      "get": {
        "summary": "Reliability report",
        "description": "Attempt outcomes, retry yield, failure pareto and per-machine MTBF.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "printerIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Comma-separated printer ids; omitted = all printers",
            "description": "Comma-separated printer ids; omitted = all printers."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReliabilityReport"
                }
              }
            }
          }
        },
        "x-permission": "analytics.view"
      }
    },
    "/v1/reports/jobs": {
      "get": {
        "summary": "Jobs report",
        "description": "Queue latency, estimate accuracy, backlog and order cycle time.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "printerIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Comma-separated printer ids; omitted = all printers",
            "description": "Comma-separated printer ids; omitted = all printers."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobsReport"
                }
              }
            }
          }
        },
        "x-permission": "analytics.view"
      }
    },
    "/v1/reports/printers": {
      "get": {
        "summary": "Printers report",
        "description": "Per-machine utilization, idle gaps, leaderboard and maintenance posture.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "printerIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Comma-separated printer ids; omitted = all printers",
            "description": "Comma-separated printer ids; omitted = all printers."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrintersReport"
                }
              }
            }
          }
        },
        "x-permission": "analytics.view"
      }
    },
    "/v1/reports/materials": {
      "get": {
        "summary": "Materials report",
        "description": "Filament consumption by type and brand, plus spool days-of-cover.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "printerIds",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Comma-separated printer ids; omitted = all printers",
            "description": "Comma-separated printer ids; omitted = all printers."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MaterialsReport"
                }
              }
            }
          }
        },
        "x-permission": "analytics.view"
      }
    },
    "/v1/reports/profit": {
      "get": {
        "summary": "Profit report",
        "description": "Monthly revenue, production cost, cost of failure and per-SKU margin.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "month",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true,
            "title": "YYYY-MM, interpreted in the store's timezone",
            "description": "YYYY-MM, interpreted in the store's timezone."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfitReport"
                }
              }
            }
          }
        },
        "x-permission": "analytics.view"
      }
    },
    "/v1/api-keys": {
      "get": {
        "summary": "Get all API keys",
        "description": "List all API keys for your store with optional search/filter",
        "tags": [
          "API_Keys"
        ],
        "operationId": "apiKeys_getAll",
        "parameters": [
          {
            "name": "hash",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "salt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "managed",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "managedBy",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalRef",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "integrationId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Optional link to integration - when integration is deleted, this API key is also deleted"
          },
          {
            "name": "fullAccess",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "ipAllowlist",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdBy",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "lastUsedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "expiresAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "All API keys (secrets are masked)",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiKey"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "apiKey.view"
      },
      "post": {
        "summary": "Create an API key",
        "description": "Generate a new API key. The full key is only returned once on creation.",
        "tags": [
          "API_Keys"
        ],
        "parameters": [],
        "requestBody": {
          "description": "API key configuration",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created API key with full secret (one-time only)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OneTimeApiKeyInfo"
                }
              }
            }
          }
        },
        "x-permission": "apiKey.create"
      }
    },
    "/v1/api-keys/search": {
      "post": {
        "summary": "Search API keys",
        "description": "Advanced search for API keys",
        "tags": [
          "API_Keys"
        ],
        "operationId": "apiKeys_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoApiKey"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with API keys (secrets are masked)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "apiKey.view"
      }
    },
    "/v1/api-keys/{id}": {
      "get": {
        "summary": "Get API key by ID",
        "description": "Get a single API key by ID",
        "tags": [
          "API_Keys"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The API key's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested API key (secret is masked)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKey"
                }
              }
            }
          }
        },
        "x-permission": "apiKey.view"
      },
      "patch": {
        "summary": "Update an API key",
        "description": "Update an API key's configuration including name, status, permissions, roles, and IP restrictions",
        "tags": [
          "API_Keys"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The API key's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateApiKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The updated API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKey"
                }
              }
            }
          }
        },
        "x-permission": "apiKey.edit"
      },
      "delete": {
        "summary": "Delete an API key",
        "description": "Permanently revoke an API key",
        "tags": [
          "API_Keys"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The API key's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "apiKey.delete"
      }
    },
    "/v1/api-keys/{id}/permissions": {
      "get": {
        "summary": "Get API key permissions",
        "description": "Get direct permissions for an API key",
        "tags": [
          "API_Keys"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The API key's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of permission types directly assigned to the API key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "const": "organization.owner"
                      },
                      {
                        "const": "organization.edit"
                      },
                      {
                        "const": "organization.delete"
                      },
                      {
                        "const": "user.view"
                      },
                      {
                        "const": "user.invite"
                      },
                      {
                        "const": "user.edit"
                      },
                      {
                        "const": "user.delete"
                      },
                      {
                        "const": "permission.view"
                      },
                      {
                        "const": "permission.grant"
                      },
                      {
                        "const": "permission.revoke"
                      },
                      {
                        "const": "part.view"
                      },
                      {
                        "const": "part.create"
                      },
                      {
                        "const": "part.edit"
                      },
                      {
                        "const": "part.delete"
                      },
                      {
                        "const": "part.export"
                      },
                      {
                        "const": "sku.view"
                      },
                      {
                        "const": "sku.create"
                      },
                      {
                        "const": "sku.edit"
                      },
                      {
                        "const": "sku.delete"
                      },
                      {
                        "const": "material.view"
                      },
                      {
                        "const": "material.create"
                      },
                      {
                        "const": "material.edit"
                      },
                      {
                        "const": "material.delete"
                      },
                      {
                        "const": "material.instance.view"
                      },
                      {
                        "const": "material.instance.create"
                      },
                      {
                        "const": "material.instance.edit"
                      },
                      {
                        "const": "material.instance.delete"
                      },
                      {
                        "const": "printer.view"
                      },
                      {
                        "const": "printer.create"
                      },
                      {
                        "const": "printer.edit"
                      },
                      {
                        "const": "printer.delete"
                      },
                      {
                        "const": "printer.control"
                      },
                      {
                        "const": "printer.ready"
                      },
                      {
                        "const": "printer.config"
                      },
                      {
                        "const": "printer.stats"
                      },
                      {
                        "const": "printer.camera"
                      },
                      {
                        "const": "profile.view"
                      },
                      {
                        "const": "profile.create"
                      },
                      {
                        "const": "profile.edit"
                      },
                      {
                        "const": "profile.delete"
                      },
                      {
                        "const": "queue.view"
                      },
                      {
                        "const": "queue.manage"
                      },
                      {
                        "const": "queue.override"
                      },
                      {
                        "const": "job.create"
                      },
                      {
                        "const": "job.edit.own"
                      },
                      {
                        "const": "job.edit.all"
                      },
                      {
                        "const": "job.delete.own"
                      },
                      {
                        "const": "job.delete.all"
                      },
                      {
                        "const": "build.view"
                      },
                      {
                        "const": "build.create"
                      },
                      {
                        "const": "build.edit"
                      },
                      {
                        "const": "build.delete"
                      },
                      {
                        "const": "settings.view"
                      },
                      {
                        "const": "settings.edit"
                      },
                      {
                        "const": "integration.view"
                      },
                      {
                        "const": "integration.manage"
                      },
                      {
                        "const": "subscription.view"
                      },
                      {
                        "const": "subscription.manage"
                      },
                      {
                        "const": "analytics.view"
                      },
                      {
                        "const": "reports.generate"
                      },
                      {
                        "const": "audit.log.view"
                      },
                      {
                        "const": "audit.logs.configure"
                      },
                      {
                        "const": "order.view"
                      },
                      {
                        "const": "order.create"
                      },
                      {
                        "const": "order.edit"
                      },
                      {
                        "const": "order.delete"
                      },
                      {
                        "const": "order.print"
                      },
                      {
                        "const": "apiKey.view"
                      },
                      {
                        "const": "apiKey.create"
                      },
                      {
                        "const": "apiKey.edit"
                      },
                      {
                        "const": "apiKey.delete"
                      },
                      {
                        "const": "file.download"
                      },
                      {
                        "const": "maintenance.view"
                      },
                      {
                        "const": "maintenance.create"
                      },
                      {
                        "const": "maintenance.edit"
                      },
                      {
                        "const": "maintenance.delete"
                      },
                      {
                        "const": "maintenance.complete"
                      },
                      {
                        "const": "routing.manage"
                      },
                      {
                        "const": "customizer.manage"
                      },
                      {
                        "const": "macro.view"
                      },
                      {
                        "const": "macro.create"
                      },
                      {
                        "const": "macro.edit"
                      },
                      {
                        "const": "macro.delete"
                      },
                      {
                        "const": "macro.run"
                      },
                      {
                        "const": "card.view"
                      },
                      {
                        "const": "card.create"
                      },
                      {
                        "const": "card.edit"
                      },
                      {
                        "const": "card.delete"
                      },
                      {
                        "const": "layout.view"
                      },
                      {
                        "const": "layout.create"
                      },
                      {
                        "const": "layout.edit"
                      },
                      {
                        "const": "layout.delete"
                      },
                      {
                        "const": "sequence.view"
                      },
                      {
                        "const": "sequence.edit"
                      },
                      {
                        "const": "internal.shopify"
                      },
                      {
                        "const": "queue.admin"
                      },
                      {
                        "const": "part.viewer"
                      },
                      {
                        "const": "part.editor"
                      },
                      {
                        "const": "sku.viewer"
                      },
                      {
                        "const": "sku.editor"
                      },
                      {
                        "const": "orders.admin"
                      },
                      {
                        "const": "material.viewer"
                      },
                      {
                        "const": "material.editor"
                      },
                      {
                        "const": "printer.viewer"
                      },
                      {
                        "const": "printer.editor"
                      },
                      {
                        "const": "profile.viewer"
                      },
                      {
                        "const": "profile.editor"
                      },
                      {
                        "const": "settings.admin"
                      },
                      {
                        "const": "subscription.admin"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "apiKey.view"
      }
    },
    "/v1/api-keys/{id}/roles": {
      "get": {
        "summary": "Get API key roles",
        "description": "Get assigned role IDs for an API key",
        "tags": [
          "API_Keys"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The API key's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of role IDs assigned to the API key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "x-permission": "apiKey.view"
      }
    },
    "/v1/subscriptions": {
      "get": {
        "summary": "Get current subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "The store's subscription details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "x-permission": "subscription.view"
      }
    },
    "/v1/subscriptions/audit-logs": {
      "patch": {
        "summary": "Configure audit logs",
        "description": "Enable or disable audit logging",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetAuditLogsEnabledRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The current subscription",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "x-permission": "audit.logs.configure"
      }
    },
    "/v1/subscriptions/search": {
      "post": {
        "summary": "Search subscriptions",
        "description": "Advanced search for subscriptions",
        "tags": [
          "Subscriptions"
        ],
        "operationId": "subscriptions_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoSubscription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "subscription.view"
      }
    },
    "/v1/addons": {
      "get": {
        "summary": "Get all available addons",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of all addons",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Addon"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/addons/{addonType}": {
      "get": {
        "summary": "Get addon by type with tiers",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "addonType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The addon type identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "The addon with its pricing tiers",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/AddonWithTiers"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/addon-subscriptions": {
      "get": {
        "summary": "Get all addon subscriptions",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "addonType",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "tierKey",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "tierId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "term",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of addon subscriptions for the store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AddonSubscription"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "subscription.view"
      }
    },
    "/v1/addon-subscriptions/{addonType}": {
      "get": {
        "summary": "Get addon subscription by type",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "addonType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The addon type identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "The addon subscription if found",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/AddonSubscription"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "subscription.view"
      }
    },
    "/v1/addon-subscriptions/search": {
      "post": {
        "summary": "Search addon subscriptions",
        "description": "Advanced search for addon subscriptions",
        "tags": [
          "Subscriptions"
        ],
        "operationId": "addonSubscriptions_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoAddonSubscription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with addon subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "subscription.view"
      }
    },
    "/v1/storage/signed-urls": {
      "post": {
        "summary": "Get signed download URLs",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "description": "File paths to generate URLs for",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignedUrlsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Signed URLs for downloading files",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedUrlsResponse"
                }
              }
            }
          }
        },
        "x-permission": "file.download"
      }
    },
    "/v1/storage/signed-upload-urls": {
      "post": {
        "summary": "Get signed upload URLs",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "description": "File details for upload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignedUploadUrlsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Signed URLs for uploading files",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedUploadUrlsResponse"
                }
              }
            }
          }
        },
        "x-permission": "part.create"
      }
    },
    "/v1/orders": {
      "get": {
        "summary": "Get all orders",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "cancelledAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "shippedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "integrationId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "priceBucket",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "price",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "currency",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalUrl",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sourceRef",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "note",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "deadline",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "processedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "syncDisabled",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "List of all orders for the current store",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      },
      "post": {
        "summary": "Create a new order",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Order details including optional customer and items",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Complete order details with customer and items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDetailsResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.create"
      }
    },
    "/v1/orders/full": {
      "get": {
        "summary": "Get complete order data",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "All orders with their items and customer information in a single response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orders": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    "orderItems": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrderItem"
                      }
                    },
                    "customers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Customer"
                      }
                    }
                  },
                  "required": [
                    "orders",
                    "orderItems",
                    "customers"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/orders/items": {
      "get": {
        "summary": "Get all order items",
        "tags": [
          "Order_Items"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of all order items across all orders in the store",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItem"
                  }
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/orders/ignored-skus": {
      "get": {
        "summary": "Get ignored SKUs list",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "The current list of SKUs that should be ignored during order processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IgnoredSku"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      },
      "patch": {
        "summary": "Update ignored SKUs list",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "SKUs to add to or remove from the ignore list",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditIgnoredSkusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated list of ignored SKUs",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/IgnoredSku"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/ignored-skus/check": {
      "post": {
        "summary": "Check if SKUs are ignored",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "List of SKUs to check",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckIgnoredSkusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Object mapping each SKU to a boolean indicating if it's ignored",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckIgnoredSkusResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/orders/reconcile": {
      "post": {
        "summary": "Reconcile print jobs with orders",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Reconciliation parameters including SKUs, orders, printer tags, and priority",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconcileJobsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Results of the reconciliation process",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReconcileJobsResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.print"
      }
    },
    "/v1/orders/print": {
      "post": {
        "summary": "Reconcile print jobs with orders",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Reconciliation parameters including SKUs, orders, printer tags, and priority",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReconcileJobsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Results of the reconciliation process",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReconcileJobsResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.print"
      }
    },
    "/v1/orders/batch/close": {
      "patch": {
        "summary": "Batch close orders",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Order IDs to close",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    }
                  }
                },
                "required": [
                  "orderIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Results of the batch close operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "closed": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "orderId": {
                            "type": "string"
                          },
                          "error": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "orderId",
                          "error"
                        ]
                      }
                    }
                  },
                  "required": [
                    "closed",
                    "errors"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/batch/reopen": {
      "patch": {
        "summary": "Batch reopen orders",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Order IDs to reopen",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    }
                  }
                },
                "required": [
                  "orderIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Results of the batch reopen operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reopened": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "orderId": {
                            "type": "string"
                          },
                          "error": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "orderId",
                          "error"
                        ]
                      }
                    }
                  },
                  "required": [
                    "reopened",
                    "errors"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/batch/cancel": {
      "patch": {
        "summary": "Batch cancel orders",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Order IDs to cancel",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    }
                  }
                },
                "required": [
                  "orderIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Results of the batch cancel operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "cancelled": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrderDetailsResponse"
                      }
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "orderId": {
                            "type": "string"
                          },
                          "error": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "orderId",
                          "error"
                        ]
                      }
                    }
                  },
                  "required": [
                    "cancelled",
                    "errors"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/batch/delete": {
      "delete": {
        "summary": "Batch delete orders",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Order IDs to delete permanently",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    }
                  }
                },
                "required": [
                  "orderIds"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Results of the batch delete operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "orderId": {
                            "type": "string"
                          },
                          "error": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "orderId",
                          "error"
                        ]
                      }
                    }
                  },
                  "required": [
                    "deleted",
                    "errors"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.delete"
      }
    },
    "/v1/orders/customers": {
      "get": {
        "summary": "Get all customers",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "List of all customers associated with orders in the store",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Customer"
                  }
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      },
      "post": {
        "summary": "Create a new customer",
        "tags": [
          "Orders"
        ],
        "parameters": [],
        "requestBody": {
          "description": "Customer information (requires at least name, email, or phone)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The created customer record",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Customer"
                }
              }
            }
          }
        },
        "x-permission": "order.create"
      }
    },
    "/v1/orders/customers/{customerId}": {
      "get": {
        "summary": "Get customer by ID",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The customer's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Customer information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Customer"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/orders/items/{itemId}": {
      "get": {
        "summary": "Get a specific order item",
        "tags": [
          "Order_Items"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order item's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Order item details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderItem"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      },
      "put": {
        "summary": "Update an order item",
        "tags": [
          "Order_Items"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order item's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Fields to update on the order item",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialOrderItemUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated order item",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderItem"
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      },
      "delete": {
        "summary": "Delete an order item",
        "tags": [
          "Order_Items"
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order item's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Confirmation with the deleted item's ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.delete"
      }
    },
    "/v1/orders/by-external/{source}/{externalId}/jobs": {
      "get": {
        "summary": "Get print jobs for an external order",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "schema": {
              "oneOf": [
                {
                  "const": "etsy"
                },
                {
                  "const": "shopify"
                },
                {
                  "const": "manual"
                },
                {
                  "const": "ebay"
                },
                {
                  "const": "tiktok-shop"
                }
              ]
            },
            "required": true,
            "description": " The order source (e.g., 'shopify', 'etsy')"
          },
          {
            "name": "externalId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The external order ID from the source system"
          }
        ],
        "responses": {
          "200": {
            "description": "List of print jobs associated with the order",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orderId": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "jobs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrintJob"
                      }
                    }
                  },
                  "required": [
                    "orderId",
                    "jobs"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/orders/{orderId}/items": {
      "get": {
        "summary": "Get items for a specific order",
        "tags": [
          "Order_Items"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "List of items belonging to the order",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItem"
                  }
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      },
      "post": {
        "summary": "Add items to an order",
        "tags": [
          "Order_Items"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Array of items to add to the order",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OmitOrderItemInsertorderId"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "List of created order items",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItem"
                  }
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/{orderId}/items/batch": {
      "patch": {
        "summary": "Batch update order items",
        "tags": [
          "Order_Items"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Array of item updates with item IDs and changes",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "itemId": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "changes": {
                      "$ref": "#/components/schemas/PartialOrderItemUpdate"
                    }
                  },
                  "required": [
                    "itemId",
                    "changes"
                  ]
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of updated order items",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItem"
                  }
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/{orderId}/only": {
      "get": {
        "summary": "Get order without related data",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Order information without items or customer data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/orders/{orderId}": {
      "get": {
        "summary": "Get order with full details",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Complete order information including customer and items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDetailsResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      },
      "put": {
        "summary": "Update an order",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "requestBody": {
          "description": "Fields to update on the order",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartialOrder"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated order information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      },
      "delete": {
        "summary": "Delete an order",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Confirmation with the deleted order's ID",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.delete"
      }
    },
    "/v1/orders/{orderId}/cancel": {
      "post": {
        "summary": "Cancel an order",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The order's unique identifier"
          }
        ],
        "responses": {
          "201": {
            "description": "Cancelled order with updated items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDetailsResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/orders/search": {
      "post": {
        "summary": "Search orders",
        "description": "Advanced search for orders",
        "tags": [
          "Orders"
        ],
        "operationId": "orders_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoOrder"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Search results with orders",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/order-items": {
      "get": {
        "summary": "Get all order items",
        "description": "List all order items across all orders in the store",
        "tags": [
          "Order_Items"
        ],
        "operationId": "orderItems_getAll",
        "parameters": [
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "quantity",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "inputs",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalOrderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalProductId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalSku",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "originalSku",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          {
            "name": "processedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "ignored",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "processedStatus",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "skuConfig",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "resolutionNote",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrderItem"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/order-items/search": {
      "post": {
        "summary": "Search order items",
        "description": "Search order items with filters",
        "tags": [
          "Order_Items"
        ],
        "operationId": "orderItems_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoOrderItem"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/customers": {
      "get": {
        "summary": "Get all customers",
        "description": "List all customers associated with orders in the store",
        "tags": [
          "Customers"
        ],
        "operationId": "customers_getAll",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "provinceCode",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "zipCode",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "externalId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "customMetadata",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Customer"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/customers/search": {
      "post": {
        "summary": "Search customers",
        "description": "Search customers with filters",
        "tags": [
          "Customers"
        ],
        "operationId": "customers_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoCustomer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/ignored-skus": {
      "get": {
        "summary": "Get all ignored SKUs",
        "description": "List all ignored SKUs that should be skipped during order processing",
        "tags": [
          "Orders"
        ],
        "operationId": "ignoredSkus_getAll",
        "parameters": [
          {
            "name": "skus",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "createdAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "updatedAt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Sort"
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1,
              "maximum": 1000
            },
            "required": false,
            "title": "Limit"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 0
            },
            "required": false,
            "title": "Offset"
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Fields"
          },
          {
            "name": "include",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false,
            "title": "Include"
          },
          {
            "name": "meta",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Meta"
          },
          {
            "name": "hints",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "required": false,
            "title": "Hints"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IgnoredSku"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/SearchResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/ignored-skus/search": {
      "post": {
        "summary": "Search ignored SKUs",
        "description": "Search ignored SKUs with filters",
        "tags": [
          "Orders"
        ],
        "operationId": "ignoredSkus_search",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchQueryDtoIgnoredSku"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "x-permission": "order.view"
      }
    },
    "/v1/customizer/designs/simulate-order": {
      "post": {
        "summary": "Simulate a customer order for a customizer design",
        "description": "Synthesise a real Order + OrderItem from an already-submitted\ncustomizer design, skipping Shopify entirely. The created order\nis `source: 'manual'` with a `note` line identifying it as a\nsimulator artefact. The print pipeline is force-triggered\nregardless of the store's autoPrint setting so the full chain\n(design → reconciliation → PrintJob → builder) runs end-to-end.",
        "tags": [
          "Customizer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "designId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  },
                  "configId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  },
                  "skuId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  },
                  "quantity": {
                    "type": "number"
                  }
                },
                "required": [
                  "designId"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orderId": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "orderItemId": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "orderNumber": {
                      "type": "string"
                    },
                    "designId": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    }
                  },
                  "required": [
                    "orderId",
                    "orderItemId",
                    "orderNumber",
                    "designId"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/integrations/shopify": {
      "get": {
        "summary": "List Shopify integrations",
        "description": "List all connected Shopify stores for a store",
        "tags": [
          "Shopify"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Array of connected Shopify stores",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "integrationId": {
                        "type": "string"
                      },
                      "shop": {
                        "type": "string"
                      },
                      "shopName": {
                        "type": "string"
                      },
                      "connectedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "required": [
                      "integrationId",
                      "shop",
                      "shopName",
                      "connectedAt"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/shopify/products": {
      "get": {
        "summary": "List Shopify products",
        "description": "List Shopify products and their variants for the store's connected Shopify integration.\nSupports optional text search and cursor-based pagination.\nUses the first connected Shopify integration if the store has multiple.\nReturns 404 if no Shopify integration is connected.",
        "tags": [
          "Shopify"
        ],
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": " Optional text filter (matches product title, vendor, etc.)",
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "pageInfo",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": " Opaque pagination cursor from a previous response's endCursor",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of products with variant details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "productId": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "handle": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "variants": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "title": {
                                  "type": "string"
                                },
                                "sku": {
                                  "oneOf": [
                                    {
                                      "type": "null"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ]
                                },
                                "price": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "id",
                                "title",
                                "sku",
                                "price"
                              ]
                            }
                          }
                        },
                        "required": [
                          "productId",
                          "title",
                          "handle",
                          "status",
                          "variants"
                        ]
                      }
                    },
                    "pageInfo": {
                      "type": "object",
                      "properties": {
                        "hasNextPage": {
                          "type": "boolean"
                        },
                        "endCursor": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": [
                        "hasNextPage",
                        "endCursor"
                      ]
                    }
                  },
                  "required": [
                    "items",
                    "pageInfo"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/shopify/{integrationId}/status": {
      "get": {
        "summary": "Get Shopify status",
        "description": "Get Shopify integration status",
        "tags": [
          "Shopify"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Shopify integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connected": {
                      "type": "boolean"
                    },
                    "shop": {
                      "type": "string"
                    },
                    "connectedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastSyncedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "connected"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/shopify/{integrationId}/settings": {
      "get": {
        "summary": "Get Shopify settings",
        "description": "Get Shopify integration settings",
        "tags": [
          "Shopify"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Shopify integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "autoPrint": {
                      "type": "boolean"
                    },
                    "writeProgressTags": {
                      "type": "boolean"
                    },
                    "autoCloseOrders": {
                      "oneOf": [
                        {
                          "const": "partial"
                        },
                        {
                          "const": "never"
                        },
                        {
                          "const": "fulfilled"
                        }
                      ]
                    },
                    "tagWhenPrinted": {
                      "type": "string"
                    },
                    "propertyWhitelist": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ignoredVariantNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "autoPrint",
                    "writeProgressTags",
                    "autoCloseOrders",
                    "tagWhenPrinted",
                    "propertyWhitelist",
                    "ignoredVariantNames"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      },
      "patch": {
        "summary": "Update Shopify settings",
        "description": "Update Shopify integration settings",
        "tags": [
          "Shopify"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Shopify integration ID"
          }
        ],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "autoPrint": {
                    "type": "boolean"
                  },
                  "writeProgressTags": {
                    "type": "boolean"
                  },
                  "autoCloseOrders": {
                    "oneOf": [
                      {
                        "const": "partial"
                      },
                      {
                        "const": "never"
                      },
                      {
                        "const": "fulfilled"
                      }
                    ]
                  },
                  "tagWhenPrinted": {
                    "type": "string"
                  },
                  "propertyWhitelist": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "ignoredVariantNames": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "autoPrint": {
                      "type": "boolean"
                    },
                    "writeProgressTags": {
                      "type": "boolean"
                    },
                    "autoCloseOrders": {
                      "oneOf": [
                        {
                          "const": "partial"
                        },
                        {
                          "const": "never"
                        },
                        {
                          "const": "fulfilled"
                        }
                      ]
                    },
                    "tagWhenPrinted": {
                      "type": "string"
                    },
                    "propertyWhitelist": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ignoredVariantNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "autoPrint",
                    "writeProgressTags",
                    "autoCloseOrders",
                    "tagWhenPrinted",
                    "propertyWhitelist",
                    "ignoredVariantNames"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/shopify/{integrationId}/disconnect": {
      "post": {
        "summary": "Disconnect Shopify",
        "description": "Disconnect Shopify integration",
        "tags": [
          "Shopify"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Shopify integration ID"
          }
        ],
        "responses": {
          "201": {
            "description": "Success message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/shopify/orders/{orderId}/retry-variant-enrichment": {
      "post": {
        "summary": "Retry variant enrichment",
        "description": "Retry fetching variant options from Shopify for order items\nthat failed during initial webhook processing.",
        "tags": [
          "Shopify"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Printago order ID"
          }
        ],
        "responses": {
          "201": {
            "description": "Count of updated and failed items",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "updated": {
                      "type": "number"
                    },
                    "failed": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "updated",
                    "failed"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "order.edit"
      }
    },
    "/v1/customizer/configs/{configId}/shopify-publication": {
      "get": {
        "summary": "Get customizer Shopify publication state",
        "description": "Current Shopify publishing state for a config: the publication row (if\nany), the connected integration, discovered product candidates matching\nthe config's SKU, and ready-to-use storefront / theme-editor URLs.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerPublicationState"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "post": {
        "summary": "Publish customizer config to Shopify",
        "description": "Publish the config to Shopify. Embed mode writes the `printago.sku_id`\nmetafield on the chosen product (the only product write — listings are\nnever created or overwritten) so the theme app extension block renders\nthe customizer there. Direct mode exposes the app-proxy customizer URL\nas a standalone storefront page.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomizerPublishBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizerPublicationState"
                }
              }
            }
          }
        },
        "x-permission": "customizer.manage"
      },
      "delete": {
        "summary": "Unpublish customizer config from Shopify",
        "description": "Unpublish the config: best-effort removes the `printago.sku_id`\nmetafield (embed mode) and deletes the publication record.",
        "tags": [
          "Customizer"
        ],
        "parameters": [
          {
            "name": "configId",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        },
        "x-permission": "customizer.manage"
      }
    },
    "/v1/integrations/etsy": {
      "get": {
        "summary": "List Etsy integrations",
        "description": "List all connected Etsy shops for a store",
        "tags": [
          "Etsy"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Array of connected Etsy shops",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "integrationId": {
                        "type": "string"
                      },
                      "shopId": {
                        "type": "string"
                      },
                      "shopName": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "integrationId",
                      "shopId",
                      "shopName"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/etsy/{integrationId}/sync-orders": {
      "post": {
        "summary": "Sync Etsy orders",
        "description": "Manually sync orders from Etsy",
        "tags": [
          "Etsy"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy integration ID"
          },
          {
            "name": "includeShipped",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": " Include shipped orders (for testing)",
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": " Number of orders to sync",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "Sync results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "statusSync": {
                      "type": "object",
                      "properties": {
                        "closed": {
                          "type": "number"
                        },
                        "cancelled": {
                          "type": "number"
                        },
                        "errors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "closed",
                        "cancelled",
                        "errors"
                      ]
                    },
                    "orders": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    "totalSynced": {
                      "type": "number"
                    },
                    "totalAvailable": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "limitReached": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "statusSync",
                    "orders",
                    "totalSynced",
                    "totalAvailable",
                    "skipped",
                    "limitReached"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/etsy/{integrationId}/status": {
      "get": {
        "summary": "Get Etsy status",
        "description": "Get Etsy integration status",
        "tags": [
          "Etsy"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connected": {
                      "type": "boolean"
                    },
                    "shopId": {
                      "type": "string"
                    },
                    "shopName": {
                      "type": "string"
                    },
                    "shopUrl": {
                      "type": "string"
                    },
                    "lastSyncedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "connected"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/etsy/{integrationId}/settings": {
      "get": {
        "summary": "Get Etsy settings",
        "description": "Get Etsy integration settings",
        "tags": [
          "Etsy"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "autoPrint": {
                      "type": "boolean"
                    },
                    "autoCloseOrders": {
                      "oneOf": [
                        {
                          "const": "shipped"
                        },
                        {
                          "const": "delivered"
                        },
                        {
                          "const": "never"
                        }
                      ]
                    },
                    "ignoredVariantNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "autoPrint",
                    "autoCloseOrders",
                    "ignoredVariantNames"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      },
      "patch": {
        "summary": "Update Etsy settings",
        "description": "Update Etsy integration settings",
        "tags": [
          "Etsy"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy integration ID"
          }
        ],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "autoPrint": {
                    "type": "boolean"
                  },
                  "autoCloseOrders": {
                    "oneOf": [
                      {
                        "const": "shipped"
                      },
                      {
                        "const": "delivered"
                      },
                      {
                        "const": "never"
                      }
                    ]
                  },
                  "ignoredVariantNames": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "autoPrint": {
                      "type": "boolean"
                    },
                    "autoCloseOrders": {
                      "oneOf": [
                        {
                          "const": "shipped"
                        },
                        {
                          "const": "delivered"
                        },
                        {
                          "const": "never"
                        }
                      ]
                    },
                    "ignoredVariantNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "autoPrint",
                    "autoCloseOrders",
                    "ignoredVariantNames"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/etsy/{integrationId}/usage": {
      "get": {
        "summary": "Get Etsy usage stats",
        "description": "Get current usage statistics for the Etsy integration",
        "tags": [
          "Etsy"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Usage stats including tier, limits, and cycle dates",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageStats.o1"
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/etsy/{integrationId}/listing/{listingId}": {
      "get": {
        "summary": "Get Etsy listing",
        "description": "Fetch a single listing with inventory",
        "tags": [
          "Etsy"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy integration ID"
          },
          {
            "name": "listingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The Etsy listing ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Single listing with inventory details",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/ebay": {
      "get": {
        "summary": "List eBay integrations",
        "description": "List all connected eBay accounts for a store",
        "tags": [
          "eBay"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Array of connected eBay accounts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "integrationId": {
                        "type": "string"
                      },
                      "sellerId": {
                        "type": "string"
                      },
                      "username": {
                        "type": "string"
                      },
                      "marketplaceId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "integrationId",
                      "sellerId",
                      "username",
                      "marketplaceId"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/ebay/{integrationId}/sync-orders": {
      "post": {
        "summary": "Sync eBay orders",
        "description": "Manually sync orders from eBay",
        "tags": [
          "eBay"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The eBay integration ID"
          },
          {
            "name": "includeShipped",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": " Include shipped orders (for testing)",
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": " Number of orders to sync",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "Sync results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "orders": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    "totalSynced": {
                      "type": "number"
                    },
                    "totalAvailable": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "orders",
                    "totalSynced",
                    "totalAvailable",
                    "skipped"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/ebay/{integrationId}/status": {
      "get": {
        "summary": "Get eBay status",
        "description": "Get eBay integration status",
        "tags": [
          "eBay"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The eBay integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connected": {
                      "type": "boolean"
                    },
                    "sellerId": {
                      "type": "string"
                    },
                    "username": {
                      "type": "string"
                    },
                    "marketplaceId": {
                      "type": "string"
                    },
                    "lastSyncedAt": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "connected"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/ebay/{integrationId}/settings": {
      "get": {
        "summary": "Get eBay settings",
        "description": "Get eBay integration settings",
        "tags": [
          "eBay"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The eBay integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EbaySettings"
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      },
      "patch": {
        "summary": "Update eBay settings",
        "description": "Update eBay integration settings",
        "tags": [
          "eBay"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The eBay integration ID"
          }
        ],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "autoPrint": {
                    "type": "boolean"
                  },
                  "autoCloseOrders": {
                    "oneOf": [
                      {
                        "const": "shipped"
                      },
                      {
                        "const": "never"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EbaySettings"
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/ebay/{integrationId}/orders/{ebayOrderId}/fulfillments": {
      "post": {
        "summary": "Create eBay shipping fulfillment",
        "description": "Mark an eBay order as shipped by pushing tracking info back to eBay.",
        "tags": [
          "eBay"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "ebayOrderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trackingNumber": {
                    "type": "string"
                  },
                  "shippingCarrierCode": {
                    "type": "string"
                  },
                  "shippedDate": {
                    "type": "string"
                  },
                  "lineItems": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "lineItemId": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "lineItemId",
                        "quantity"
                      ]
                    }
                  }
                },
                "required": [
                  "trackingNumber",
                  "shippingCarrierCode"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "fulfillmentId": {
                      "oneOf": [
                        {
                          "type": "null"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": [
                    "fulfillmentId"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/ebay/webhook": {
      "post": {
        "tags": [],
        "parameters": [
          {
            "name": "x-ebay-signature",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "received": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "received"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/tiktok-shop": {
      "get": {
        "summary": "List TikTok Shop integrations",
        "description": "List all connected TikTok Shop accounts for a store",
        "tags": [
          "TikTok"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Array of connected TikTok Shop accounts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "integrationId": {
                        "type": "string"
                      },
                      "shopId": {
                        "type": "string"
                      },
                      "shopName": {
                        "type": "string"
                      },
                      "region": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "integrationId",
                      "shopId",
                      "shopName",
                      "region"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/tiktok-shop/{integrationId}/sync-orders": {
      "post": {
        "summary": "Sync TikTok Shop orders",
        "description": "Manually sync orders from TikTok Shop",
        "tags": [
          "TikTok"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The TikTok Shop integration ID"
          }
        ],
        "requestBody": {
          "description": "Sync options — `daysBack`, `statusGroups`, and `limit`",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TikTokShopSyncOrdersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Sync results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TikTokShopSyncOrdersResult"
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/tiktok-shop/{integrationId}/status": {
      "get": {
        "summary": "Get TikTok Shop status",
        "description": "Get TikTok Shop integration status",
        "tags": [
          "TikTok"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The TikTok Shop integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connected": {
                      "type": "boolean"
                    },
                    "shopId": {
                      "type": "string"
                    },
                    "shopName": {
                      "type": "string"
                    },
                    "region": {
                      "type": "string"
                    },
                    "lastSyncedAt": {
                      "type": "number"
                    },
                    "needsReauth": {
                      "type": "boolean",
                      "title": "True once the seller deauthorized the app; UI prompts a reconnect",
                      "description": "True once the seller deauthorized the app; UI prompts a reconnect."
                    },
                    "disconnectedAt": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "connected"
                  ]
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      }
    },
    "/v1/integrations/tiktok-shop/{integrationId}/settings": {
      "get": {
        "summary": "Get TikTok Shop settings",
        "description": "Get TikTok Shop integration settings",
        "tags": [
          "TikTok"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The TikTok Shop integration ID"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TikTokShopSettings"
                }
              }
            }
          }
        },
        "x-permission": "integration.view"
      },
      "patch": {
        "summary": "Update TikTok Shop settings",
        "description": "Update TikTok Shop integration settings",
        "tags": [
          "TikTok"
        ],
        "parameters": [
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": " The TikTok Shop integration ID"
          }
        ],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "autoPrint": {
                    "type": "boolean"
                  },
                  "autoCloseOrders": {
                    "oneOf": [
                      {
                        "const": "shipped"
                      },
                      {
                        "const": "delivered"
                      },
                      {
                        "const": "never"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Updated settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TikTokShopSettings"
                }
              }
            }
          }
        },
        "x-permission": "integration.manage"
      }
    },
    "/v1/integrations/cloud-storage/{provider}": {
      "get": {
        "summary": "List connected accounts for a cloud-storage provider",
        "description": "List connected accounts for a cloud-storage provider.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "integrationId": {
                        "type": "string",
                        "pattern": "^[a-z0-9]{24}$"
                      },
                      "email": {
                        "type": "string"
                      },
                      "displayName": {
                        "type": "string"
                      },
                      "watchedFolderName": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      },
                      "syncStatus": {
                        "oneOf": [
                          {
                            "const": "idle"
                          },
                          {
                            "const": "syncing"
                          }
                        ]
                      },
                      "authError": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      },
                      "lastSyncedAt": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "required": [
                      "integrationId",
                      "email",
                      "displayName",
                      "watchedFolderName",
                      "syncStatus",
                      "authError",
                      "lastSyncedAt"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/status": {
      "get": {
        "summary": "Get sync status for a cloud-storage integration",
        "description": "Get sync status for a cloud-storage integration.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloudStorageSyncStatus"
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/folders": {
      "get": {
        "summary": "List folders in a cloud-storage account for folder selection",
        "description": "List folders in a cloud-storage account for folder selection.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "parentFolderId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CloudStorageFolderItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/select-folder": {
      "post": {
        "summary": "Select the folder to watch for a cloud-storage integration",
        "description": "Select the folder to watch for a cloud-storage integration.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectFolderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/sync": {
      "post": {
        "summary": "Enqueue a background sync for a cloud-storage integration (returns immediately)",
        "description": "Enqueue a background sync for a cloud-storage integration (returns immediately).",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "const": "queued"
                    }
                  },
                  "required": [
                    "status"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/sync-records/{syncRecordId}/reimport": {
      "post": {
        "summary": "Re-import a file whose part was deleted inside Printago",
        "description": "Re-import a file whose part was deleted inside Printago.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "syncRecordId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "const": "queued"
                    }
                  },
                  "required": [
                    "status"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/sync-records": {
      "get": {
        "summary": "List all file sync records for a cloud-storage integration",
        "description": "List all file sync records for a cloud-storage integration.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CloudStorageSync"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/settings": {
      "patch": {
        "summary": "Update sync settings for a cloud-storage integration",
        "description": "Update sync settings for a cloud-storage integration.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloudStorageSettingsUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/integrations/cloud-storage/{provider}/{integrationId}/disconnect": {
      "post": {
        "summary": "Disconnect a cloud-storage integration",
        "description": "Disconnect a cloud-storage integration.",
        "tags": [
          "Cloud"
        ],
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "integrationId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/passkeys": {
      "get": {
        "summary": "List passkeys",
        "description": "List all passkeys registered by the current user",
        "tags": [
          "Passkeys"
        ],
        "operationId": "passkeys_list",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PasskeySummary"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/passkeys/{id}": {
      "patch": {
        "summary": "Rename a passkey",
        "description": "Rename a passkey",
        "tags": [
          "Passkeys"
        ],
        "operationId": "passkeys_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePasskeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        }
      },
      "delete": {
        "summary": "Delete a passkey",
        "description": "Delete a passkey",
        "tags": [
          "Passkeys"
        ],
        "operationId": "passkeys_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {}
            }
          }
        }
      }
    },
    "/v1/printers/{id}/history/last": {
      "get": {
        "summary": "Last printed history",
        "description": "Get the most recent print(s) on a printer, with related entities (part,\nSKU, job, order, order item) optionally inlined. \"Most recent\" means\nthe latest job that actually started printing and reached a terminal\nstate (completed, failed, or cancelled after the print began). Jobs\ncancelled while still in the queue are excluded. Each entry contains\nonly the refs you request; a requested ref with no value on the job\n(for example, a walk-in print with no order) is returned as null\nrather than being omitted. Unknown values in refs return a 400.",
        "tags": [
          "Printers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "required": true,
            "description": " The printer's unique identifier"
          },
          {
            "name": "refs",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^(part|sku|job|order|orderItem)(?:,(part|sku|job|order|orderItem))*$"
            },
            "required": false,
            "description": "Comma-separated subset of: part, sku, job, order, orderItem. Defaults\nto job when omitted."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 25
            },
            "required": false,
            "title": "Number of recent terminal jobs to return, 1 to 25. Defaults to 1",
            "description": "Number of recent terminal jobs to return, 1 to 25. Defaults to 1."
          }
        ],
        "responses": {
          "200": {
            "description": "Printer ID and an array of last-printed entries",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrinterHistoryLastResponse"
                }
              }
            }
          }
        },
        "x-permission": "printer.view, queue.view"
      }
    }
  },
  "components": {
    "schemas": {
      "Part": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "type": {
            "oneOf": [
              {
                "const": "scad"
              },
              {
                "const": "cadquery"
              },
              {
                "const": "build123d"
              },
              {
                "const": "stl"
              },
              {
                "const": "step"
              },
              {
                "const": "3mf"
              },
              {
                "const": "gcode3mf"
              },
              {
                "const": "gcode"
              }
            ]
          },
          "description": {
            "type": "string",
            "default": ""
          },
          "fileUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "fileHashes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameter"
            }
          },
          "printTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materials": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PartMaterial"
                }
              }
            ]
          },
          "slicerOverride": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "metadata": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Metadata3MF"
              }
            ]
          },
          "slicingEstimate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SlicingEstimate"
              }
            ]
          },
          "use3MFProcessProfile": {
            "type": "boolean",
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          "arrangeable": {
            "type": "boolean"
          },
          "userTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 10
          },
          "gcodePlateUris": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ]
          },
          "meshUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
            "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
          },
          "meshSourceHash": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
          },
          "meshError": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
          },
          "uploadedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ],
            "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "type",
          "description",
          "fileUris",
          "fileHashes",
          "thumbnailUri",
          "parameters",
          "printTags",
          "overriddenProcessProfileId",
          "materials",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "PartParameter": {
        "type": "object",
        "properties": {
          "default": {
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              },
              {
                "type": "boolean"
              }
            ]
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DropdownOption"
            }
          },
          "description": {
            "type": "string"
          },
          "min": {
            "type": "number"
          },
          "max": {
            "type": "number"
          },
          "step": {
            "type": "number"
          },
          "acceptedContentTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "File-parameter-only fields (populated when\n`type === PartParameterVariableType.File`). Kept optional on the\nshared interface so scalar-parameter call sites do not need\nunion-narrowing. See `FilePartParameter` for the strict shape.\n\n`acceptedContentTypes` is intentionally an OPEN `string[]` (not a\nnarrow union). The customizer emits SVG, but Etsy attachments and\ndirect API order ingestion can carry ANY mime type (PNG / JPG / PDF /\nAI / etc). Builders enforce kind constraints; the shared type stays\nopen."
          },
          "multiple": {
            "type": "boolean",
            "description": "Whether the slot accepts >1 file. Reserved for forward compat — the\nPhase 5 resolver assumes single-file per slot for v1."
          },
          "defaultUri": {
            "type": "string",
            "title": "Optional fallback file URI (e.g. a known SVG in storage)",
            "description": "Optional fallback file URI (e.g. a known SVG in storage)."
          },
          "label": {
            "type": "string",
            "maxLength": 255,
            "description": "What the parameter is shown under wherever a customer or an operator\nfills it in; `name` stays the key everything binds by (SKU options,\norder inputs, build overrides, and — for a 3MF text slot — the text\nvolume the substitution travels to). A parameter without one is shown\nunder its name.\n\nThis interface is the one the API's request validators are generated\nfrom, and it is a second declaration of the shape in\n`../part/parameter`. A field added to only one of them is accepted by\nthe code and then pruned off the wire."
          },
          "serialReuse": {
            "oneOf": [
              {
                "const": "share",
                "title": "One serial per plate print, applied to every matching occurrence",
                "description": "One serial per plate print, applied to every matching occurrence."
              },
              {
                "const": "increment",
                "title": "The next serial for each matching object instance on the plate",
                "description": "The next serial for each matching object instance on the plate."
              }
            ],
            "description": "For a 3MF text-slot parameter bound to a sequence: whether occurrences\nrepeated on one plate share a serial or each consume the next one.\nAbsent means {@link TextSlotSerialReuse.Share }, today's duplicate-name\nmeaning."
          },
          "sizing": {
            "oneOf": [
              {
                "const": "stretch",
                "title": "Fill the authored bounds exactly, distorting the glyphs if need be",
                "description": "Fill the authored bounds exactly, distorting the glyphs if need be."
              },
              {
                "const": "fit",
                "title": "Keep the authored proportions and size; shrink only to avoid overflow",
                "description": "Keep the authored proportions and size; shrink only to avoid overflow."
              },
              {
                "const": "unconstrained",
                "title": "Draw at the authored size and let a long value run past the bounds",
                "description": "Draw at the authored size and let a long value run past the bounds."
              }
            ],
            "description": "3MF text placeholders only: how a substituted value is sized against the\nbounds of the text volume it replaces. Absent means \"fit within bounds\",\nwhich is what every part declared before the setting existed carries.\nDeclared on this shape as well as on `../part/parameter` for the reason\n`label` is — the API's request validators are generated from this one,\nand a field on only the other is pruned off the wire."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "type": {
            "oneOf": [
              {
                "const": "number"
              },
              {
                "const": "string"
              },
              {
                "const": "boolean"
              },
              {
                "const": "file"
              }
            ]
          },
          "value": {
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "DropdownOption": {
        "type": "object",
        "properties": {
          "value": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "value"
        ]
      },
      "Tags": {
        "type": "object",
        "properties": {
          "printer.provider": {
            "type": "string",
            "minLength": 1
          },
          "printer.id": {
            "type": "string",
            "minLength": 1
          },
          "printer.nozzleDiameter": {
            "type": "string",
            "minLength": 1
          },
          "printer.modelName": {
            "type": "string",
            "minLength": 1
          },
          "filament.type": {
            "type": "string",
            "minLength": 1
          },
          "user.tags": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "PartMaterial": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number",
            "minimum": 0
          },
          "color": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^#{0,1}[0-9A-F]{6}|[0-9A-F]{8}$"
              }
            ]
          },
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "skip": {
            "type": "boolean"
          },
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "identifier": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "index",
          "color",
          "type"
        ]
      },
      "Metadata3MF": {
        "type": "object",
        "properties": {
          "printerModel": {
            "type": "string"
          },
          "filamentType": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentColors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentDensities": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "filamentDiameters": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "profileCompat": {
            "$ref": "#/components/schemas/ProfileCompat"
          },
          "slicerVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SlicerVersionInfo"
              }
            ]
          },
          "plates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Plate3MF"
            }
          },
          "filamentIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "textSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextSlot3MF"
            },
            "description": "PrintagoParam text slots with their per-plate occurrence identities,\nre-detected whenever the file is (re)processed. The saved reuse mode\nlives on the slot's parameter, which survives a file replacement; this\nis the geometry-derived half that must always track the current file."
          },
          "plateRenderSourceHash": {
            "type": "string",
            "description": "`fileHashes[0]` of the source that produced the plates'\n`thumbnailRenderedUri`. Re-extraction carries the renders forward only\nwhile this still matches the part's current source; a replaced file\nleaves them behind rather than showing the previous model's geometry."
          }
        },
        "required": [
          "printerModel",
          "filamentType",
          "filamentColors",
          "nozzleDiameter",
          "profileCompat"
        ]
      },
      "ProfileCompat": {
        "type": "object",
        "properties": {
          "sliced": {
            "type": "string"
          },
          "compatible": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "safe": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "sliced",
          "compatible",
          "safe"
        ]
      },
      "SlicerVersionInfo": {
        "type": "object",
        "properties": {
          "engine": {
            "oneOf": [
              {
                "const": "orcaslicer"
              },
              {
                "const": "bambu-studio"
              },
              {
                "const": "prusaslicer"
              },
              {
                "const": "superslicer"
              }
            ]
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "engine",
          "version"
        ]
      },
      "Plate3MF": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "locked": {
            "type": "boolean"
          },
          "filamentMapMode": {
            "type": "string"
          },
          "filamentMaps": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "gcodeFile": {
            "type": "string"
          },
          "thumbnailFile": {
            "type": "string"
          },
          "thumbnailUploadedUri": {
            "type": "string",
            "title": "The archive's own plate preview, copied out at metadata-extraction time",
            "description": "The archive's own plate preview, copied out at metadata-extraction time."
          },
          "thumbnailRenderedUri": {
            "type": "string",
            "description": "The plate re-rendered by the three.js builder. Written by a different\nflow, and to a different storage path, than the archive copy above — a\nlater metadata reprocess re-copies the archive image and must not be able\nto overwrite this. Prefer it over `thumbnailUploadedUri`\n(see `plateThumbnailUri`)."
          },
          "thumbnailNoLightFile": {
            "type": "string"
          },
          "thumbnailData": {
            "type": "string"
          },
          "topFile": {
            "type": "string"
          },
          "pickFile": {
            "type": "string"
          },
          "topData": {
            "type": "string",
            "title": "Base64 PNG data for the top/pick images, staged before upload then cleared",
            "description": "Base64 PNG data for the top/pick images, staged before upload then cleared."
          },
          "pickData": {
            "type": "string"
          },
          "topUploadedUri": {
            "type": "string",
            "title": "Uploaded URIs for the plate's top-down image and color-coded object pick mask",
            "description": "Uploaded URIs for the plate's top-down image and color-coded object pick mask.\nUsed by the visual skip-objects picker."
          },
          "pickUploadedUri": {
            "type": "string"
          },
          "patternBboxFile": {
            "type": "string"
          },
          "sliced": {
            "$ref": "#/components/schemas/PlateSliceInfo"
          },
          "filamentIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "PlateSliceInfo": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number"
          },
          "extruderType": {
            "type": "string"
          },
          "nozzleVolumeType": {
            "type": "string"
          },
          "printerModelId": {
            "type": "string"
          },
          "nozzleDiameters": {
            "type": "string"
          },
          "timelapseType": {
            "type": "string"
          },
          "prediction": {
            "type": "number"
          },
          "weight": {
            "type": "number"
          },
          "outside": {
            "type": "boolean"
          },
          "supportUsed": {
            "type": "boolean"
          },
          "labelObjectEnabled": {
            "type": "boolean"
          },
          "filamentMaps": {
            "type": "string"
          },
          "objects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "identifyId": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "skipped": {
                  "type": "boolean"
                }
              },
              "required": [
                "identifyId",
                "name",
                "skipped"
              ]
            }
          },
          "filaments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "trayInfoIdx": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "color": {
                  "type": "string"
                },
                "usedM": {
                  "type": "number"
                },
                "usedG": {
                  "type": "number"
                }
              },
              "required": [
                "id",
                "trayInfoIdx",
                "type",
                "color",
                "usedM",
                "usedG"
              ]
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "msg": {
                  "type": "string"
                },
                "level": {
                  "type": "number"
                },
                "errorCode": {
                  "type": "string"
                }
              },
              "required": [
                "msg",
                "level",
                "errorCode"
              ]
            }
          },
          "layerFilamentLists": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "filamentList": {
                  "type": "number"
                },
                "layerRanges": {
                  "type": "string"
                }
              },
              "required": [
                "filamentList",
                "layerRanges"
              ]
            }
          }
        }
      },
      "TextSlot3MF": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "title": "The matching volume/object name — the substitution key",
            "description": "The matching volume/object name — the substitution key."
          },
          "label": {
            "type": "string",
            "title": "The label this slot's parameter is shown under",
            "description": "The label this slot's parameter is shown under."
          },
          "text": {
            "type": "string",
            "description": "The text authored into the volume. It prints as-is when the slot goes\nunfilled, which makes it the parameter's default."
          },
          "volumeCount": {
            "type": "number",
            "title": "How many text volumes in the file carry this slot name",
            "description": "How many text volumes in the file carry this slot name."
          },
          "fontName": {
            "type": "string",
            "title": "`font_name` of the first volume seen with this key",
            "description": "`font_name` of the first volume seen with this key."
          },
          "fontVersion": {
            "type": "string",
            "title": "`font_version` of the first volume seen with this key",
            "description": "`font_version` of the first volume seen with this key."
          },
          "surfaceType": {
            "type": "number",
            "title": "`surface_type` of the first volume seen with this key (0=flat)",
            "description": "`surface_type` of the first volume seen with this key (0=flat)."
          },
          "occurrences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextSlotOccurrence"
            },
            "title": "Every printable object instance carrying this slot, across all plates",
            "description": "Every printable object instance carrying this slot, across all plates.\nAbsent when the file predates occurrence detection or has no plate\nmetadata to resolve instances against."
          }
        },
        "required": [
          "key",
          "label",
          "text",
          "volumeCount"
        ]
      },
      "TextSlotOccurrence": {
        "type": "object",
        "properties": {
          "plateId": {
            "type": "number"
          },
          "objectId": {
            "type": "string",
            "title": "`model_settings.config` object id (matches the root model's build items)",
            "description": "`model_settings.config` object id (matches the root model's build items)."
          },
          "instanceId": {
            "type": "number",
            "title": "0-based instance index among the object's build items",
            "description": "0-based instance index among the object's build items."
          },
          "identifyId": {
            "type": "string",
            "title": "Bambu's per-instance id, when present (matches gcode object labels)",
            "description": "Bambu's per-instance id, when present (matches gcode object labels)."
          }
        },
        "required": [
          "plateId",
          "objectId",
          "instanceId"
        ],
        "description": "One printable object instance carrying a text slot: a plate's\n`model_instance` (Bambu's stable `(object_id, instance_id)` identity)\nwhose object definition contains at least one text volume with the slot's\nname. Order within a slot's `occurrences` is document order — plates in\nfile order, instances in each plate's `model_instance` order — which is\nthe deterministic order increment-mode serials are assigned in."
      },
      "SlicingEstimate": {
        "type": "object",
        "properties": {
          "estimatedPrintTimeSeconds": {
            "type": "number"
          },
          "materials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SlicingMaterialUsage"
            }
          },
          "totalWeightGrams": {
            "type": "number"
          },
          "profiles": {
            "$ref": "#/components/schemas/SlicingProfileInfo"
          },
          "slicedAt": {
            "type": "string"
          },
          "slicerVersion": {
            "type": "string"
          },
          "plates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlateSlicingEstimate"
            }
          }
        },
        "required": [
          "estimatedPrintTimeSeconds",
          "materials",
          "totalWeightGrams",
          "slicedAt",
          "slicerVersion"
        ]
      },
      "SlicingMaterialUsage": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number"
          },
          "usedGrams": {
            "type": "number"
          },
          "usedMeters": {
            "type": "number"
          },
          "materialType": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        },
        "required": [
          "index",
          "usedGrams",
          "usedMeters",
          "materialType"
        ]
      },
      "SlicingProfileInfo": {
        "type": "object",
        "properties": {
          "machineProfileId": {
            "type": "string"
          },
          "machineProfileName": {
            "type": "string"
          },
          "processProfileId": {
            "type": "string"
          },
          "processProfileName": {
            "type": "string"
          },
          "filamentProfileIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentProfileNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "machineProfileId",
          "machineProfileName",
          "processProfileId",
          "processProfileName",
          "filamentProfileIds",
          "filamentProfileNames"
        ]
      },
      "PlateSlicingEstimate": {
        "type": "object",
        "properties": {
          "plateId": {
            "type": "number"
          },
          "estimatedPrintTimeSeconds": {
            "type": "number"
          },
          "materials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SlicingMaterialUsage"
            }
          },
          "totalWeightGrams": {
            "type": "number"
          }
        },
        "required": [
          "plateId",
          "estimatedPrintTimeSeconds",
          "materials",
          "totalWeightGrams"
        ]
      },
      "Recordstringstring": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "string"
        }
      },
      "Recordstringunknown": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {}
      },
      "SearchResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Recordstringany"
            },
            "title": "Data",
            "description": "Array of matching entities"
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number",
                "title": "Total",
                "description": "Total number of matching records (before pagination)"
              },
              "count": {
                "type": "number",
                "title": "Count",
                "description": "Number of records returned in this response"
              },
              "offset": {
                "type": "number",
                "title": "Offset",
                "description": "Number of records skipped"
              },
              "limit": {
                "type": "number",
                "title": "Limit",
                "description": "Maximum number of records requested"
              },
              "hasMore": {
                "type": "boolean",
                "title": "Has More",
                "description": "Whether there are more records available"
              },
              "executionTime": {
                "type": "number",
                "title": "Execution Time",
                "description": "Query execution time in milliseconds"
              }
            },
            "required": [
              "total",
              "count",
              "offset",
              "limit",
              "hasMore",
              "executionTime"
            ],
            "title": "Metadata",
            "description": "Pagination and result metadata"
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "title": "Search Response",
        "description": "Standardized search response with data, metadata, and query information"
      },
      "Recordstringany": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {}
      },
      "namestringundefinedtypestringundefineddescriptionstringundefinedfileUrisstringundefinedfileHashesstringundefinedthumbnailUristringundefined...21more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "fileUris": {
            "type": "string"
          },
          "fileHashes": {
            "type": "string"
          },
          "thumbnailUri": {
            "type": "string"
          },
          "parameters": {
            "type": "string"
          },
          "printTags": {
            "type": "string"
          },
          "overriddenProcessProfileId": {
            "type": "string"
          },
          "folderId": {
            "type": "string"
          },
          "materials": {
            "type": "string"
          },
          "slicerOverride": {
            "type": "string"
          },
          "metadata": {
            "type": "string"
          },
          "slicingEstimate": {
            "type": "string"
          },
          "use3MFProcessProfile": {
            "type": "string",
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          "arrangeable": {
            "type": "string"
          },
          "userTags": {
            "type": "string"
          },
          "gcodePlateUris": {
            "type": "string"
          },
          "meshUri": {
            "type": "string",
            "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
            "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
          },
          "meshSourceHash": {
            "type": "string",
            "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
          },
          "meshError": {
            "type": "string",
            "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
          },
          "uploadedAt": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPart": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPart",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPart": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPart"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPart"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "description": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "fileUris": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "fileHashes": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "thumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "parameters": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printTags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "overriddenProcessProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "folderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materials": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicerOverride": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "metadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicingEstimate": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "use3MFProcessProfile": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          "arrangeable": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "userTags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "gcodePlateUris": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "meshUri": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
            "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
          },
          "meshSourceHash": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
          },
          "meshError": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
          },
          "uploadedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "FieldOperators": {
        "type": "object",
        "properties": {
          "eq": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "title": "Equals",
            "description": "Field value equals the specified value"
          },
          "ne": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "title": "Not Equals",
            "description": "Field value does not equal the specified value"
          },
          "gt": {
            "oneOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ],
            "title": "Greater Than",
            "description": "Field value is greater than the specified value"
          },
          "gte": {
            "oneOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ],
            "title": "Greater Than or Equal",
            "description": "Field value is greater than or equal to the specified value"
          },
          "lt": {
            "oneOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ],
            "title": "Less Than",
            "description": "Field value is less than the specified value"
          },
          "lte": {
            "oneOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ],
            "title": "Less Than or Equal",
            "description": "Field value is less than or equal to the specified value"
          },
          "contains": {
            "type": "string",
            "title": "Contains",
            "description": "Field value contains the specified substring (case-insensitive)"
          },
          "startsWith": {
            "type": "string",
            "title": "Starts With",
            "description": "Field value starts with the specified string (case-insensitive)"
          },
          "endsWith": {
            "type": "string",
            "title": "Ends With",
            "description": "Field value ends with the specified string (case-insensitive)"
          },
          "in": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "title": "In Array",
            "description": "Field value is one of the specified values"
          },
          "notIn": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "title": "Not In Array",
            "description": "Field value is not one of the specified values"
          },
          "isNull": {
            "type": "boolean",
            "title": "Is Null",
            "description": "Field value is null or not null"
          },
          "between": {
            "type": "array",
            "prefixItems": [
              {
                "oneOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              {
                "oneOf": [
                  {
                    "type": "string",
                    "format": "date-time"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            ],
            "additionalItems": false,
            "title": "Between",
            "description": "Field value is between two values (inclusive)"
          }
        },
        "title": "Field Operators",
        "description": "Available operators for filtering field values"
      },
      "PartInsertWithMaterials": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "type": {
            "oneOf": [
              {
                "const": "scad"
              },
              {
                "const": "cadquery"
              },
              {
                "const": "build123d"
              },
              {
                "const": "stl"
              },
              {
                "const": "step"
              },
              {
                "const": "3mf"
              },
              {
                "const": "gcode3mf"
              },
              {
                "const": "gcode"
              }
            ]
          },
          "description": {
            "type": "string",
            "default": ""
          },
          "fileUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameter"
            }
          },
          "printTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "slicerOverride": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "use3MFProcessProfile": {
            "type": "boolean",
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          "arrangeable": {
            "type": "boolean"
          },
          "userTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 10
          },
          "assignedMaterials": {
            "$ref": "#/components/schemas/EmbeddedPartMaterialAssignments"
          }
        },
        "required": [
          "name",
          "type",
          "description",
          "fileUris",
          "parameters",
          "printTags",
          "overriddenProcessProfileId"
        ]
      },
      "EmbeddedPartMaterialAssignments": {
        "type": "object",
        "properties": {},
        "additionalProperties": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "materialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "materialId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "variantId": {
                    "type": "string"
                  }
                },
                "required": [
                  "variantId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialType": {
                    "type": "string"
                  }
                },
                "required": [
                  "materialType"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string"
                  }
                },
                "required": [
                  "groupId"
                ]
              }
            ]
          }
        }
      },
      "UpdateManyRequestPartUpdateWithMaterials": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "update": {
            "$ref": "#/components/schemas/PartialPartUpdateWithMaterials"
          }
        },
        "required": [
          "ids",
          "update"
        ]
      },
      "PartialPartUpdateWithMaterials": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "type": {
            "oneOf": [
              {
                "const": "scad"
              },
              {
                "const": "cadquery"
              },
              {
                "const": "build123d"
              },
              {
                "const": "stl"
              },
              {
                "const": "step"
              },
              {
                "const": "3mf"
              },
              {
                "const": "gcode3mf"
              },
              {
                "const": "gcode"
              }
            ]
          },
          "description": {
            "type": "string",
            "default": ""
          },
          "fileUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameter"
            }
          },
          "printTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "slicerOverride": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "use3MFProcessProfile": {
            "type": "boolean",
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          "arrangeable": {
            "type": "boolean"
          },
          "userTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 10
          },
          "assignedMaterials": {
            "$ref": "#/components/schemas/EmbeddedPartMaterialAssignments"
          }
        },
        "description": "Make all properties in T optional"
      },
      "PartUpdateWithMaterials": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "type": {
            "oneOf": [
              {
                "const": "scad"
              },
              {
                "const": "cadquery"
              },
              {
                "const": "build123d"
              },
              {
                "const": "stl"
              },
              {
                "const": "step"
              },
              {
                "const": "3mf"
              },
              {
                "const": "gcode3mf"
              },
              {
                "const": "gcode"
              }
            ]
          },
          "description": {
            "type": "string",
            "default": ""
          },
          "fileUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameter"
            }
          },
          "printTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "slicerOverride": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "use3MFProcessProfile": {
            "type": "boolean",
            "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
          },
          "arrangeable": {
            "type": "boolean"
          },
          "userTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 10
          },
          "assignedMaterials": {
            "$ref": "#/components/schemas/EmbeddedPartMaterialAssignments"
          }
        }
      },
      "Sku": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "externalProvider": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "totalCogs": {
            "type": "number"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "sku",
          "title",
          "description",
          "externalId",
          "externalProvider",
          "totalCogs",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "Extract3MFMetadataResponse": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata3MF"
          },
          "materials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartMaterial"
            }
          },
          "hasEmbeddedGcode": {
            "type": "boolean"
          }
        },
        "required": [
          "metadata",
          "materials",
          "hasEmbeddedGcode"
        ]
      },
      "Extract3MFMetadataRequest": {
        "type": "object",
        "properties": {
          "fileUri": {
            "type": "string",
            "description": "An `uploads:`-prefixed staging path returned by signed-upload-urls"
          }
        },
        "required": [
          "fileUri"
        ]
      },
      "Printer": {
        "type": "object",
        "properties": {
          "provider": {
            "oneOf": [
              {
                "const": "OctoPrint"
              },
              {
                "const": "Prusa"
              },
              {
                "const": "Bambu"
              },
              {
                "const": "Klipper"
              },
              {
                "const": "SDCP"
              },
              {
                "const": "ElegooMqtt",
                "description": "Elegoo Centauri Carbon 2 family — uses MQTT-on-printer (embedded\nbroker on port 1883) rather than SDCP WebSocket. Distinct provider\nbecause the protocol shape, discovery (UDP 52700), and auth model\n(default `elegoo`/`123456` or access-code-derived password) all\ndiffer from `SDCP`."
              },
              {
                "const": "Anycubic",
                "description": "Anycubic Kobra-series (Kobra X / S1 / S1 Max) — uses the Anycubic\nLAN-mode MQTTS protocol (broker on port 9883, mutual-TLS with the\nAnycubicSlicer client cert) reached after an HTTP `/info` + `/ctrl`\ncredential-minting handshake on port 18910. EXPERIMENTAL."
              }
            ]
          },
          "deviceId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "providerConfig": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BambuConfig"
              }
            ]
          },
          "machineUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "machineSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "processUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "processSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "metadata": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BambuPrinterMetadata"
              },
              {
                "$ref": "#/components/schemas/KlipperMetadata"
              },
              {
                "$ref": "#/components/schemas/PrusaMetadata"
              },
              {
                "$ref": "#/components/schemas/SdcpMetadata"
              },
              {
                "$ref": "#/components/schemas/OctoPrintMetadata"
              }
            ]
          },
          "proxyClientId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "commMethod": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambu-global-mqtt"
              },
              {
                "const": "bambu-cloud-v2"
              },
              {
                "const": "octoprint-mqtt"
              },
              {
                "const": "fuse"
              }
            ]
          },
          "enabled": {
            "type": "boolean"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "confirmedReady": {
            "type": "boolean"
          },
          "isAvailable": {
            "type": "boolean"
          },
          "isOnline": {
            "type": "boolean"
          },
          "printingJobId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "lastPrintedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "integrationType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambulab"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "continuousPrint": {
            "type": "boolean"
          },
          "fabmaticRemainingJobs": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "bedSize": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  },
                  "z": {
                    "type": "number"
                  }
                },
                "required": [
                  "x",
                  "y",
                  "z"
                ]
              }
            ],
            "description": "{x,y,z} mm build volume, denormalized from the machine profile's\nprintable_area/printable_height. Cache only — refreshed whenever the\nprinter's machine profile changes; the profile is the source of truth."
          },
          "modelName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Human-readable model name (e.g. \"P1S\", \"Snapmaker U1\", \"Prusa CORE One\")"
          },
          "vendorName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Vendor/manufacturer name (e.g. \"Bambu Lab\", \"Prusa\", \"Snapmaker\")"
          },
          "vendorModelId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "printerCapabilityPatch": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrinterCommCapabilities"
              }
            ],
            "title": "Per-printer capability override applied last (web Advanced Capabilities panel)",
            "description": "Per-printer capability override applied last (web Advanced Capabilities panel)."
          },
          "printerAdapterBindingsPatch": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrinterAdapterBindings"
              }
            ],
            "title": "Per-printer adapter binding override applied last",
            "description": "Per-printer adapter binding override applied last."
          },
          "lifetimePrintHours": {
            "type": "number"
          },
          "lifetimeJobCount": {
            "type": "number"
          },
          "isInMaintenance": {
            "type": "boolean"
          },
          "lastMaintenanceOfflineAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "lastMaintenanceOnlineAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "provider",
          "deviceId",
          "providerConfig",
          "machineUserProfileId",
          "machineSystemProfileId",
          "processUserProfileId",
          "processSystemProfileId",
          "name",
          "nozzleDiameter",
          "metadata",
          "proxyClientId",
          "commMethod",
          "enabled",
          "confirmedReady",
          "isAvailable",
          "isOnline",
          "printingJobId",
          "lastPrintedAt",
          "integrationId",
          "integrationType",
          "continuousPrint",
          "fabmaticRemainingJobs",
          "bedSize",
          "modelName",
          "vendorName",
          "vendorModelId",
          "printerCapabilityPatch",
          "printerAdapterBindingsPatch",
          "lifetimePrintHours",
          "lifetimeJobCount",
          "lastMaintenanceOfflineAt",
          "lastMaintenanceOnlineAt",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "BambuConfig": {
        "type": "object",
        "properties": {
          "use_ams": {
            "type": "boolean"
          },
          "do_bed_leveling": {
            "type": "boolean"
          },
          "do_flow_cali": {
            "type": "boolean"
          },
          "do_vibration_compensation": {
            "type": "boolean"
          },
          "bed_type": {
            "oneOf": [
              {
                "const": "Cool Plate"
              },
              {
                "const": "Engineering Plate"
              },
              {
                "const": "High Temp Plate"
              },
              {
                "const": "Textured PEI Plate"
              },
              {
                "const": "Supertack Plate"
              }
            ]
          },
          "enable_timelapse": {
            "type": "boolean"
          },
          "print_platform_type": {
            "type": "string"
          }
        }
      },
      "BambuPrinterMetadata": {
        "type": "object",
        "properties": {
          "provider": {
            "const": "bambu"
          },
          "name": {
            "type": "string"
          },
          "dev_id": {
            "type": "string"
          },
          "online": {
            "type": "boolean"
          },
          "print_status": {
            "type": "string"
          },
          "dev_model_name": {
            "type": "string"
          },
          "dev_access_code": {
            "type": "string"
          },
          "nozzle_diameter": {
            "type": "number"
          },
          "dev_product_name": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "dev_id",
          "online",
          "print_status",
          "dev_model_name",
          "dev_access_code",
          "nozzle_diameter",
          "dev_product_name"
        ]
      },
      "KlipperMetadata": {
        "type": "object",
        "properties": {
          "provider": {
            "const": "klipper"
          },
          "moonraker_host": {
            "type": "string"
          },
          "moonraker_port": {
            "type": "number"
          },
          "api_key": {
            "type": "string"
          },
          "nozzle_diameter": {
            "type": "number"
          },
          "extruder_count": {
            "type": "number"
          },
          "kinematics": {
            "type": "string"
          },
          "max_velocity": {
            "type": "number"
          },
          "max_accel": {
            "type": "number"
          },
          "mmu_type": {
            "oneOf": [
              {
                "const": "none"
              },
              {
                "const": "ercf"
              },
              {
                "const": "mmu"
              },
              {
                "const": "toolchanger"
              }
            ]
          },
          "mmu_slots": {
            "type": "number"
          }
        },
        "required": [
          "provider",
          "moonraker_port",
          "nozzle_diameter",
          "extruder_count"
        ]
      },
      "PrusaMetadata": {
        "type": "object",
        "properties": {
          "provider": {
            "const": "prusa"
          },
          "password": {
            "type": "string"
          },
          "nozzle_diameter": {
            "type": "number"
          },
          "poll_interval_ms": {
            "type": "number"
          }
        },
        "required": [
          "provider",
          "password",
          "nozzle_diameter"
        ]
      },
      "SdcpMetadata": {
        "type": "object",
        "properties": {
          "provider": {
            "const": "sdcp"
          },
          "nozzle_diameter": {
            "type": "number"
          },
          "mainboard_id": {
            "type": "string"
          }
        },
        "required": [
          "provider",
          "nozzle_diameter"
        ]
      },
      "OctoPrintMetadata": {
        "type": "object",
        "properties": {
          "provider": {
            "const": "octoprint"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "number"
          },
          "api_key": {
            "type": "string"
          },
          "use_https": {
            "type": "boolean"
          },
          "nozzle_diameter": {
            "type": "number"
          },
          "poll_interval_ms": {
            "type": "number"
          }
        },
        "required": [
          "provider",
          "host",
          "port",
          "api_key"
        ]
      },
      "JsonMergePatchPrinterCommCapabilities": {
        "type": "object",
        "properties": {
          "nozzles": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "temperature": {
                      "type": "object",
                      "properties": {
                        "read": {
                          "type": "boolean"
                        },
                        "set": {
                          "type": "boolean"
                        }
                      }
                    },
                    "extrude": {
                      "type": "boolean"
                    },
                    "toolRef": {
                      "type": "string"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "tools": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "selectable": {
                      "type": "boolean"
                    },
                    "nozzleRefs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "fanRefs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "sensorRefs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "fans": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "oneOf": [
                        {
                          "const": "part"
                        },
                        {
                          "const": "aux"
                        },
                        {
                          "const": "chamber"
                        },
                        {
                          "const": "hotend"
                        },
                        {
                          "const": "exhaust"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "length": {
                              "type": "number",
                              "title": "Returns the length of a String object",
                              "description": "Returns the length of a String object."
                            }
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      ]
                    },
                    "controllable": {
                      "type": "boolean"
                    },
                    "reportsSpeed": {
                      "type": "boolean",
                      "description": "Whether the printer reports back a live fan speed. Defaults to true\n(omitted). Set false for write-only fans (e.g. OctoPrint, whose REST API\naccepts M106 but never surfaces a speed) so diagnostics skip the readback\nverification instead of failing a check they can't perform."
                    },
                    "nozzleRef": {
                      "type": "string"
                    },
                    "toolRef": {
                      "type": "string"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "lights": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "oneOf": [
                        {
                          "const": "chamber"
                        },
                        {
                          "const": "work"
                        },
                        {
                          "const": "indicator"
                        },
                        {
                          "const": "strip"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "length": {
                              "type": "number",
                              "title": "Returns the length of a String object",
                              "description": "Returns the length of a String object."
                            }
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      ]
                    },
                    "dimmable": {
                      "type": "boolean"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "sensors": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "oneOf": [
                        {
                          "const": "lidar"
                        },
                        {
                          "const": "filament_runout"
                        },
                        {
                          "const": "door"
                        },
                        {
                          "const": "accelerometer"
                        },
                        {
                          "const": "bed_mesh"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "length": {
                              "type": "number",
                              "title": "Returns the length of a String object",
                              "description": "Returns the length of a String object."
                            }
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      ]
                    },
                    "nozzleRef": {
                      "type": "string"
                    },
                    "toolRef": {
                      "type": "string"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "beds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "temperature": {
                      "type": "object",
                      "properties": {
                        "read": {
                          "type": "boolean"
                        },
                        "set": {
                          "type": "boolean"
                        }
                      }
                    },
                    "hasMesh": {
                      "type": "boolean"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "chambers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "temperature": {
                      "type": "object",
                      "properties": {
                        "read": {
                          "type": "boolean"
                        },
                        "set": {
                          "type": "boolean"
                        }
                      }
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "axes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "axis": {
                      "oneOf": [
                        {
                          "const": "x"
                        },
                        {
                          "const": "y"
                        },
                        {
                          "const": "z"
                        }
                      ]
                    },
                    "move": {
                      "type": "boolean"
                    },
                    "home": {
                      "type": "boolean"
                    },
                    "flipped": {
                      "type": "boolean"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "filaments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "canReadFilament": {
                      "type": "boolean",
                      "title": "True if printer hardware can read filament info from this source",
                      "description": "True if printer hardware can read filament info from this source."
                    },
                    "canLoad": {
                      "type": "boolean",
                      "title": "True if printer can auto-load filament into this source",
                      "description": "True if printer can auto-load filament into this source."
                    },
                    "canUnload": {
                      "type": "boolean",
                      "title": "True if printer can auto-unload filament",
                      "description": "True if printer can auto-unload filament."
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ],
            "description": "Directly-fed filament sources. An array because some printers feed\nmultiple positions simultaneously (Bambu external bay = 2, Snapmaker\nU1 = 4, Bambu H2D = 2+). Each entry is one loadable position.\nAMS / MMU / ERCF / CFS / toolchanger live separately under\n`peripherals` and are presented alongside these in the UI's\nFilaments view."
          },
          "cameras": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "protocol": {
                      "oneOf": [
                        {
                          "const": "mjpeg-bambu"
                        },
                        {
                          "const": "rtsps-bambu"
                        },
                        {
                          "const": "webrtc"
                        },
                        {
                          "const": "rtsp"
                        },
                        {
                          "const": "rtsps"
                        },
                        {
                          "const": "mjpeg-http"
                        },
                        {
                          "const": "http-flv"
                        },
                        {
                          "const": "http-snapshot"
                        },
                        {
                          "const": "http-snapshot-poll"
                        }
                      ]
                    },
                    "mounting": {
                      "oneOf": [
                        {
                          "const": "builtin"
                        },
                        {
                          "const": "external"
                        }
                      ],
                      "title": "`builtin`: seeded by the capability set, locked in the UI",
                      "description": "`builtin`: seeded by the capability set, locked in the UI.\n`external`: user-attached; editable + removable via printer config."
                    },
                    "url": {
                      "type": "string",
                      "description": "Literal stream URL. Required for non-Bambu protocols, EXCEPT for\n`mjpeg-http` cameras whose endpoint can be synthesized from\n`printer.ip + port` (path-agnostic MJPEG, e.g. Elegoo Centauri\nCarbon 2 on `:8080`). Set `url` when the camera is at a third-party\nabsolute address; otherwise just set `port` and let the go2rtc\ngenerator build `http://${printer.ip}:${port}/`."
                    },
                    "port": {
                      "type": "number",
                      "title": "Override default port for the protocol",
                      "description": "Override default port for the protocol."
                    },
                    "path": {
                      "type": "string",
                      "description": "Override the URL path for `mjpeg-http` (default `/`). Used when the\nstream sits behind a fixed path on the printer's web server — e.g.\nMainsail/Fluidd-style `/webcam/?action=stream` for camera-streamer\nor mjpg-streamer. Combined with `printer.ip + port` to build the\nfull URL when `url` isn't set."
                    },
                    "auth": {
                      "type": "string",
                      "description": "Auth credentials for the stream — `Bearer ...`, `user:pass`, or a\nquery-string fragment. Bambu protocols ignore this; their auth is\nderived from `printer.accessCode`."
                    },
                    "role": {
                      "oneOf": [
                        {
                          "const": "overhead"
                        },
                        {
                          "const": "bed"
                        },
                        {
                          "const": "chamber"
                        },
                        {
                          "const": "toolhead"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "length": {
                              "type": "number",
                              "title": "Returns the length of a String object",
                              "description": "Returns the length of a String object."
                            }
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      ],
                      "title": "UX-only role for grouping/labeling",
                      "description": "UX-only role for grouping/labeling."
                    },
                    "snapshots": {
                      "type": "boolean",
                      "title": "Whether to capture periodic snapshots. Defaults true if unset",
                      "description": "Whether to capture periodic snapshots. Defaults true if unset."
                    },
                    "timelapse": {
                      "type": "boolean",
                      "title": "Whether to record timelapses. Defaults true if unset",
                      "description": "Whether to record timelapses. Defaults true if unset."
                    },
                    "primary": {
                      "type": "boolean",
                      "description": "When true, this is the printer's primary camera: it owns the bare\n`printer.id` go2rtc stream key, so the live dashboard/printer tile,\nperiodic snapshots, the print-completion thumbnail, and timelapses\nall read from it instead of the built-in camera. At most one camera\nper printer should set this; when none do, the first camera\n(index 0, normally the built-in) is the implicit primary."
                    },
                    "webrtcSignaling": {
                      "type": "object",
                      "properties": {
                        "flavor": {
                          "oneOf": [
                            {
                              "const": "whep"
                            },
                            {
                              "const": "creality-base64-json"
                            },
                            {
                              "const": "go2rtc-ws"
                            }
                          ]
                        },
                        "path": {
                          "type": "string",
                          "title": "Endpoint path or full URL for the signaling request",
                          "description": "Endpoint path or full URL for the signaling request."
                        }
                      },
                      "description": "SDP-exchange config for `protocol: 'webrtc'`. Required when protocol\nis `'webrtc'`; ignored otherwise. The transport itself is always\nstandard WebRTC; this only describes how the offer/answer get traded.\n\nFor `creality-base64-json`, the signaling URL is built from\n`printer.ip:port` + `path` (e.g. http://192.168.1.26:8000/call/webrtc_local).\nFor `whep`, `path` may be a full URL or a path appended to the camera's\nbase URL."
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ],
            "description": "Cameras attached to the printer. Built-in (`mounting:'builtin'`)\ncameras come from the printer's capability set; external IP/RTSP\ncameras (`mounting:'external'`) are added via printer config.\n\nReplaces the legacy `getCameraProtocol(modelCode)` lookup — all\ncamera config flows through this array."
          },
          "peripherals": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "oneOf": [
                        {
                          "const": "ercf"
                        },
                        {
                          "const": "mmu"
                        },
                        {
                          "const": "toolchanger"
                        },
                        {
                          "const": "ams"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "length": {
                              "type": "number",
                              "title": "Returns the length of a String object",
                              "description": "Returns the length of a String object."
                            }
                          },
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      ]
                    },
                    "maxUnits": {
                      "type": "number"
                    },
                    "slotsPerUnit": {
                      "type": "number"
                    },
                    "minSlotsPerUnit": {
                      "type": "number"
                    },
                    "maxSlotsPerUnit": {
                      "type": "number"
                    },
                    "canReadFilament": {
                      "type": "boolean"
                    },
                    "canLoad": {
                      "type": "boolean"
                    },
                    "canUnload": {
                      "type": "boolean"
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Optional vendor/extensible subtype when the base role is not enough"
                    }
                  }
                }
              }
            ]
          },
          "printing": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatch__type"
              }
            ]
          },
          "filament": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatch__type.o1"
              }
            ]
          },
          "files": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatch__type.o2"
              }
            ]
          },
          "gcode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "oneOf": [
                        {
                          "const": "boolean"
                        },
                        {
                          "const": "enum"
                        }
                      ]
                    },
                    "default": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "boolean"
                        }
                      ],
                      "title": "UI default when the stored providerConfig is null / missing the key",
                      "description": "UI default when the stored providerConfig is null / missing the key."
                    },
                    "choices": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          }
                        }
                      },
                      "title": "For `kind: \"enum\"`: allowed values with display labels",
                      "description": "For `kind: \"enum\"`: allowed values with display labels."
                    },
                    "description": {
                      "type": "string",
                      "title": "Tooltip help text rendered next to the label",
                      "description": "Tooltip help text rendered next to the label."
                    },
                    "ref": {
                      "type": "string",
                      "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                      "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                    },
                    "label": {
                      "type": "string",
                      "description": "Human-readable display name"
                    }
                  }
                }
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatch__type": {
        "type": "object",
        "properties": {
          "start": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "pause": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "resume": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "stop": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "skipObjects": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatch__type.o1": {
        "type": "object",
        "properties": {
          "setInfo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "read": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "dynamicSlots": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatch__type.o2": {
        "type": "object",
        "properties": {
          "upload": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "list": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchPrinterAdapterBindings": {
        "type": "object",
        "properties": {
          "bambu": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchBambuAdapterBindings"
              }
            ]
          },
          "klipper": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchKlipperAdapterBindings"
              }
            ]
          },
          "prusa": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrusaAdapterBindings"
              }
            ]
          },
          "sdcp": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchSdcpAdapterBindings"
              }
            ]
          },
          "elegoo-mqtt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchElegooMqttAdapterBindings"
              }
            ]
          },
          "anycubic": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchAnycubicAdapterBindings"
              }
            ]
          },
          "octoprint": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchOctoprintAdapterBindings"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchBambuAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ],
            "description": "Shape version. Present on v1 payloads; absent on legacy payloads that\npre-date the refactor. Resolvers branch on this: v1 uses the adapter-\nlevel `commands` map + component kinds; legacy falls back to per-ref\nprefix conventions so old data keeps rendering."
          },
          "commands": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPartialRecordBambuCommandNameTemplateBinding"
              }
            ],
            "title": "Adapter-level command templates. Populated on v1 bindings",
            "description": "Adapter-level command templates. Populated on v1 bindings."
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringBambuComponentBinding"
              }
            ],
            "title": "Component bindings keyed by Printago ref",
            "description": "Component bindings keyed by Printago ref."
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringBambuPrintOptionBinding"
              }
            ],
            "description": "Print-option bindings keyed by capability ref. Used by the Bambu\ncommand generator to build the `print.project_file` payload from the\nstored `providerConfig`. Also consumed by the web form to bind each\nUI widget to the right storage key."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchPartialRecordBambuCommandNameTemplateBinding": {
        "type": "object",
        "properties": {
          "setNozzleTemperature": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setBedTemperature": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setFan": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setLight": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "selectTool": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchTemplateBinding": {
        "type": "object",
        "properties": {
          "template": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Protocol-specific command template. Supports flat and dotted-path\nplaceholders resolved by renderBindingTemplate. Common placeholders:\n- {temperature}, {speed}, {fraction}, {pwm}, {value} — scalar arguments\n- {component.heater}, {component.fan}, {component.selectCommand} — fields\n  from the resolved component binding\n- {klipper.<field>} — adapter-level fields (reserved; currently unused)\nMissing placeholders cause the template to fail rendering with the\nstructured { ok: false, missing: string[] } result."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringBambuComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchBambuComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchBambuComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "fan"
              },
              {
                "const": "light"
              },
              {
                "const": "tool"
              }
            ],
            "description": "Kind discriminator. Present on every v1 component. Legacy Bambu\nbindings (pre-v1) may omit this; the resolver falls back to the\nref-prefix convention (`nozzle_` → nozzle, `fan_` → fan, etc.) so\nolder data keeps working through the deprecation window."
          },
          "fanChannel": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `fan` components: Bambu's channel label used by the adapter-level\n`setFan` template (`M106 {component.fanChannel} S{pwm}`). Examples:\n`P1`, `P2`, `P3`."
          },
          "ledNode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "For `light` components: the printer-side LED node name (e.g",
            "description": "For `light` components: the printer-side LED node name (e.g.\n`chamber_light`, `work_light`) used by the adapter-level `setLight`\ntemplate. Bambu light commands are MQTT JSON, not gcode — callers\nread this value directly via `resolveBambuLedNode`."
          },
          "selectCommand": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `tool` components: the gcode fragment the `selectTool` template\nuses to switch to this tool. IDEX printers (H2D/H2C) expose this."
          },
          "temperatureCommand": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ],
            "title": "Optional per-component override for the temperature command template",
            "description": "Optional per-component override for the temperature command template.\nTakes precedence over the adapter-level `commands.setNozzleTemperature`\n/ `setBedTemperature`. Use only when a specific ref needs non-standard\ngcode (very rare on Bambu, which uses Marlin-style M104/M140 for every\nnozzle + bed)."
          },
          "fanCommand": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ],
            "title": "Per-component override for the fan command template. Rare",
            "description": "Per-component override for the fan command template. Rare."
          },
          "toolSelectCommand": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ],
            "title": "Per-component override for the tool-select template. Rare",
            "description": "Per-component override for the tool-select template. Rare."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringBambuPrintOptionBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchBambuPrintOptionBinding"
            }
          ]
        }
      },
      "JsonMergePatchBambuPrintOptionBinding": {
        "type": "object",
        "properties": {
          "storageKey": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Key inside `printer.providerConfig` (a `BambuConfig` today) that\nholds this option's stored value. Lets the capability-schema ref\nstay clean (`bed_leveling`) while the stored field keeps its\nhistorical name (`do_bed_leveling`). No DB migration on stored rows."
          },
          "payloadField": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Field name inside the MQTT `print.project_file` payload",
            "description": "Field name inside the MQTT `print.project_file` payload."
          },
          "defaultValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              },
              {
                "type": "boolean"
              }
            ],
            "description": "Value written into the payload when `providerConfig` omits the\noption entirely. Matches the current hardcoded `?? false` / `?? \"auto\"`\ndefaults so behaviour doesn't change when this field is absent."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchKlipperAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ]
          },
          "modules": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "Stable identifiers of fuse-lib Klipper modules that own vendor-specific\nparsing, subscriptions, side-channel pollers, and commands for this\nprinter. Mixins declare their required modules here; the resolver\nunions across mixins (see `resolveAdapterBindings`). Names that the\nrunning fuse build doesn't recognize are non-fatal — fuse logs a\nwarning and ignores them, matching the same drift-tolerance pattern\nas `getMixinsForVendorModel`'s `matchType`.\n\nExamples: `snapmaker_u1`, `creality_cfs`, `creality_filament_rack`,\n`creality_k2_commands`."
          },
          "commands": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPartialRecordKlipperCommandNameTemplateBinding"
              }
            ],
            "title": "Adapter-level default command templates, keyed by canonical name",
            "description": "Adapter-level default command templates, keyed by canonical name.\nTemplates pull per-ref fields via placeholders such as\n`{component.heater}` so one template covers every nozzle or bed."
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringKlipperComponentBinding"
              }
            ],
            "description": "Component bindings keyed by Printago ref. The same ref map is both\nthe stats-lookup source and the command-resolution source."
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAdapterPrintOptionBinding"
              }
            ],
            "title": "Per-print-job option bindings — empty today; reserved for future use",
            "description": "Per-print-job option bindings — empty today; reserved for future use."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchPartialRecordKlipperCommandNameTemplateBinding": {
        "type": "object",
        "properties": {
          "setNozzleTemperature": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setBedTemperature": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setFan": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setLight": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "selectTool": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          },
          "setChamberTemperature": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringKlipperComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchKlipperComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchKlipperComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "chamber"
              },
              {
                "const": "fan"
              },
              {
                "const": "light"
              },
              {
                "const": "tool"
              }
            ],
            "title": "Required for every binding — drives parser/UI dispatch",
            "description": "Required for every binding — drives parser/UI dispatch."
          },
          "statusObject": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Moonraker object name that the Klipper state parser reads (and that\nthe Moonraker subscription builder derives its object list from).\nExamples: `extruder`, `extruder1`, `heater_bed`,\n`temperature_sensor chamber`, `fan`, `fan_generic aux`.\nOmit on abstract/virtual components (e.g. a `tool` that only\ngenerates a gcode select command and has no readable status)."
          },
          "heater": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Klipper heater command target used by the adapter-level\n`setNozzleTemperature` / `setBedTemperature` / `setChamberTemperature`\ntemplates (e.g. `SET_HEATER_TEMPERATURE HEATER={component.heater}`).\nNot every component that has `statusObject` has a heater — a read-only\n`temperature_sensor` chamber is the canonical example."
          },
          "activeExtruderObject": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Klipper extruder object name as it appears in `toolhead.extruder`",
            "description": "Klipper extruder object name as it appears in `toolhead.extruder`.\nUsed to invert the active-tool status back into a ref. Usually\nidentical to `statusObject` for nozzles; kept separate so exotic\nconfigurations can diverge."
          },
          "toolRef": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For heater-bearing components (nozzles) that have a selectable tool\ncounterpart: the ref of the matching `tool_N` component. Single-extruder\nprinters with no selectable-tool concept leave this undefined."
          },
          "selectCommand": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `tool` components: the gcode fragment the `selectTool` template\nuses to switch to this tool (e.g. `T0`, `ACTIVATE_EXTRUDER EXTRUDER=extruder1`,\nor a vendor-specific macro call)."
          },
          "nozzleRefs": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "For `tool` components: the nozzle refs this tool activates. For most\nmachines a tool drives exactly one nozzle, but toolchangers can\ntheoretically share heaters."
          },
          "fan": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `fan` components: the Klipper fan name used by\n`SET_FAN_SPEED FAN={component.fan}` (no value for the primary `[fan]`\nsection, which uses M106 and gets a per-component override template\ninstead)."
          },
          "led": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `light` components: the Klipper-side pin or LED node identifier\nreferenced from the `setLight` template (e.g. `{component.led}` in\n`SET_PIN PIN={component.led} VALUE={value}` or\n`SET_LED LED={component.led} ...`). The exact gcode/macro shape lives\nin the adapter's command template; this field just carries the name."
          },
          "commandTemplate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchTemplateBinding"
              }
            ],
            "description": "Optional per-component command-template override. Takes precedence\nover the adapter-level `commands` template when resolving. Use only\nwhen a specific printer needs non-standard gcode for this ref\n(e.g. `M106 S{pwm}` for the primary part fan, or a vendor macro)."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringAdapterPrintOptionBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchAdapterPrintOptionBinding"
            }
          ]
        }
      },
      "JsonMergePatchAdapterPrintOptionBinding": {
        "type": "object",
        "properties": {
          "storageKey": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "payloadField": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchPrusaAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ]
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringPrusaComponentBinding"
              }
            ],
            "description": "Component bindings keyed by Printago ref. Used by\n`PrusaStateParser` to turn PrusaLink status fields into ref-indexed\nPrinterStatData entries. PrusaLink's command surface is API-level\n(start/pause/resume/stop), so this adapter has no `commands` map —\nthat's the key shape difference from Klipper v1."
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAdapterPrintOptionBinding"
              }
            ],
            "title": "Per-print-job option bindings — empty today; reserved for future use",
            "description": "Per-print-job option bindings — empty today; reserved for future use."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringPrusaComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchPrusaComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchPrusaComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "chamber"
              },
              {
                "const": "fan"
              }
            ],
            "title": "Required for every binding — drives parser/UI dispatch",
            "description": "Required for every binding — drives parser/UI dispatch."
          },
          "currentField": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Field on the PrusaLink `printer` object that provides the current\nvalue. Examples: `temp_nozzle`, `temp_bed`, `temp_chamber`,\n`fan_print`, `fan_hotend`."
          },
          "targetField": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Field on the PrusaLink `printer` object that provides the target /\nsetpoint value. Omit for read-only components (chamber sensors,\nhotend fans)."
          },
          "scale": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "raw"
              },
              {
                "const": "pwm255"
              },
              {
                "const": "rpm"
              }
            ],
            "description": "For `fan` components: how the raw PrusaLink value should be normalised\ninto the PrinterStatData fans map (which is `0..100` for controllable\nfans, RPM for hotend fans). `pwm255` divides by 255 and scales to 100;\n`rpm` passes through; `raw` is the default for already-normalised\npercentages."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchSdcpAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ]
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringSdcpComponentBinding"
              }
            ]
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAdapterPrintOptionBinding"
              }
            ],
            "title": "Per-print-job option bindings — empty today; reserved for future use",
            "description": "Per-print-job option bindings — empty today; reserved for future use."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringSdcpComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchSdcpComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchSdcpComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "chamber"
              },
              {
                "const": "fan"
              },
              {
                "const": "light"
              }
            ],
            "title": "Required for every binding — drives parser/UI dispatch",
            "description": "Required for every binding — drives parser/UI dispatch."
          },
          "currentPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Dotted path relative to the SDCP `Data.Status` object for the current\nvalue. Example: `TempOfNozzle`, `CurrentFanSpeed.ModelFan`,\n`LightStatus.SecondLight`."
          },
          "targetPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Dotted path relative to `Data.Status` for the target / setpoint value",
            "description": "Dotted path relative to `Data.Status` for the target / setpoint value.\nOmit for components with no controllable setpoint (chamber sensors,\nlights, auxiliary-read-only fans)."
          },
          "scale": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "raw"
              },
              {
                "const": "pwm255"
              }
            ],
            "description": "For `fan` components: how the raw SDCP value should be normalised into\nthe PrinterStatData fans map (which is `0..100`). Most SDCP printers\nreport 0..255 PWM, so `pwm255` is the common default; `raw` passes the\nvalue through unchanged."
          },
          "onValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `light` components: the truthy value (or comma-separated values)\nthe parser matches against the current-path read to decide whether\nthe light is on. SDCP's `LightStatus.SecondLight` uses `1` for on,\n`0` for off; this value is compared loosely (`String(value) === onValue`)."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchElegooMqttAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ]
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringElegooMqttComponentBinding"
              }
            ]
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAdapterPrintOptionBinding"
              }
            ],
            "title": "Per-print-job option bindings — empty today; reserved for future use",
            "description": "Per-print-job option bindings — empty today; reserved for future use."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringElegooMqttComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchElegooMqttComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchElegooMqttComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "chamber"
              },
              {
                "const": "fan"
              },
              {
                "const": "light"
              }
            ],
            "title": "Required for every binding — drives parser/UI dispatch",
            "description": "Required for every binding — drives parser/UI dispatch."
          },
          "currentPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Dotted path relative to the CC2 `result` object for the current value",
            "description": "Dotted path relative to the CC2 `result` object for the current value.\nExamples: `extruder.temperature`, `heater_bed.temperature`,\n`fans.fan.speed`, `led.status`."
          },
          "targetPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Dotted path relative to `result` for the target / setpoint value. Omit\nfor components with no controllable setpoint (chamber sensor, lights,\nread-only fans)."
          },
          "scale": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "raw"
              },
              {
                "const": "pwm255"
              }
            ],
            "description": "For `fan` components: how the raw CC2 value should be normalised into\nthe PrinterStatData fans map (which is `0..100`). CC2 reports fan\nspeed as 0..255 PWM, so `pwm255` is the default; `raw` passes the value\nthrough unchanged."
          },
          "onValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "For `light` components: the truthy value the parser matches against\nthe current-path read to decide whether the light is on. CC2's\n`led.status` is `1` for on / `0` for off (and may also surface 0..255\nbrightness — TODO: confirm with hardware once the MQTT client lands)."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchAnycubicAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ]
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAnycubicComponentBinding"
              }
            ]
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAdapterPrintOptionBinding"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringAnycubicComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchAnycubicComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchAnycubicComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "chamber"
              },
              {
                "const": "fan"
              },
              {
                "const": "light"
              }
            ]
          },
          "currentPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "targetPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "onValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchOctoprintAdapterBindings": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": 1
              }
            ]
          },
          "components": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringOctoprintComponentBinding"
              }
            ],
            "description": "Component bindings keyed by Printago ref. Used by `OctoprintStateParser`\nto turn OctoPrint's `temperature` map into ref-indexed PrinterStatData\nentries. OctoPrint's command surface is API-level (REST), so this adapter\nhas no `commands` map — same shape as the Prusa adapter."
          },
          "printOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchRecordstringAdapterPrintOptionBinding"
              }
            ],
            "title": "Per-print-job option bindings — empty today; reserved for future use",
            "description": "Per-print-job option bindings — empty today; reserved for future use."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "JsonMergePatchRecordstringOctoprintComponentBinding": {
        "type": "object",
        "properties": {},
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/JsonMergePatchOctoprintComponentBinding"
            }
          ]
        }
      },
      "JsonMergePatchOctoprintComponentBinding": {
        "type": "object",
        "properties": {
          "kind": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bed"
              },
              {
                "const": "nozzle"
              },
              {
                "const": "chamber"
              }
            ],
            "title": "Required for every binding — drives parser/UI dispatch",
            "description": "Required for every binding — drives parser/UI dispatch."
          },
          "sensor": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Key into OctoPrint's `temperature` map. Examples: `tool0`, `tool1`,\n`bed`, `chamber`. The parser reads `temperature[sensor].actual` for the\ncurrent value and `temperature[sensor].target` for the setpoint."
          }
        },
        "description": "JSON Merge Patch style type:\n- `null` removes a key\n- arrays replace the target value (or merge-by-ref for component arrays,\n  handled at runtime in `applyCapabilitiesPatch`)\n\nArray elements use `DeepPartial<U>` so callers can supply just the\nfields they're changing (e.g. `{ ref: 'fan_part', controllable: false }`\nwithout restating `role` / `label`). `applyCapabilitiesPatch` merges\ncomponent arrays by `ref` at runtime, so partial elements compose with\nthe base shape correctly. Non-component arrays follow standard\nreplace-the-whole-thing semantics — supply full elements for those.\n\nTests `NonNullable<T[P]>` first so optional fields recurse correctly:\nthe previous `T[P] extends Array<infer U>` check failed for optional\narrays (the `undefined` union member kept the array branch from\nmatching) and fell through to the object branch, producing\n`Array<string | null | undefined>` shapes that nestia rejects."
      },
      "SetProviderConfig": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "providerConfig": {
            "$ref": "#/components/schemas/BambuConfig"
          },
          "machineUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "machineSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "processUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "processSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          }
        },
        "required": [
          "printerIds",
          "providerConfig",
          "machineUserProfileId",
          "machineSystemProfileId",
          "processUserProfileId",
          "processSystemProfileId"
        ]
      },
      "ConfirmReadyRequest": {
        "type": "object",
        "properties": {
          "ready": {
            "type": "boolean"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "ready",
          "ids"
        ]
      },
      "EnabledConfig": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "enabled",
          "ids"
        ]
      },
      "ContinuousPrintConfig": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "jobLimit": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number",
                "minimum": 1
              }
            ]
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "enabled",
          "ids"
        ]
      },
      "providerstringundefineddeviceIdstringundefinedproviderConfigstringundefinedmachineUserProfileIdstringundefinedmachineSystemProfileIdstringundefined...33more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "providerConfig": {
            "type": "string"
          },
          "machineUserProfileId": {
            "type": "string"
          },
          "machineSystemProfileId": {
            "type": "string"
          },
          "processUserProfileId": {
            "type": "string"
          },
          "processSystemProfileId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "metadata": {
            "type": "string"
          },
          "proxyClientId": {
            "type": "string"
          },
          "commMethod": {
            "type": "string"
          },
          "enabled": {
            "type": "string"
          },
          "tags": {
            "type": "string"
          },
          "confirmedReady": {
            "type": "string"
          },
          "isAvailable": {
            "type": "string"
          },
          "isOnline": {
            "type": "string"
          },
          "printingJobId": {
            "type": "string"
          },
          "lastPrintedAt": {
            "type": "string"
          },
          "integrationId": {
            "type": "string"
          },
          "integrationType": {
            "type": "string"
          },
          "continuousPrint": {
            "type": "string"
          },
          "fabmaticRemainingJobs": {
            "type": "string"
          },
          "bedSize": {
            "type": "string",
            "description": "{x,y,z} mm build volume, denormalized from the machine profile's\nprintable_area/printable_height. Cache only — refreshed whenever the\nprinter's machine profile changes; the profile is the source of truth."
          },
          "modelName": {
            "type": "string",
            "description": "Human-readable model name (e.g. \"P1S\", \"Snapmaker U1\", \"Prusa CORE One\")"
          },
          "vendorName": {
            "type": "string",
            "description": "Vendor/manufacturer name (e.g. \"Bambu Lab\", \"Prusa\", \"Snapmaker\")"
          },
          "vendorModelId": {
            "type": "string"
          },
          "printerCapabilityPatch": {
            "type": "string",
            "title": "Per-printer capability override applied last (web Advanced Capabilities panel)",
            "description": "Per-printer capability override applied last (web Advanced Capabilities panel)."
          },
          "printerAdapterBindingsPatch": {
            "type": "string",
            "title": "Per-printer adapter binding override applied last",
            "description": "Per-printer adapter binding override applied last."
          },
          "lifetimePrintHours": {
            "type": "string"
          },
          "lifetimeJobCount": {
            "type": "string"
          },
          "isInMaintenance": {
            "type": "string"
          },
          "lastMaintenanceOfflineAt": {
            "type": "string"
          },
          "lastMaintenanceOnlineAt": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPrinter": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPrinter",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPrinter": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrinter"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrinter"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "provider": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "deviceId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "providerConfig": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "machineUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "machineSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "processUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "processSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "nozzleDiameter": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "metadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "proxyClientId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "commMethod": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "enabled": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "tags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "confirmedReady": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isAvailable": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isOnline": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingJobId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "lastPrintedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "integrationId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "integrationType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "continuousPrint": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "fabmaticRemainingJobs": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "bedSize": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "{x,y,z} mm build volume, denormalized from the machine profile's\nprintable_area/printable_height. Cache only — refreshed whenever the\nprinter's machine profile changes; the profile is the source of truth."
          },
          "modelName": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Human-readable model name (e.g. \"P1S\", \"Snapmaker U1\", \"Prusa CORE One\")"
          },
          "vendorName": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Vendor/manufacturer name (e.g. \"Bambu Lab\", \"Prusa\", \"Snapmaker\")"
          },
          "vendorModelId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerCapabilityPatch": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "Per-printer capability override applied last (web Advanced Capabilities panel)",
            "description": "Per-printer capability override applied last (web Advanced Capabilities panel)."
          },
          "printerAdapterBindingsPatch": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "Per-printer adapter binding override applied last",
            "description": "Per-printer adapter binding override applied last."
          },
          "lifetimePrintHours": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "lifetimeJobCount": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isInMaintenance": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "lastMaintenanceOfflineAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "lastMaintenanceOnlineAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "PrinterLatestSnapshot": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Short-lived signed download URL for the most recent camera snapshot\nFuse uploaded for this printer. Refresh by calling this endpoint\nagain before `expiresAt`."
          },
          "expiresAt": {
            "type": "number",
            "title": "Unix epoch milliseconds at which `url` stops working",
            "description": "Unix epoch milliseconds at which `url` stops working."
          }
        },
        "required": [
          "url",
          "expiresAt"
        ]
      },
      "ResolvePrinterCapabilitiesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResolvedPrinterCapabilitiesItem"
            }
          }
        },
        "required": [
          "items"
        ]
      },
      "ResolvedPrinterCapabilitiesItem": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "capabilities": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "nozzles": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "temperature": {
                          "type": "object",
                          "properties": {
                            "read": {
                              "type": "boolean"
                            },
                            "set": {
                              "type": "boolean"
                            }
                          }
                        },
                        "extrude": {
                          "type": "boolean"
                        },
                        "toolRef": {
                          "type": "string"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "tools": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "selectable": {
                          "type": "boolean"
                        },
                        "nozzleRefs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "fanRefs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "sensorRefs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "fans": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "role": {
                          "oneOf": [
                            {
                              "const": "part"
                            },
                            {
                              "const": "aux"
                            },
                            {
                              "const": "chamber"
                            },
                            {
                              "const": "hotend"
                            },
                            {
                              "const": "exhaust"
                            },
                            {
                              "type": "object",
                              "properties": {
                                "length": {
                                  "type": "number",
                                  "title": "Returns the length of a String object",
                                  "description": "Returns the length of a String object."
                                }
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "controllable": {
                          "type": "boolean"
                        },
                        "reportsSpeed": {
                          "type": "boolean",
                          "description": "Whether the printer reports back a live fan speed. Defaults to true\n(omitted). Set false for write-only fans (e.g. OctoPrint, whose REST API\naccepts M106 but never surfaces a speed) so diagnostics skip the readback\nverification instead of failing a check they can't perform."
                        },
                        "nozzleRef": {
                          "type": "string"
                        },
                        "toolRef": {
                          "type": "string"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "lights": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "role": {
                          "oneOf": [
                            {
                              "const": "chamber"
                            },
                            {
                              "const": "work"
                            },
                            {
                              "const": "indicator"
                            },
                            {
                              "const": "strip"
                            },
                            {
                              "type": "object",
                              "properties": {
                                "length": {
                                  "type": "number",
                                  "title": "Returns the length of a String object",
                                  "description": "Returns the length of a String object."
                                }
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "dimmable": {
                          "type": "boolean"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "sensors": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "role": {
                          "oneOf": [
                            {
                              "const": "lidar"
                            },
                            {
                              "const": "filament_runout"
                            },
                            {
                              "const": "door"
                            },
                            {
                              "const": "accelerometer"
                            },
                            {
                              "const": "bed_mesh"
                            },
                            {
                              "type": "object",
                              "properties": {
                                "length": {
                                  "type": "number",
                                  "title": "Returns the length of a String object",
                                  "description": "Returns the length of a String object."
                                }
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "nozzleRef": {
                          "type": "string"
                        },
                        "toolRef": {
                          "type": "string"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "beds": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "temperature": {
                          "type": "object",
                          "properties": {
                            "read": {
                              "type": "boolean"
                            },
                            "set": {
                              "type": "boolean"
                            }
                          }
                        },
                        "hasMesh": {
                          "type": "boolean"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "chambers": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "temperature": {
                          "type": "object",
                          "properties": {
                            "read": {
                              "type": "boolean"
                            },
                            "set": {
                              "type": "boolean"
                            }
                          }
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "axes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "axis": {
                          "oneOf": [
                            {
                              "const": "x"
                            },
                            {
                              "const": "y"
                            },
                            {
                              "const": "z"
                            }
                          ]
                        },
                        "move": {
                          "type": "boolean"
                        },
                        "home": {
                          "type": "boolean"
                        },
                        "flipped": {
                          "type": "boolean"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "filaments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "canReadFilament": {
                          "type": "boolean",
                          "title": "True if printer hardware can read filament info from this source",
                          "description": "True if printer hardware can read filament info from this source."
                        },
                        "canLoad": {
                          "type": "boolean",
                          "title": "True if printer can auto-load filament into this source",
                          "description": "True if printer can auto-load filament into this source."
                        },
                        "canUnload": {
                          "type": "boolean",
                          "title": "True if printer can auto-unload filament",
                          "description": "True if printer can auto-unload filament."
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    },
                    "description": "Directly-fed filament sources. An array because some printers feed\nmultiple positions simultaneously (Bambu external bay = 2, Snapmaker\nU1 = 4, Bambu H2D = 2+). Each entry is one loadable position.\nAMS / MMU / ERCF / CFS / toolchanger live separately under\n`peripherals` and are presented alongside these in the UI's\nFilaments view."
                  },
                  "cameras": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "protocol": {
                          "oneOf": [
                            {
                              "const": "mjpeg-bambu"
                            },
                            {
                              "const": "rtsps-bambu"
                            },
                            {
                              "const": "webrtc"
                            },
                            {
                              "const": "rtsp"
                            },
                            {
                              "const": "rtsps"
                            },
                            {
                              "const": "mjpeg-http"
                            },
                            {
                              "const": "http-flv"
                            },
                            {
                              "const": "http-snapshot"
                            },
                            {
                              "const": "http-snapshot-poll"
                            }
                          ]
                        },
                        "mounting": {
                          "oneOf": [
                            {
                              "const": "builtin"
                            },
                            {
                              "const": "external"
                            }
                          ],
                          "title": "`builtin`: seeded by the capability set, locked in the UI",
                          "description": "`builtin`: seeded by the capability set, locked in the UI.\n`external`: user-attached; editable + removable via printer config."
                        },
                        "url": {
                          "type": "string",
                          "description": "Literal stream URL. Required for non-Bambu protocols, EXCEPT for\n`mjpeg-http` cameras whose endpoint can be synthesized from\n`printer.ip + port` (path-agnostic MJPEG, e.g. Elegoo Centauri\nCarbon 2 on `:8080`). Set `url` when the camera is at a third-party\nabsolute address; otherwise just set `port` and let the go2rtc\ngenerator build `http://${printer.ip}:${port}/`."
                        },
                        "port": {
                          "type": "number",
                          "title": "Override default port for the protocol",
                          "description": "Override default port for the protocol."
                        },
                        "path": {
                          "type": "string",
                          "description": "Override the URL path for `mjpeg-http` (default `/`). Used when the\nstream sits behind a fixed path on the printer's web server — e.g.\nMainsail/Fluidd-style `/webcam/?action=stream` for camera-streamer\nor mjpg-streamer. Combined with `printer.ip + port` to build the\nfull URL when `url` isn't set."
                        },
                        "auth": {
                          "type": "string",
                          "description": "Auth credentials for the stream — `Bearer ...`, `user:pass`, or a\nquery-string fragment. Bambu protocols ignore this; their auth is\nderived from `printer.accessCode`."
                        },
                        "role": {
                          "oneOf": [
                            {
                              "const": "overhead"
                            },
                            {
                              "const": "bed"
                            },
                            {
                              "const": "chamber"
                            },
                            {
                              "const": "toolhead"
                            },
                            {
                              "type": "object",
                              "properties": {
                                "length": {
                                  "type": "number",
                                  "title": "Returns the length of a String object",
                                  "description": "Returns the length of a String object."
                                }
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            }
                          ],
                          "title": "UX-only role for grouping/labeling",
                          "description": "UX-only role for grouping/labeling."
                        },
                        "snapshots": {
                          "type": "boolean",
                          "title": "Whether to capture periodic snapshots. Defaults true if unset",
                          "description": "Whether to capture periodic snapshots. Defaults true if unset."
                        },
                        "timelapse": {
                          "type": "boolean",
                          "title": "Whether to record timelapses. Defaults true if unset",
                          "description": "Whether to record timelapses. Defaults true if unset."
                        },
                        "primary": {
                          "type": "boolean",
                          "description": "When true, this is the printer's primary camera: it owns the bare\n`printer.id` go2rtc stream key, so the live dashboard/printer tile,\nperiodic snapshots, the print-completion thumbnail, and timelapses\nall read from it instead of the built-in camera. At most one camera\nper printer should set this; when none do, the first camera\n(index 0, normally the built-in) is the implicit primary."
                        },
                        "webrtcSignaling": {
                          "type": "object",
                          "properties": {
                            "flavor": {
                              "oneOf": [
                                {
                                  "const": "whep"
                                },
                                {
                                  "const": "creality-base64-json"
                                },
                                {
                                  "const": "go2rtc-ws"
                                }
                              ]
                            },
                            "path": {
                              "type": "string",
                              "title": "Endpoint path or full URL for the signaling request",
                              "description": "Endpoint path or full URL for the signaling request."
                            }
                          },
                          "description": "SDP-exchange config for `protocol: 'webrtc'`. Required when protocol\nis `'webrtc'`; ignored otherwise. The transport itself is always\nstandard WebRTC; this only describes how the offer/answer get traded.\n\nFor `creality-base64-json`, the signaling URL is built from\n`printer.ip:port` + `path` (e.g. http://192.168.1.26:8000/call/webrtc_local).\nFor `whep`, `path` may be a full URL or a path appended to the camera's\nbase URL."
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    },
                    "description": "Cameras attached to the printer. Built-in (`mounting:'builtin'`)\ncameras come from the printer's capability set; external IP/RTSP\ncameras (`mounting:'external'`) are added via printer config.\n\nReplaces the legacy `getCameraProtocol(modelCode)` lookup — all\ncamera config flows through this array."
                  },
                  "peripherals": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "oneOf": [
                            {
                              "const": "ercf"
                            },
                            {
                              "const": "mmu"
                            },
                            {
                              "const": "toolchanger"
                            },
                            {
                              "const": "ams"
                            },
                            {
                              "type": "object",
                              "properties": {
                                "length": {
                                  "type": "number",
                                  "title": "Returns the length of a String object",
                                  "description": "Returns the length of a String object."
                                }
                              },
                              "additionalProperties": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "maxUnits": {
                          "type": "number"
                        },
                        "slotsPerUnit": {
                          "type": "number"
                        },
                        "minSlotsPerUnit": {
                          "type": "number"
                        },
                        "maxSlotsPerUnit": {
                          "type": "number"
                        },
                        "canReadFilament": {
                          "type": "boolean"
                        },
                        "canLoad": {
                          "type": "boolean"
                        },
                        "canUnload": {
                          "type": "boolean"
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        },
                        "kind": {
                          "type": "string",
                          "description": "Optional vendor/extensible subtype when the base role is not enough"
                        }
                      }
                    }
                  },
                  "printing": {
                    "type": "object",
                    "properties": {
                      "start": {
                        "type": "boolean"
                      },
                      "pause": {
                        "type": "boolean"
                      },
                      "resume": {
                        "type": "boolean"
                      },
                      "stop": {
                        "type": "boolean"
                      },
                      "skipObjects": {
                        "type": "boolean"
                      }
                    }
                  },
                  "filament": {
                    "type": "object",
                    "properties": {
                      "setInfo": {
                        "type": "boolean"
                      },
                      "read": {
                        "type": "boolean"
                      },
                      "dynamicSlots": {
                        "type": "boolean"
                      }
                    }
                  },
                  "files": {
                    "type": "object",
                    "properties": {
                      "upload": {
                        "type": "boolean"
                      },
                      "list": {
                        "type": "boolean"
                      }
                    }
                  },
                  "gcode": {
                    "type": "boolean"
                  },
                  "printOptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "oneOf": [
                            {
                              "const": "boolean"
                            },
                            {
                              "const": "enum"
                            }
                          ]
                        },
                        "default": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            }
                          ],
                          "title": "UI default when the stored providerConfig is null / missing the key",
                          "description": "UI default when the stored providerConfig is null / missing the key."
                        },
                        "choices": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "value": {
                                "type": "string"
                              },
                              "label": {
                                "type": "string"
                              }
                            }
                          },
                          "title": "For `kind: \"enum\"`: allowed values with display labels",
                          "description": "For `kind: \"enum\"`: allowed values with display labels."
                        },
                        "description": {
                          "type": "string",
                          "title": "Tooltip help text rendered next to the label",
                          "description": "Tooltip help text rendered next to the label."
                        },
                        "ref": {
                          "type": "string",
                          "title": "Logical reference, unique within its array. ASCII, lowercase, deterministic",
                          "description": "Logical reference, unique within its array. ASCII, lowercase, deterministic."
                        },
                        "label": {
                          "type": "string",
                          "description": "Human-readable display name"
                        }
                      }
                    }
                  }
                }
              }
            ]
          }
        },
        "required": [
          "printerId",
          "capabilities"
        ]
      },
      "ResolvePrinterCapabilitiesRequest": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "printerIds"
        ]
      },
      "UpdateManyRequestPrinterUpdate": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "update": {
            "$ref": "#/components/schemas/PartialPrinterUpdate"
          }
        },
        "required": [
          "ids",
          "update"
        ]
      },
      "PartialPrinterUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "metadata": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BambuPrinterMetadata"
              },
              {
                "$ref": "#/components/schemas/KlipperMetadata"
              },
              {
                "$ref": "#/components/schemas/PrusaMetadata"
              },
              {
                "$ref": "#/components/schemas/SdcpMetadata"
              },
              {
                "$ref": "#/components/schemas/OctoPrintMetadata"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "integrationType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambulab"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deviceId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "commMethod": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambu-global-mqtt"
              },
              {
                "const": "bambu-cloud-v2"
              },
              {
                "const": "octoprint-mqtt"
              },
              {
                "const": "fuse"
              }
            ]
          },
          "vendorModelId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "printerCapabilityPatch": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrinterCommCapabilities"
              }
            ],
            "title": "Per-printer capability override applied last (web Advanced Capabilities panel)",
            "description": "Per-printer capability override applied last (web Advanced Capabilities panel)."
          },
          "printerAdapterBindingsPatch": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrinterAdapterBindings"
              }
            ],
            "title": "Per-printer adapter binding override applied last",
            "description": "Per-printer adapter binding override applied last."
          }
        },
        "description": "Make all properties in T optional"
      },
      "PartialPrinterUpdateidstring": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "metadata": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BambuPrinterMetadata"
              },
              {
                "$ref": "#/components/schemas/KlipperMetadata"
              },
              {
                "$ref": "#/components/schemas/PrusaMetadata"
              },
              {
                "$ref": "#/components/schemas/SdcpMetadata"
              },
              {
                "$ref": "#/components/schemas/OctoPrintMetadata"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "integrationType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambulab"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "deviceId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "commMethod": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambu-global-mqtt"
              },
              {
                "const": "bambu-cloud-v2"
              },
              {
                "const": "octoprint-mqtt"
              },
              {
                "const": "fuse"
              }
            ]
          },
          "vendorModelId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "printerCapabilityPatch": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrinterCommCapabilities"
              }
            ],
            "title": "Per-printer capability override applied last (web Advanced Capabilities panel)",
            "description": "Per-printer capability override applied last (web Advanced Capabilities panel)."
          },
          "printerAdapterBindingsPatch": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/JsonMergePatchPrinterAdapterBindings"
              }
            ],
            "title": "Per-printer adapter binding override applied last",
            "description": "Per-printer adapter binding override applied last."
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ]
      },
      "RenamePrinterOptions": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "BulkActionRequest": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "ids"
        ]
      },
      "LinkedPart": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "exposedParameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayLinkedPartMaterialSpecification"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LinkedPartExtensions"
              }
            ]
          },
          "parameterBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ]
          },
          "sequenceBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ],
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          "plateQuantitiesBinding": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "skuId",
          "partId",
          "parameters",
          "quantity",
          "label",
          "exposedParameters",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "PartParameterOverride": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "type": {
            "oneOf": [
              {
                "const": "number"
              },
              {
                "const": "string"
              },
              {
                "const": "boolean"
              },
              {
                "const": "file"
              }
            ]
          },
          "value": {
            "oneOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "RecordnumberArrayLinkedPartMaterialSpecification": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "groupId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "variantId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "variantId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "materialId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialType": {
                    "type": "string"
                  }
                },
                "required": [
                  "materialType"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "propertyId": {
                    "type": "string"
                  }
                },
                "required": [
                  "propertyId"
                ]
              }
            ]
          }
        }
      },
      "LinkedPartExtensions": {
        "type": "object",
        "properties": {
          "3mf": {
            "$ref": "#/components/schemas/PartExtension3MF"
          }
        }
      },
      "PartExtension3MF": {
        "type": "object",
        "properties": {
          "plateQuantities": {
            "$ref": "#/components/schemas/PartExtension3MFPlateQuantities"
          },
          "plateLabels": {
            "$ref": "#/components/schemas/PartExtension3MFPlateLabels"
          }
        },
        "required": [
          "plateQuantities"
        ]
      },
      "PartExtension3MFPlateQuantities": {
        "type": "object",
        "properties": {},
        "additionalProperties": {
          "type": "number"
        }
      },
      "PartExtension3MFPlateLabels": {
        "type": "object",
        "properties": {},
        "additionalProperties": {
          "type": "string"
        }
      },
      "skuIdstringundefinedpartIdstringundefinedparametersstringundefinedquantitystringundefinedlabelstringundefinedexposedParametersstringundefined...8more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string"
          },
          "partId": {
            "type": "string"
          },
          "parameters": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "exposedParameters": {
            "type": "string"
          },
          "materialAssignments": {
            "type": "string"
          },
          "extensions": {
            "type": "string"
          },
          "parameterBindings": {
            "type": "string"
          },
          "sequenceBindings": {
            "type": "string",
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          "plateQuantitiesBinding": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoLinkedPart": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionLinkedPart",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionLinkedPart": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionLinkedPart"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionLinkedPart"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "parameters": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantity": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "label": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "exposedParameters": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialAssignments": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "extensions": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "parameterBindings": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "sequenceBindings": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          "plateQuantitiesBinding": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "LinkedPartInsert": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LinkedPartExtensions"
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayLinkedPartMaterialSpecification"
              }
            ]
          },
          "exposedParameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "parameterBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ]
          },
          "sequenceBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ],
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          "plateQuantitiesBinding": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "parameters",
          "partId",
          "quantity",
          "label",
          "exposedParameters"
        ]
      },
      "PartialLinkedPartInsert": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LinkedPartExtensions"
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayLinkedPartMaterialSpecification"
              }
            ]
          },
          "exposedParameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "parameterBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ]
          },
          "sequenceBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ],
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          "plateQuantitiesBinding": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "description": "Make all properties in T optional"
      },
      "Profile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "type": {
            "oneOf": [
              {
                "const": "process"
              },
              {
                "const": "filament"
              },
              {
                "const": "machine"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "const": "manual"
              },
              {
                "const": "bambu-account"
              }
            ]
          },
          "inherits": {
            "type": "string"
          },
          "compatibilityList": {
            "type": "string"
          },
          "data": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "metadata": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "integrationType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambulab"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "externalId",
          "source",
          "inherits",
          "compatibilityList",
          "data",
          "metadata",
          "integrationId",
          "integrationType",
          "storeId",
          "updatedAt",
          "createdAt"
        ]
      },
      "idstringundefinednamestringundefinedtypestringundefinedexternalIdstringundefinedsourcestringundefinedinheritsstringundefinedcompatibilityListstringundefined...7more...createdAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "inherits": {
            "type": "string"
          },
          "compatibilityList": {
            "type": "string"
          },
          "data": {
            "type": "string"
          },
          "metadata": {
            "type": "string"
          },
          "integrationId": {
            "type": "string"
          },
          "integrationType": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoProfile": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionProfile",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionProfile": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionProfile"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionProfile"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "inherits": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "compatibilityList": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "data": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "metadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "integrationId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "integrationType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SupportedPrinter": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "nozzleDiameter": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "nozzleDiameter"
        ]
      },
      "PrinterModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "vendorId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "nozzleDiameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "modelId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "id",
          "vendorId",
          "name",
          "nozzleDiameters",
          "modelId"
        ]
      },
      "CompatibleProfiles": {
        "type": "object",
        "properties": {
          "machine": {
            "$ref": "#/components/schemas/CompatibleProfileList"
          },
          "filament": {
            "$ref": "#/components/schemas/CompatibleProfileList"
          },
          "process": {
            "$ref": "#/components/schemas/CompatibleProfileList"
          }
        },
        "required": [
          "machine",
          "filament",
          "process"
        ]
      },
      "CompatibleProfileList": {
        "type": "object",
        "properties": {
          "system": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SlicerConfig"
            }
          },
          "user": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Profile"
            }
          }
        },
        "required": [
          "system",
          "user"
        ]
      },
      "SlicerConfig": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "vendorId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "oneOf": [
              {
                "const": "process"
              },
              {
                "const": "filament"
              },
              {
                "const": "machine"
              }
            ]
          },
          "shown": {
            "type": "boolean"
          },
          "compatibilityList": {
            "type": "string"
          },
          "data": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "machineVariant": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "machineModel": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "preference": {
            "type": "number"
          },
          "mfgSlicer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "mfgVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "id",
          "vendorId",
          "name",
          "type",
          "shown",
          "compatibilityList",
          "data",
          "machineVariant",
          "machineModel",
          "preference",
          "mfgSlicer",
          "mfgVersion"
        ]
      },
      "ProfileWithInheritance": {
        "type": "object",
        "properties": {
          "merged": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "ownKeys": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inheritedKeys": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "inheritsFrom": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "merged",
          "ownKeys",
          "inheritedKeys",
          "inheritsFrom"
        ]
      },
      "ProfilePreviewResult": {
        "type": "object",
        "properties": {
          "bundleType": {
            "oneOf": [
              {
                "const": "printer"
              },
              {
                "const": "filament"
              },
              {
                "const": "presets"
              }
            ]
          },
          "profiles": {
            "type": "object",
            "properties": {
              "machine": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProfilePreviewItem"
                }
              },
              "filament": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProfilePreviewItem"
                }
              },
              "process": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProfilePreviewItem"
                }
              }
            },
            "required": [
              "machine",
              "filament",
              "process"
            ]
          },
          "totalCount": {
            "type": "number"
          }
        },
        "required": [
          "bundleType",
          "profiles",
          "totalCount"
        ]
      },
      "ProfilePreviewItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "oneOf": [
              {
                "const": "process"
              },
              {
                "const": "filament"
              },
              {
                "const": "machine"
              }
            ]
          },
          "inherits": {
            "type": "string"
          },
          "filamentType": {
            "type": "string"
          },
          "filamentVendor": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "existsInStore": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "type",
          "existsInStore"
        ]
      },
      "ProfileUploadBody": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        },
        "required": [
          "file"
        ]
      },
      "ProfileImportResult": {
        "type": "object",
        "properties": {
          "profiles": {
            "type": "object",
            "properties": {
              "created": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "updated": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "skipped": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "created",
              "updated",
              "skipped"
            ]
          },
          "materials": {
            "type": "object",
            "properties": {
              "created": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "created"
            ]
          }
        },
        "required": [
          "profiles"
        ]
      },
      "ProfileImportBody": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          },
          "createMaterials": {
            "type": "boolean"
          },
          "overwriteExisting": {
            "type": "boolean"
          },
          "selectedProfiles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "file"
        ]
      },
      "ProfileImportDataBody": {
        "type": "object",
        "properties": {
          "profiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParsedProfileData"
            }
          },
          "createMaterials": {
            "type": "boolean"
          },
          "overwriteExisting": {
            "type": "boolean"
          },
          "materialIdentifiers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Filament IDs (uppercase) of materials to create. If not provided, creates all",
            "description": "Filament IDs (uppercase) of materials to create. If not provided, creates all."
          },
          "filamentProfilesForMaterials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParsedProfileData"
            },
            "description": "Filament profiles to use for material creation (when not importing them as profiles)"
          }
        },
        "required": [
          "profiles",
          "createMaterials",
          "overwriteExisting"
        ],
        "description": "Request body for importing pre-parsed profile data.\nUsed when profiles are parsed client-side and sent directly to the server."
      },
      "ParsedProfileData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "oneOf": [
              {
                "const": "process"
              },
              {
                "const": "filament"
              },
              {
                "const": "machine"
              }
            ]
          },
          "data": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "inherits": {
            "type": "string"
          },
          "compatiblePrinters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentType": {
            "type": "string"
          },
          "filamentVendor": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "data"
        ]
      },
      "ProfileInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "type": {
            "oneOf": [
              {
                "const": "process"
              },
              {
                "const": "filament"
              },
              {
                "const": "machine"
              }
            ]
          },
          "data": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "inherits": {
            "type": "string"
          },
          "compatibilityList": {
            "type": "string"
          },
          "source": {
            "oneOf": [
              {
                "const": "manual"
              },
              {
                "const": "bambu-account"
              }
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "integrationType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "bambulab"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          }
        },
        "required": [
          "name",
          "type",
          "data",
          "externalId",
          "inherits",
          "compatibilityList",
          "source",
          "metadata",
          "integrationId",
          "integrationType"
        ]
      },
      "ProfileUpdateDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "data": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "inherits": {
            "type": "string"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          }
        }
      },
      "MergePlatesResponse": {
        "type": "object",
        "properties": {
          "parentJobId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "title": "The newly created merged (parent) print job",
            "description": "The newly created merged (parent) print job."
          },
          "layout": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LayoutPlacement"
            },
            "title": "The authoritative placements the merged plate was committed with",
            "description": "The authoritative placements the merged plate was committed with."
          }
        },
        "required": [
          "parentJobId",
          "layout"
        ]
      },
      "LayoutPlacement": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          },
          "x": {
            "type": "number",
            "title": "World-coordinate center of the placed footprint, mm",
            "description": "World-coordinate center of the placed footprint, mm."
          },
          "y": {
            "type": "number"
          },
          "rotationDeg": {
            "oneOf": [
              {
                "const": 0
              },
              {
                "const": 90
              }
            ]
          }
        },
        "required": [
          "jobId",
          "x",
          "y",
          "rotationDeg"
        ]
      },
      "MergePlatesRequest": {
        "type": "object",
        "properties": {
          "jobIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "minItems": 2
          },
          "bedSize": {
            "$ref": "#/components/schemas/PlateSize"
          },
          "partSpacingMm": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "Per-merge override of the store's part spacing (mm) — some parts need\nmore clearance than the store default. Absent = store setting."
          },
          "plateMarginMm": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "title": "Per-merge override of the store's plate edge margin (mm). Absent = store setting",
            "description": "Per-merge override of the store's plate edge margin (mm). Absent = store setting."
          }
        },
        "required": [
          "jobIds",
          "bedSize"
        ],
        "description": "Merge two or more compatible pending jobs onto one build plate (manual mode).\n`bedSize` is the target plate the operator chose in the minimap; the server\nre-validates compatibility and recomputes the layout authoritatively."
      },
      "PlateSize": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "z": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y",
          "z"
        ],
        "description": "{x,y,z} mm build volume of the target plate."
      },
      "UnmergePlateResponse": {
        "type": "object",
        "properties": {
          "releasedJobIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "title": "The child job ids released back to Pending (parent deleted)",
            "description": "The child job ids released back to Pending (parent deleted)."
          }
        },
        "required": [
          "releasedJobIds"
        ]
      },
      "PrintJob": {
        "type": "object",
        "properties": {
          "partBuildId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "quantityIndex": {
            "type": "number"
          },
          "quantityTotal": {
            "type": "number"
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "coloredThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "buildThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "cameraThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ],
            "description": "Camera-captured snapshot from the moment Fuse detected the last\nlayer of the print. Persisted to the files bucket. Null unless Fuse\nsuccessfully captured and uploaded."
          },
          "timelapseUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ],
            "description": "MP4 timelapse Fuse encoded from frames captured during the print and\nuploaded to the snapshots bucket under the `timelapses/` prefix.\nNull unless the store has timelapses enabled and Fuse uploaded\nsuccessfully."
          },
          "fuseTelemetryUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ],
            "description": "Fuse flight-recorder artifact for the current attempt (gzipped JSONL\nunder the permanent `telemetry/` prefix). Confirmed asynchronously by\nFuse after the print ends, like `timelapseUri`."
          },
          "attemptNumber": {
            "type": "number",
            "description": "1-based counter of print attempts (bumped on requeue once the attempt\nprinted or reached a terminal state). Keys per-attempt media/telemetry\nobjects and aligns with `print_history.attemptNumber`."
          },
          "sendFailureCount": {
            "type": "number",
            "description": "Consecutive send-give-up cycles (EnsureJobStarted exhausted its retries\nwithout the printer starting). Reset on retry from a terminal state."
          },
          "filesToPrint": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "slicerInputHash": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "isGcodeCached": {
            "type": "boolean"
          },
          "slicedGcodeUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "partName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "parameterOverrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "label": {
            "type": "string"
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "linkedPartId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuInstance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "queueOrder": {
            "type": "number",
            "minimum": 0
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "taskId": {
            "type": "number"
          },
          "profileUris": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "assignedPrinterId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "assignmentStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "assignmentCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "cancelledAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "assigned"
              },
              {
                "const": "slicing"
              },
              {
                "const": "sliced"
              },
              {
                "const": "finalizing"
              },
              {
                "const": "waiting-for-approval"
              },
              {
                "const": "ready-for-printer"
              },
              {
                "const": "sending-to-printer"
              },
              {
                "const": "printing"
              },
              {
                "const": "paused"
              },
              {
                "const": "completed"
              },
              {
                "const": "failed"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "errorMessage": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "hidden": {
            "type": "boolean"
          },
          "logsUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PrintJobExtensions"
              }
            ]
          },
          "skipObjectsData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SkipObjectsData"
              }
            ]
          },
          "skipObjectIds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "User-selected objects to skip on this job's plate, as identifyId strings\n(resolved at queue time from the part's plate object list). When the print\nstarts, a Bambu `skip_objects` command is auto-sent for these. Null/empty\nmeans print everything. Stored as strings; converted to integer obj_list at\nsend time."
          },
          "materialMapping": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PrintJobMaterialMapping"
                }
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArraySingleMaterialSpecification"
              }
            ]
          },
          "gcodeAnalysisSha256": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "SHA256 hash of analyzed gcode content — stable key for extrusion lookup"
          },
          "groupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Group identifier for visually-collapsed print-queue rows. Assigned at\nemission (one per plate cluster within a build). Split mints fresh\ngroupIds for non-first buckets. May be null for legacy rows that predate\nthe grouping feature."
          },
          "parentJobId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Set on jobs merged onto a shared plate; points at the merged (parent)\njob. Children mirror the parent's status and are excluded from\nindependent matching."
          },
          "boundingBox": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BoundingBoxMm"
              }
            ],
            "title": "{x,y,z} mm bounding box of what this job prints. Null until computed",
            "description": "{x,y,z} mm bounding box of what this job prints. Null until computed."
          },
          "customMetadata": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringunknown"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "partBuildId",
          "quantityIndex",
          "quantityTotal",
          "thumbnailUri",
          "coloredThumbnailUri",
          "buildThumbnailUri",
          "cameraThumbnailUri",
          "timelapseUri",
          "fuseTelemetryUri",
          "attemptNumber",
          "sendFailureCount",
          "filesToPrint",
          "slicerInputHash",
          "isGcodeCached",
          "slicedGcodeUri",
          "partId",
          "partName",
          "skuId",
          "skuName",
          "parameterOverrides",
          "orderId",
          "label",
          "orderItemId",
          "linkedPartId",
          "skuInstance",
          "queueOrder",
          "priority",
          "requiredPrinterTags",
          "overriddenProcessProfileId",
          "taskId",
          "profileUris",
          "assignedPrinterId",
          "assignmentStartedAt",
          "assignmentCompletedAt",
          "printingStartedAt",
          "printingCompletedAt",
          "cancelledAt",
          "status",
          "errorMessage",
          "hidden",
          "logsUri",
          "materialMapping",
          "materialAssignments",
          "gcodeAnalysisSha256",
          "groupId",
          "parentJobId",
          "boundingBox",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "PrintJobExtensions": {
        "type": "object",
        "properties": {
          "3mf": {
            "$ref": "#/components/schemas/PrintJobExtension3MF"
          },
          "mergedPlate": {
            "$ref": "#/components/schemas/PrintJobExtensionMergedPlate",
            "title": "Present on merged-plate parent jobs (see MergedPlateExtension)",
            "description": "Present on merged-plate parent jobs (see MergedPlateExtension)."
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerialStamp"
            },
            "description": "Serials embedded in what this job prints, stamped at job creation. A\nmerged-plate parent aggregates its children's serials so the queue row\nthat is actually shown carries the full list."
          }
        }
      },
      "PrintJobExtension3MF": {
        "type": "object",
        "properties": {
          "plateId": {
            "type": "number"
          },
          "gcodeFile": {
            "type": "string"
          }
        },
        "required": [
          "plateId",
          "gcodeFile"
        ]
      },
      "PrintJobExtensionMergedPlate": {
        "type": "object",
        "properties": {
          "processOverrides": {
            "$ref": "#/components/schemas/Recordstringstring",
            "description": "Plate-wide process values resolved across the merged children — the\nprofile builder merges these over the process profile at dispatch."
          },
          "slicerVersionId": {
            "type": "string",
            "description": "SlicerVersion.id the plate optimizer chose for this merged plate (from the\nstore's slicer-compatibility policy). Honored at dispatch so the plate\nslices with that version instead of the store default. Absent = store\nslicer."
          },
          "childJobIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Committed layout mirrored onto the parent row so the web app can render\na live silhouette thumbnail from durable data. The authoritative copy\nlives on the synthetic build's MergedPlateExtension, but success-status\nbuilds are archived out of client caches — the parent job row lives\nexactly as long as the queue entry. Absent on parents created before the\nstamp shipped (clients fall back to the server-authored layout SVG)."
          },
          "layout": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LayoutPlacement"
            }
          },
          "bedSize": {
            "$ref": "#/components/schemas/PlateSize"
          },
          "footprints": {
            "$ref": "#/components/schemas/RecordstringBoundingBoxMm",
            "title": "childJobId -> placed footprint (bounding box), mm",
            "description": "childJobId -> placed footprint (bounding box), mm."
          }
        }
      },
      "RecordstringBoundingBoxMm": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/BoundingBoxMm"
        }
      },
      "BoundingBoxMm": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "z": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y",
          "z"
        ]
      },
      "SerialStamp": {
        "type": "object",
        "properties": {
          "sequenceId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "sequenceName": {
            "type": "string"
          },
          "parameterName": {
            "type": "string"
          },
          "value": {
            "type": "number"
          },
          "serial": {
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/SerialStampTarget"
          }
        },
        "required": [
          "sequenceId",
          "sequenceName",
          "parameterName",
          "value",
          "serial"
        ],
        "description": "One serial consumed by a build/print job, denormalized onto the build's and\njob's extensions at allocation time so queue chips and retry warnings can\nread it without a ledger join. `serial` is frozen at allocation — a later\nformatter change never rewrites what was already stamped on a print."
      },
      "SerialStampTarget": {
        "type": "object",
        "properties": {
          "plateId": {
            "type": "number"
          },
          "objectId": {
            "type": "string"
          },
          "instanceId": {
            "type": "number"
          },
          "identifyId": {
            "type": "string"
          }
        },
        "description": "The physical item a serial was allocated for, recorded so queue and\nhistory views can explain which item received which number. A plate-aware\nshare-mode stamp carries only the plate (the value applies to every\nmatching occurrence there); an increment-mode stamp pins the exact object\ninstance in the 3MF's stable `(object_id, instance_id)` identity."
      },
      "SkipObjectsData": {
        "type": "object",
        "properties": {
          "objects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "identifyId": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "skipped": {
                  "type": "boolean"
                }
              },
              "required": [
                "identifyId",
                "name",
                "skipped"
              ]
            }
          },
          "topImageUri": {
            "type": "string"
          },
          "pickImageUri": {
            "type": "string"
          },
          "runtimeSkips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuntimeObjectSkip"
            },
            "description": "Objects skipped at runtime (mid-print or at print start), as observed"
          },
          "excludedUsage": {
            "$ref": "#/components/schemas/SkippedObjectUsage",
            "description": "Material the skipped objects would have used above their skip layer, and\nwhich was therefore left out of the attempt's recorded usage. Written onto\nthe print_history snapshot at capture time (never onto the live job), so a\nreported total can be reconciled against the slicer's plate estimate\nwithout re-deriving it from the gcode."
          }
        },
        "required": [
          "objects"
        ]
      },
      "RuntimeObjectSkip": {
        "type": "object",
        "properties": {
          "identifyId": {
            "type": "string",
            "description": "Bambu label-object id (slice_info identify_id) as a decimal string"
          },
          "layer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "description": "Printer-reported layer when the skip was observed: material usage for the\nobject is counted up to and including this layer. -1 means the skip was\nsent before printing began; null means the timing is unknown."
          },
          "at": {
            "type": "string",
            "description": "ISO timestamp when the skip was recorded"
          }
        },
        "required": [
          "identifyId",
          "layer"
        ]
      },
      "SkippedObjectUsage": {
        "type": "object",
        "properties": {
          "objectIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Skipped object ids the gcode analysis could actually attribute",
            "description": "Skipped object ids the gcode analysis could actually attribute."
          },
          "bySlot": {
            "$ref": "#/components/schemas/Recordnumbernumber",
            "title": "mm excluded per logical (slicer) slot",
            "description": "mm excluded per logical (slicer) slot."
          },
          "gramsBySlot": {
            "$ref": "#/components/schemas/Recordnumbernumber",
            "title": "grams excluded per logical slot, when the analysis carries the ratios",
            "description": "grams excluded per logical slot, when the analysis carries the ratios."
          },
          "totalMm": {
            "type": "number"
          },
          "totalGrams": {
            "type": "number"
          }
        },
        "required": [
          "objectIds",
          "bySlot",
          "totalMm"
        ],
        "description": "Per-slot material excluded from an attempt because its object was skipped."
      },
      "Recordnumbernumber": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "number"
        }
      },
      "PrintJobMaterialMapping": {
        "type": "object",
        "properties": {
          "slot": {
            "type": "number",
            "deprecated": true
          },
          "amsIndex": {
            "type": "number",
            "description": "Visual AMS array index: -1 for spool, 0+ for AMS units"
          },
          "slotIndex": {
            "type": "number",
            "description": "Slot within the AMS, or spool index for multiple spools"
          },
          "skip": {
            "type": "boolean"
          },
          "variantId": {
            "type": "string"
          },
          "materialId": {
            "type": "string"
          },
          "materialType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          }
        }
      },
      "RecordnumberArraySingleMaterialSpecification": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "groupId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "variantId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "variantId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "materialId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialType": {
                    "type": "string"
                  }
                },
                "required": [
                  "materialType"
                ]
              }
            ]
          }
        }
      },
      "partBuildIdstringundefinedquantityIndexstringundefinedquantityTotalstringundefinedthumbnailUristringundefinedcoloredThumbnailUristringundefined...49more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "partBuildId": {
            "type": "string"
          },
          "quantityIndex": {
            "type": "string"
          },
          "quantityTotal": {
            "type": "string"
          },
          "thumbnailUri": {
            "type": "string"
          },
          "coloredThumbnailUri": {
            "type": "string"
          },
          "buildThumbnailUri": {
            "type": "string"
          },
          "cameraThumbnailUri": {
            "type": "string",
            "description": "Camera-captured snapshot from the moment Fuse detected the last\nlayer of the print. Persisted to the files bucket. Null unless Fuse\nsuccessfully captured and uploaded."
          },
          "timelapseUri": {
            "type": "string",
            "description": "MP4 timelapse Fuse encoded from frames captured during the print and\nuploaded to the snapshots bucket under the `timelapses/` prefix.\nNull unless the store has timelapses enabled and Fuse uploaded\nsuccessfully."
          },
          "fuseTelemetryUri": {
            "type": "string",
            "description": "Fuse flight-recorder artifact for the current attempt (gzipped JSONL\nunder the permanent `telemetry/` prefix). Confirmed asynchronously by\nFuse after the print ends, like `timelapseUri`."
          },
          "attemptNumber": {
            "type": "string",
            "description": "1-based counter of print attempts (bumped on requeue once the attempt\nprinted or reached a terminal state). Keys per-attempt media/telemetry\nobjects and aligns with `print_history.attemptNumber`."
          },
          "sendFailureCount": {
            "type": "string",
            "description": "Consecutive send-give-up cycles (EnsureJobStarted exhausted its retries\nwithout the printer starting). Reset on retry from a terminal state."
          },
          "filesToPrint": {
            "type": "string"
          },
          "slicerInputHash": {
            "type": "string"
          },
          "isGcodeCached": {
            "type": "string"
          },
          "slicedGcodeUri": {
            "type": "string"
          },
          "partId": {
            "type": "string"
          },
          "partName": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "skuName": {
            "type": "string"
          },
          "parameterOverrides": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "orderItemId": {
            "type": "string"
          },
          "linkedPartId": {
            "type": "string"
          },
          "skuInstance": {
            "type": "string"
          },
          "queueOrder": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "requiredPrinterTags": {
            "type": "string"
          },
          "overriddenProcessProfileId": {
            "type": "string"
          },
          "taskId": {
            "type": "string"
          },
          "profileUris": {
            "type": "string"
          },
          "assignedPrinterId": {
            "type": "string"
          },
          "assignmentStartedAt": {
            "type": "string"
          },
          "assignmentCompletedAt": {
            "type": "string"
          },
          "printingStartedAt": {
            "type": "string"
          },
          "printingCompletedAt": {
            "type": "string"
          },
          "cancelledAt": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "hidden": {
            "type": "string"
          },
          "logsUri": {
            "type": "string"
          },
          "extensions": {
            "type": "string"
          },
          "skipObjectsData": {
            "type": "string"
          },
          "skipObjectIds": {
            "type": "string",
            "description": "User-selected objects to skip on this job's plate, as identifyId strings\n(resolved at queue time from the part's plate object list). When the print\nstarts, a Bambu `skip_objects` command is auto-sent for these. Null/empty\nmeans print everything. Stored as strings; converted to integer obj_list at\nsend time."
          },
          "materialMapping": {
            "type": "string"
          },
          "materialAssignments": {
            "type": "string"
          },
          "gcodeAnalysisSha256": {
            "type": "string",
            "description": "SHA256 hash of analyzed gcode content — stable key for extrusion lookup"
          },
          "groupId": {
            "type": "string",
            "description": "Group identifier for visually-collapsed print-queue rows. Assigned at\nemission (one per plate cluster within a build). Split mints fresh\ngroupIds for non-first buckets. May be null for legacy rows that predate\nthe grouping feature."
          },
          "parentJobId": {
            "type": "string",
            "description": "Set on jobs merged onto a shared plate; points at the merged (parent)\njob. Children mirror the parent's status and are excluded from\nindependent matching."
          },
          "boundingBox": {
            "type": "string",
            "title": "{x,y,z} mm bounding box of what this job prints. Null until computed",
            "description": "{x,y,z} mm bounding box of what this job prints. Null until computed."
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPrintJob": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPrintJob",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPrintJob": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrintJob"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrintJob"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "partBuildId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantityIndex": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantityTotal": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "thumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "coloredThumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "buildThumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cameraThumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Camera-captured snapshot from the moment Fuse detected the last\nlayer of the print. Persisted to the files bucket. Null unless Fuse\nsuccessfully captured and uploaded."
          },
          "timelapseUri": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "MP4 timelapse Fuse encoded from frames captured during the print and\nuploaded to the snapshots bucket under the `timelapses/` prefix.\nNull unless the store has timelapses enabled and Fuse uploaded\nsuccessfully."
          },
          "fuseTelemetryUri": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Fuse flight-recorder artifact for the current attempt (gzipped JSONL\nunder the permanent `telemetry/` prefix). Confirmed asynchronously by\nFuse after the print ends, like `timelapseUri`."
          },
          "attemptNumber": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "1-based counter of print attempts (bumped on requeue once the attempt\nprinted or reached a terminal state). Keys per-attempt media/telemetry\nobjects and aligns with `print_history.attemptNumber`."
          },
          "sendFailureCount": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Consecutive send-give-up cycles (EnsureJobStarted exhausted its retries\nwithout the printer starting). Reset on retry from a terminal state."
          },
          "filesToPrint": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicerInputHash": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isGcodeCached": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicedGcodeUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "parameterOverrides": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "label": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderItemId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "linkedPartId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuInstance": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "queueOrder": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "priority": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "overriddenProcessProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "taskId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "profileUris": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignedPrinterId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignmentStartedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignmentCompletedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingStartedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingCompletedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cancelledAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "status": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "errorMessage": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "hidden": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "logsUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "extensions": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skipObjectsData": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skipObjectIds": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "User-selected objects to skip on this job's plate, as identifyId strings\n(resolved at queue time from the part's plate object list). When the print\nstarts, a Bambu `skip_objects` command is auto-sent for these. Null/empty\nmeans print everything. Stored as strings; converted to integer obj_list at\nsend time."
          },
          "materialMapping": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialAssignments": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "gcodeAnalysisSha256": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "SHA256 hash of analyzed gcode content — stable key for extrusion lookup"
          },
          "groupId": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Group identifier for visually-collapsed print-queue rows. Assigned at\nemission (one per plate cluster within a build). Split mints fresh\ngroupIds for non-first buckets. May be null for legacy rows that predate\nthe grouping feature."
          },
          "parentJobId": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Set on jobs merged onto a shared plate; points at the merged (parent)\njob. Children mirror the parent's status and are excluded from\nindependent matching."
          },
          "boundingBox": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "{x,y,z} mm bounding box of what this job prints. Null until computed",
            "description": "{x,y,z} mm bounding box of what this job prints. Null until computed."
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "PrintJobOperationRequest": {
        "type": "object",
        "properties": {
          "printJobIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "printJobIds"
        ]
      },
      "CancelPrintJobsRequest": {
        "type": "object",
        "properties": {
          "sendStop": {
            "type": "boolean",
            "description": "Whether to also send a STOP command to the printer(s) any of these jobs\nare currently on. Defaults to true. Surfaced as the \"Send stop command\nto the printer(s)\" checkbox on the cancel confirmation. The stop is\ndispatched directly to the assigned printer with no taskId/online gate —\nthe operator explicitly asked to stop, so we don't second-guess it from\n(possibly stale) printer state. Set false to only mark the jobs cancelled\nin Printago without touching the hardware."
          },
          "printJobIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "printJobIds"
        ]
      },
      "ArchivedPrintJobsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJob"
            }
          },
          "nextCursor": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "items",
          "nextCursor"
        ]
      },
      "AdjustGroupQuantityResponse": {
        "type": "object",
        "properties": {
          "group": {
            "$ref": "#/components/schemas/PrintJobGroup"
          }
        },
        "required": [
          "group"
        ]
      },
      "PrintJobGroup": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJob"
            }
          }
        },
        "required": [
          "groupId",
          "jobs"
        ]
      },
      "AdjustGroupQuantityRequest": {
        "type": "object",
        "properties": {
          "groupKey": {
            "$ref": "#/components/schemas/PrintJobGroupKey"
          },
          "targetQuantity": {
            "type": "number",
            "minimum": 1,
            "maximum": 500,
            "title": "Desired total quantity for the group. 1..500 inclusive",
            "description": "Desired total quantity for the group. 1..500 inclusive."
          }
        },
        "required": [
          "groupKey",
          "targetQuantity"
        ]
      },
      "PrintJobGroupKey": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          }
        },
        "required": [
          "groupId"
        ],
        "description": "Identifies a print-queue group. `groupId` is assigned at emission time by\n`queuePrintJobs` (one groupId per distinct plate cluster within a build),\nso every emitted job has a non-null groupId. Pre-feature legacy rows with\nnull groupId are not addressable by this API."
      },
      "SplitGroupResponse": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJobGroup"
            }
          },
          "affectedJobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJob"
            },
            "description": "Every lane row whose queueOrder changed as a side effect of the split's\nfull lane rebalance — includes the split buckets themselves plus any\nother pending groups in the same priority lane that got renumbered.\nThe client should setMany these into its local cache so the post-split\norder appears immediately instead of waiting for realtime sync."
          }
        },
        "required": [
          "groups",
          "affectedJobs"
        ]
      },
      "SplitGroupRequest": {
        "type": "object",
        "properties": {
          "groupKey": {
            "$ref": "#/components/schemas/PrintJobGroupKey"
          },
          "buckets": {
            "type": "array",
            "items": {
              "type": "number",
              "minimum": 1
            },
            "description": "Sizes of the resulting buckets in queue order. Must contain at least two\nentries and sum to the current group size. Bucket 0 retains the original\ngroupId (null or existing); buckets 1..N-1 get fresh CUID2s."
          }
        },
        "required": [
          "groupKey",
          "buckets"
        ]
      },
      "ReorderGroupResponse": {
        "type": "object",
        "properties": {
          "affectedJobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJob"
            },
            "title": "Every PrintJob whose queueOrder changed as a result of the rebalance",
            "description": "Every PrintJob whose queueOrder changed as a result of the rebalance.\nClients should upsert these into their local cache to reflect the\nauthoritative post-state without re-fetching the full queue."
          }
        },
        "required": [
          "affectedJobs"
        ]
      },
      "ReorderGroupRequest": {
        "type": "object",
        "properties": {
          "groupKey": {
            "$ref": "#/components/schemas/PrintJobGroupKey"
          },
          "afterGroupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Place the target group immediately after this group in the priority\nlane, or at the top when null. The server rebalances the lane so every\ngroup ends up at a clean 1000-spaced queueOrder — this avoids the\n\"same-queueOrder collision\" pitfall where midpoint-averaging between\ntwo groups at the same qo produces that qo and collapses the insert."
          }
        },
        "required": [
          "groupKey",
          "afterGroupId"
        ]
      },
      "PrintJobMatchingDetail": {
        "type": "object",
        "properties": {
          "printJobId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "details": {
            "$ref": "#/components/schemas/RecordstringMatchingDetails"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "printJobId",
          "details",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "RecordstringMatchingDetails": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/MatchingDetails"
        }
      },
      "MatchingDetails": {
        "type": "object",
        "properties": {
          "priority": {
            "type": "number"
          },
          "matched": {
            "type": "boolean"
          },
          "data": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DetailPreviousMismatch"
              },
              {
                "$ref": "#/components/schemas/DetailDataTagMismatch"
              },
              {
                "$ref": "#/components/schemas/DetailDataNoSlots"
              },
              {
                "$ref": "#/components/schemas/DetailMissingProfile"
              },
              {
                "$ref": "#/components/schemas/DetailDataMaterialMismatch"
              },
              {
                "$ref": "#/components/schemas/DetailDataMatched"
              },
              {
                "$ref": "#/components/schemas/DetailDataHeldForMerge"
              },
              {
                "$ref": "#/components/schemas/DetailDataBedTooSmall"
              }
            ]
          },
          "reason": {
            "type": "string"
          },
          "reasonCode": {
            "oneOf": [
              {
                "const": "missing-profile"
              },
              {
                "const": "tag-mismatch"
              },
              {
                "const": "previous-mismatch"
              },
              {
                "const": "no-slots"
              },
              {
                "const": "material-mismatch"
              },
              {
                "const": "held-for-merge"
              },
              {
                "const": "bed-too-small"
              },
              {
                "const": "matched"
              }
            ]
          }
        },
        "required": [
          "matched",
          "data",
          "reason",
          "reasonCode"
        ]
      },
      "DetailPreviousMismatch": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "plateId": {
            "type": "number"
          }
        },
        "required": [
          "partId"
        ]
      },
      "DetailDataTagMismatch": {
        "type": "object",
        "properties": {
          "required": {
            "$ref": "#/components/schemas/Tags"
          },
          "printer": {
            "$ref": "#/components/schemas/Recordstringany"
          }
        },
        "required": [
          "required",
          "printer"
        ]
      },
      "DetailDataNoSlots": {
        "type": "object",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterSlot"
            }
          }
        },
        "required": [
          "config",
          "slots"
        ]
      },
      "PrinterSlot": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "instanceId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "expectedData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BambuExpectedData"
              }
            ]
          },
          "expectedDataSetAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "amsIndex": {
            "type": "number",
            "description": "Visual slot position: -1 for spool, 0+ for AMS array index"
          },
          "slotIndex": {
            "type": "number",
            "description": "Slot within AMS, or spool index for multiple spools"
          },
          "slot": {
            "type": "number",
            "minimum": -64,
            "maximum": 255,
            "deprecated": true
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "printerId",
          "materialId",
          "variantId",
          "instanceId",
          "materialType",
          "expectedData",
          "expectedDataSetAt",
          "amsIndex",
          "slotIndex",
          "filamentUserProfileId",
          "filamentSystemProfileId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "BambuExpectedData": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "identifiers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Every `info` value the printer might legitimately echo back for this\nassignment. Only Bambu (`tray_info_idx`) and first-party Creality\n(canonical code) can round-trip `identifier` itself — the U1 echoes\nits RFID SKU or type string, Anycubic its read-only RFID SKU, Elegoo\nnothing at all — so the expected-check accepts any member of this\nset (plus an empty `info` when type+color match). Contains at least\n`identifier` and the `trayType` sent to the printer; assignment\nflows that know the slot's currently-reported `info` (RFID SKU etc.)\ninclude it too, pinning the assignment to the observed physical\nspool. Absent on rows written before this field existed — readers\nfall back to `[identifier]`."
          }
        },
        "required": [
          "color",
          "identifier",
          "type"
        ]
      },
      "DetailMissingProfile": {
        "type": "object",
        "properties": {
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterSlot"
            }
          }
        },
        "required": [
          "slots"
        ]
      },
      "DetailDataMaterialMismatch": {
        "type": "object",
        "properties": {
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterSlot"
            }
          },
          "jobMaterialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArraySingleMaterialSpecification"
              }
            ]
          },
          "partMaterialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayPartMaterialAssignment"
              }
            ]
          },
          "computedAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayComputedPartMaterialAssignment"
              }
            ]
          }
        },
        "required": [
          "slots",
          "jobMaterialAssignments",
          "partMaterialAssignments",
          "computedAssignments"
        ]
      },
      "RecordnumberArrayPartMaterialAssignment": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/PartMaterialAssignment"
          }
        }
      },
      "PartMaterialAssignment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "groupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "index": {
            "type": "number",
            "minimum": 0
          },
          "priority": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "groupId",
          "variantId",
          "materialId",
          "materialType",
          "partId",
          "index",
          "priority"
        ],
        "description": "Part material assignment entity linking parts to materials or groups"
      },
      "RecordnumberArrayComputedPartMaterialAssignment": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ComputedPartMaterialAssignment"
          }
        }
      },
      "ComputedPartMaterialAssignment": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "priority": {
            "type": "number",
            "minimum": 0
          },
          "groupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "index": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "partId",
          "priority",
          "groupId",
          "materialId",
          "variantId",
          "materialType",
          "index"
        ]
      },
      "DetailDataMatched": {
        "type": "object",
        "properties": {
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterSlot"
            }
          }
        },
        "required": [
          "slots"
        ]
      },
      "DetailDataHeldForMerge": {
        "type": "object",
        "properties": {
          "releaseAt": {
            "type": "string",
            "title": "ISO timestamp when the hold expires (job createdAt + mergeHoldMinutes)",
            "description": "ISO timestamp when the hold expires (job createdAt + mergeHoldMinutes)."
          }
        },
        "required": [
          "releaseAt"
        ],
        "description": "The job matched this printer but was held back for plate batching\n(plateMerging.mergeHoldMinutes): a young merge-eligible job waits for\ncompanions instead of consuming a printer alone. The hold lifts at\n`releaseAt` — or earlier, once enough compatible jobs accumulate to reach\nthe saturation threshold — after which the job assigns normally."
      },
      "DetailDataBedTooSmall": {
        "type": "object",
        "properties": {
          "plate": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              },
              "z": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "z"
            ],
            "title": "The authored plate footprint {x,y,z} mm",
            "description": "The authored plate footprint {x,y,z} mm."
          },
          "bed": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  },
                  "z": {
                    "type": "number"
                  }
                },
                "required": [
                  "x",
                  "y",
                  "z"
                ]
              }
            ],
            "title": "The printer's bed {x,y,z} mm (null if not denormalized yet)",
            "description": "The printer's bed {x,y,z} mm (null if not denormalized yet)."
          }
        },
        "required": [
          "plate",
          "bed"
        ],
        "description": "A merged plate (parent job) whose authored footprint is larger than this\nprinter's bed in some axis — the placements are absolute to the authored\nplate, so a smaller bed can't print it. Only merged parents carry this."
      },
      "PrintJobMatchingTroubleshoot": {
        "type": "object",
        "properties": {
          "printJobId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterMatchingStatus"
            }
          }
        },
        "required": [
          "printJobId",
          "printers"
        ]
      },
      "PrinterMatchingStatus": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printerName": {
            "type": "string"
          },
          "matched": {
            "type": "boolean"
          },
          "compatible": {
            "type": "boolean"
          },
          "checks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterMatchCheck"
            }
          },
          "firstFailedCheck": {
            "oneOf": [
              {
                "const": "enabled"
              },
              {
                "const": "online"
              },
              {
                "const": "available"
              },
              {
                "const": "ready"
              },
              {
                "const": "profiles-configured"
              },
              {
                "const": "subscription-slots"
              },
              {
                "const": "slots-loaded"
              },
              {
                "const": "tags-match"
              },
              {
                "const": "material-match"
              },
              {
                "const": "filament-profiles"
              },
              {
                "const": "in-maintenance"
              },
              {
                "const": "staggered-start-hold"
              }
            ]
          }
        },
        "required": [
          "printerId",
          "printerName",
          "matched",
          "compatible",
          "checks"
        ]
      },
      "PrinterMatchCheck": {
        "type": "object",
        "properties": {
          "code": {
            "oneOf": [
              {
                "const": "enabled"
              },
              {
                "const": "online"
              },
              {
                "const": "available"
              },
              {
                "const": "ready"
              },
              {
                "const": "profiles-configured"
              },
              {
                "const": "subscription-slots"
              },
              {
                "const": "slots-loaded"
              },
              {
                "const": "tags-match"
              },
              {
                "const": "material-match"
              },
              {
                "const": "filament-profiles"
              },
              {
                "const": "in-maintenance"
              },
              {
                "const": "staggered-start-hold"
              }
            ]
          },
          "passed": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          },
          "context": {
            "$ref": "#/components/schemas/PrinterMatchCheckContext"
          }
        },
        "required": [
          "code",
          "passed",
          "message"
        ]
      },
      "PrinterMatchCheckContext": {
        "type": "object",
        "properties": {
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "variantId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "tagComparisons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterTagComparison"
            },
            "title": "Populated on a failed `tags-match` check: every required tag and whether it matched",
            "description": "Populated on a failed `tags-match` check: every required tag and whether it matched."
          },
          "staggeredStartGroupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "title": "Populated on a failed `staggered-start-hold` check: the holding group + capacity",
            "description": "Populated on a failed `staggered-start-hold` check: the holding group + capacity."
          },
          "staggeredStartGroupName": {
            "type": "string"
          },
          "staggeredStartActive": {
            "type": "number"
          },
          "staggeredStartLimit": {
            "type": "number"
          }
        }
      },
      "PrinterTagComparison": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "title": "TagKey string, e.g. \"printer.modelName\"",
            "description": "TagKey string, e.g. \"printer.modelName\"."
          },
          "label": {
            "type": "string",
            "title": "Human-readable key, e.g. \"Printer Model\"",
            "description": "Human-readable key, e.g. \"Printer Model\"."
          },
          "requirement": {
            "type": "string",
            "title": "Human-readable requirement, e.g. \"Bambu Lab H2D\" or \"≥ 0.6\"",
            "description": "Human-readable requirement, e.g. \"Bambu Lab H2D\" or \"≥ 0.6\"."
          },
          "actual": {
            "type": "string",
            "title": "The printer's actual value, e.g. \"Bambu Lab X1 Carbon\" or \"(not set)\"",
            "description": "The printer's actual value, e.g. \"Bambu Lab X1 Carbon\" or \"(not set)\"."
          },
          "matched": {
            "type": "boolean",
            "title": "Whether the printer's value satisfies the requirement",
            "description": "Whether the printer's value satisfies the requirement."
          }
        },
        "required": [
          "key",
          "label",
          "requirement",
          "actual",
          "matched"
        ],
        "description": "One required tag compared against the printer's value, pre-formatted for display."
      },
      "RunQueueResponse": {
        "type": "object",
        "properties": {
          "skipped": {
            "oneOf": [
              {
                "const": "no-printers"
              },
              {
                "const": "no-jobs"
              },
              {
                "const": "no-subscription-slots"
              },
              {
                "const": "auto-matching-disabled"
              }
            ]
          },
          "assignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueueMatchAssignment"
            }
          }
        },
        "required": [
          "assignments"
        ],
        "description": "Result of one queue-matcher run. Returned synchronously from the manual\n\"Match queue now\" endpoint so the operator sees what was assigned (or\nwhy the run produced nothing). The same shape backs the future\ndry-run/preview path — that variant just returns assignments without\nhaving committed them."
      },
      "QueueMatchAssignment": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printJobId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "jobLabel": {
            "type": "string"
          }
        },
        "required": [
          "printerId",
          "printJobId",
          "jobLabel"
        ]
      },
      "QueueGroupMatchingResponse": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueueGroupMatchingEntry"
            }
          },
          "truncated": {
            "type": "boolean",
            "description": "True when the pending queue was larger than the per-request evaluation\nbudget and the tail of the queue was not evaluated. Scope the request\nwith `printJobIds` to get results for a specific group."
          }
        },
        "required": [
          "groups",
          "truncated"
        ]
      },
      "QueueGroupMatchingEntry": {
        "type": "object",
        "properties": {
          "groupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Group identifier shared by every job in the entry. Null for legacy rows\nthat predate the queue-grouping feature — those rows form a singleton\n\"group of one\" keyed by the job id."
          },
          "representativePrintJobId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "title": "Job whose part/materials/tags drive the printer evaluation",
            "description": "Job whose part/materials/tags drive the printer evaluation."
          },
          "memberPrintJobIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "title": "All print job IDs from the request scope that share this groupId",
            "description": "All print job IDs from the request scope that share this groupId."
          },
          "printers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterMatchSummary"
            },
            "description": "Per-printer verdict for the representative job, ordered\nmatched → compatible → printer name. Verdict only: the per-check\nmessages live on the single-job troubleshooter\n(`GET /v1/print-jobs/{id}/matching-troubleshoot`)."
          }
        },
        "required": [
          "groupId",
          "representativePrintJobId",
          "memberPrintJobIds",
          "printers"
        ]
      },
      "PrinterMatchSummary": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "matched": {
            "type": "boolean"
          },
          "compatible": {
            "type": "boolean"
          },
          "firstFailedCheck": {
            "oneOf": [
              {
                "const": "enabled"
              },
              {
                "const": "online"
              },
              {
                "const": "available"
              },
              {
                "const": "ready"
              },
              {
                "const": "profiles-configured"
              },
              {
                "const": "subscription-slots"
              },
              {
                "const": "slots-loaded"
              },
              {
                "const": "tags-match"
              },
              {
                "const": "material-match"
              },
              {
                "const": "filament-profiles"
              },
              {
                "const": "in-maintenance"
              },
              {
                "const": "staggered-start-hold"
              }
            ]
          }
        },
        "required": [
          "printerId",
          "matched",
          "compatible"
        ],
        "description": "Verdict-only form of `PrinterMatchingStatus`. A full status carries twelve\n`checks` with rendered messages and tag comparisons (~1.5 KB per printer),\nwhich is fine for one job but not for a bulk response sized\ngroups x printers. Callers that need the reasons fetch the full statuses\nfor a single job from the troubleshooter."
      },
      "QueueGroupMatchingRequest": {
        "type": "object",
        "properties": {
          "printJobIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "description": "Request body for the bulk group-matching endpoint. When `printJobIds` is\nomitted the server scans every currently-pending unassigned job in the\nstore. When supplied, only those jobs are considered (still de-duped by\ngroupId so each group is evaluated once)."
      },
      "SendPrintJobToPrinterResponse": {
        "type": "object",
        "properties": {
          "printJob": {
            "$ref": "#/components/schemas/PrintJob"
          }
        },
        "required": [
          "printJob"
        ]
      },
      "SendPrintJobToPrinterRequest": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "force": {
            "type": "boolean",
            "description": "When true, bypass the printer-job match check. The server still enforces\nthe atomic \"printer not currently busy\" claim and the part-existence\nguard. Use sparingly — a forced mismatch will likely fail at slice/print\ntime."
          },
          "bypassStaggeredStart": {
            "type": "boolean",
            "description": "When true, dispatch even if the printer's Staggered Start group is at\ncapacity. This is an explicit, audited operator override (action B) — it\nstill claims a hold and consumes a slot; it only overrides the block. Leave\nfalse to get a predictable \"Held by staggered start\" 409 when the group is\nfull."
          }
        },
        "required": [
          "printerId"
        ],
        "description": "Request body for the direct-send endpoint. Sends a specific pending job to\na specific printer without running global queue matching."
      },
      "ReorderPrintJobRequest": {
        "type": "object",
        "properties": {
          "newQueueOrder": {
            "type": "number",
            "minimum": 0
          },
          "priority": {
            "type": "number"
          }
        }
      },
      "BulkReorderPrintJobsRequest": {
        "type": "object",
        "properties": {
          "updates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "newQueueOrder": {
                  "type": "number",
                  "minimum": 0
                },
                "priority": {
                  "type": "number"
                }
              },
              "required": [
                "id"
              ]
            }
          }
        },
        "required": [
          "updates"
        ]
      },
      "PartialPrintJobInsert": {
        "type": "object",
        "properties": {
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "assigned"
              },
              {
                "const": "slicing"
              },
              {
                "const": "sliced"
              },
              {
                "const": "finalizing"
              },
              {
                "const": "waiting-for-approval"
              },
              {
                "const": "ready-for-printer"
              },
              {
                "const": "sending-to-printer"
              },
              {
                "const": "printing"
              },
              {
                "const": "paused"
              },
              {
                "const": "completed"
              },
              {
                "const": "failed"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "skuName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "label": {
            "type": "string"
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "parameterOverrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "assignmentStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PrintJobExtensions"
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArraySingleMaterialSpecification"
              }
            ]
          },
          "partBuildId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "quantityIndex": {
            "type": "number"
          },
          "quantityTotal": {
            "type": "number"
          },
          "filesToPrint": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "partName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "skipObjectsData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SkipObjectsData"
              }
            ]
          },
          "customMetadata": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringunknown"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "linkedPartId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "buildThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "queueOrder": {
            "type": "number",
            "minimum": 0
          },
          "skipObjectIds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "User-selected objects to skip on this job's plate, as identifyId strings\n(resolved at queue time from the part's plate object list). When the print\nstarts, a Bambu `skip_objects` command is auto-sent for these. Null/empty\nmeans print everything. Stored as strings; converted to integer obj_list at\nsend time."
          },
          "skuInstance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "groupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Group identifier for visually-collapsed print-queue rows. Assigned at\nemission (one per plate cluster within a build). Split mints fresh\ngroupIds for non-first buckets. May be null for legacy rows that predate\nthe grouping feature."
          },
          "parentJobId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Set on jobs merged onto a shared plate; points at the merged (parent)\njob. Children mirror the parent's status and are excluded from\nindependent matching."
          },
          "boundingBox": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BoundingBoxMm"
              }
            ],
            "title": "{x,y,z} mm bounding box of what this job prints. Null until computed",
            "description": "{x,y,z} mm bounding box of what this job prints. Null until computed."
          }
        },
        "description": "Make all properties in T optional"
      },
      "Store": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "timezone": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "country": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "logoLightUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "logoDarkUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "websiteUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "auditEnabled": {
            "type": "boolean"
          },
          "deletionScheduledFor": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ],
            "description": "Set while a deletion is scheduled, cleared when an owner cancels it, and\ngone with the row once the deletion runs. Every member reads it from\n`GET /v1/stores` to render the scheduled-deletion banner."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "auditEnabled",
          "id",
          "updatedAt",
          "createdAt"
        ]
      },
      "StoreUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "timezone": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "country": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "logoLightUploadPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "logoDarkUploadPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "websiteUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        }
      },
      "SkuLinkedPartsRelation": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "externalProvider": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "totalCogs": {
            "type": "number"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "linkedParts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedPart"
            }
          }
        },
        "required": [
          "sku",
          "title",
          "description",
          "externalId",
          "externalProvider",
          "totalCogs",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "linkedParts"
        ]
      },
      "skustringundefinedtitlestringundefineddescriptionstringundefinedexternalIdstringundefinedexternalProviderstringundefinedfolderIdstringundefined...5more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "externalProvider": {
            "type": "string"
          },
          "folderId": {
            "type": "string"
          },
          "totalCogs": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoSku": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionSku",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionSku": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSku"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSku"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "sku": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "title": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "description": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalProvider": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "folderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "totalCogs": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SkuLinkedPartsWithPartRelation": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "externalProvider": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              }
            ]
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "totalCogs": {
            "type": "number"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "linkedParts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedPartPartRelation"
            }
          }
        },
        "required": [
          "sku",
          "title",
          "description",
          "externalId",
          "externalProvider",
          "totalCogs",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "linkedParts"
        ]
      },
      "LinkedPartPartRelation": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "exposedParameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayLinkedPartMaterialSpecification"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LinkedPartExtensions"
              }
            ]
          },
          "parameterBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ]
          },
          "sequenceBindings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstring"
              }
            ],
            "title": "Text-parameter name → sequence id: each queued unit consumes the next serial",
            "description": "Text-parameter name → sequence id: each queued unit consumes the next serial."
          },
          "plateQuantitiesBinding": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "part": {
            "$ref": "#/components/schemas/Part"
          }
        },
        "required": [
          "skuId",
          "partId",
          "parameters",
          "quantity",
          "label",
          "exposedParameters",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "part"
        ]
      },
      "SkuInsert": {
        "type": "object",
        "properties": {
          "linkedParts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedPartInsert"
            }
          },
          "inputs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "oneOf": [
                    {
                      "const": "text"
                    },
                    {
                      "const": "material"
                    },
                    {
                      "const": "plate_quantities"
                    }
                  ]
                },
                "name": {
                  "type": "string"
                },
                "connectedPropertyId": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "type",
                "name"
              ]
            }
          },
          "optionBindings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string"
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "title": {
            "type": "string"
          },
          "externalProvider": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              }
            ]
          }
        },
        "required": [
          "linkedParts",
          "description",
          "externalId",
          "sku",
          "title",
          "externalProvider"
        ]
      },
      "SkuDuplicateRequest": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "title": {
            "type": "string"
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "includeLinkedParts": {
            "type": "boolean"
          },
          "includeVariantOptions": {
            "type": "boolean"
          },
          "includeCostEntries": {
            "type": "boolean"
          },
          "includeDescription": {
            "type": "boolean"
          }
        },
        "required": [
          "sku"
        ]
      },
      "PartialSkuInsert": {
        "type": "object",
        "properties": {
          "linkedParts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedPartInsert"
            }
          },
          "inputs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "oneOf": [
                    {
                      "const": "text"
                    },
                    {
                      "const": "material"
                    },
                    {
                      "const": "plate_quantities"
                    }
                  ]
                },
                "name": {
                  "type": "string"
                },
                "connectedPropertyId": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "type",
                "name"
              ]
            }
          },
          "optionBindings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string"
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "folderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024
          },
          "title": {
            "type": "string"
          },
          "externalProvider": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              }
            ]
          }
        },
        "description": "Make all properties in T optional"
      },
      "BuildResultV2": {
        "type": "object",
        "properties": {
          "partBuilds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartBuild"
            },
            "description": "Created part build records"
          },
          "skuBuilds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SkuBuild"
            },
            "description": "Created SKU build records"
          }
        },
        "required": [
          "partBuilds",
          "skuBuilds"
        ],
        "description": "Result of a successful build creation operation\nContains the created part builds and SKU builds with their assigned IDs"
      },
      "PartBuild": {
        "type": "object",
        "properties": {
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuBuildId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "label": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "partCopy": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "type": {
                "oneOf": [
                  {
                    "const": "scad"
                  },
                  {
                    "const": "cadquery"
                  },
                  {
                    "const": "build123d"
                  },
                  {
                    "const": "stl"
                  },
                  {
                    "const": "step"
                  },
                  {
                    "const": "3mf"
                  },
                  {
                    "const": "gcode3mf"
                  },
                  {
                    "const": "gcode"
                  }
                ]
              },
              "description": {
                "type": "string",
                "default": ""
              },
              "fileUris": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "fileHashes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "thumbnailUri": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "parameters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "default": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "value"
                        ]
                      }
                    },
                    "description": {
                      "type": "string"
                    },
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    },
                    "step": {
                      "type": "number"
                    },
                    "acceptedContentTypes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "File-parameter-only fields (populated when\n`type === PartParameterVariableType.File`). Kept optional on the\nshared interface so scalar-parameter call sites do not need\nunion-narrowing. See `FilePartParameter` for the strict shape.\n\n`acceptedContentTypes` is intentionally an OPEN `string[]` (not a\nnarrow union). The customizer emits SVG, but Etsy attachments and\ndirect API order ingestion can carry ANY mime type (PNG / JPG / PDF /\nAI / etc). Builders enforce kind constraints; the shared type stays\nopen."
                    },
                    "multiple": {
                      "type": "boolean",
                      "description": "Whether the slot accepts >1 file. Reserved for forward compat — the\nPhase 5 resolver assumes single-file per slot for v1."
                    },
                    "defaultUri": {
                      "type": "string",
                      "title": "Optional fallback file URI (e.g. a known SVG in storage)",
                      "description": "Optional fallback file URI (e.g. a known SVG in storage)."
                    },
                    "label": {
                      "type": "string",
                      "maxLength": 255,
                      "description": "What the parameter is shown under wherever a customer or an operator\nfills it in; `name` stays the key everything binds by (SKU options,\norder inputs, build overrides, and — for a 3MF text slot — the text\nvolume the substitution travels to). A parameter without one is shown\nunder its name.\n\nThis interface is the one the API's request validators are generated\nfrom, and it is a second declaration of the shape in\n`../part/parameter`. A field added to only one of them is accepted by\nthe code and then pruned off the wire."
                    },
                    "serialReuse": {
                      "oneOf": [
                        {
                          "const": "share",
                          "title": "One serial per plate print, applied to every matching occurrence",
                          "description": "One serial per plate print, applied to every matching occurrence."
                        },
                        {
                          "const": "increment",
                          "title": "The next serial for each matching object instance on the plate",
                          "description": "The next serial for each matching object instance on the plate."
                        }
                      ],
                      "description": "For a 3MF text-slot parameter bound to a sequence: whether occurrences\nrepeated on one plate share a serial or each consume the next one.\nAbsent means {@link TextSlotSerialReuse.Share }, today's duplicate-name\nmeaning."
                    },
                    "sizing": {
                      "oneOf": [
                        {
                          "const": "stretch",
                          "title": "Fill the authored bounds exactly, distorting the glyphs if need be",
                          "description": "Fill the authored bounds exactly, distorting the glyphs if need be."
                        },
                        {
                          "const": "fit",
                          "title": "Keep the authored proportions and size; shrink only to avoid overflow",
                          "description": "Keep the authored proportions and size; shrink only to avoid overflow."
                        },
                        {
                          "const": "unconstrained",
                          "title": "Draw at the authored size and let a long value run past the bounds",
                          "description": "Draw at the authored size and let a long value run past the bounds."
                        }
                      ],
                      "description": "3MF text placeholders only: how a substituted value is sized against the\nbounds of the text volume it replaces. Absent means \"fit within bounds\",\nwhich is what every part declared before the setting existed carries.\nDeclared on this shape as well as on `../part/parameter` for the reason\n`label` is — the API's request validators are generated from this one,\nand a field on only the other is pruned off the wire."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "type": {
                      "oneOf": [
                        {
                          "const": "number"
                        },
                        {
                          "const": "string"
                        },
                        {
                          "const": "boolean"
                        },
                        {
                          "const": "file"
                        }
                      ]
                    },
                    "value": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    }
                  },
                  "required": [
                    "name",
                    "type"
                  ]
                }
              },
              "printTags": {
                "type": "object",
                "properties": {
                  "printer.provider": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.nozzleDiameter": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.modelName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "filament.type": {
                    "type": "string",
                    "minLength": 1
                  },
                  "user.tags": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "overriddenProcessProfileId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "folderId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "materials": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "index": {
                          "type": "number",
                          "minimum": 0
                        },
                        "color": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string",
                              "pattern": "^#{0,1}[0-9A-F]{6}|[0-9A-F]{8}$"
                            }
                          ]
                        },
                        "type": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "skip": {
                          "type": "boolean"
                        },
                        "name": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "identifier": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": [
                        "index",
                        "color",
                        "type"
                      ]
                    }
                  }
                ]
              },
              "slicerOverride": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "metadata": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "printerModel": {
                        "type": "string"
                      },
                      "filamentType": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "filamentColors": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "filamentDensities": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "filamentDiameters": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "nozzleDiameter": {
                        "type": "string"
                      },
                      "profileCompat": {
                        "type": "object",
                        "properties": {
                          "sliced": {
                            "type": "string"
                          },
                          "compatible": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "safe": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "sliced",
                          "compatible",
                          "safe"
                        ]
                      },
                      "slicerVersion": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "properties": {
                              "engine": {
                                "oneOf": [
                                  {
                                    "const": "orcaslicer"
                                  },
                                  {
                                    "const": "bambu-studio"
                                  },
                                  {
                                    "const": "prusaslicer"
                                  },
                                  {
                                    "const": "superslicer"
                                  }
                                ]
                              },
                              "version": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "engine",
                              "version"
                            ]
                          }
                        ]
                      },
                      "plates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "locked": {
                              "type": "boolean"
                            },
                            "filamentMapMode": {
                              "type": "string"
                            },
                            "filamentMaps": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              }
                            },
                            "gcodeFile": {
                              "type": "string"
                            },
                            "thumbnailFile": {
                              "type": "string"
                            },
                            "thumbnailUploadedUri": {
                              "type": "string",
                              "title": "The archive's own plate preview, copied out at metadata-extraction time",
                              "description": "The archive's own plate preview, copied out at metadata-extraction time."
                            },
                            "thumbnailRenderedUri": {
                              "type": "string",
                              "description": "The plate re-rendered by the three.js builder. Written by a different\nflow, and to a different storage path, than the archive copy above — a\nlater metadata reprocess re-copies the archive image and must not be able\nto overwrite this. Prefer it over `thumbnailUploadedUri`\n(see `plateThumbnailUri`)."
                            },
                            "thumbnailNoLightFile": {
                              "type": "string"
                            },
                            "thumbnailData": {
                              "type": "string"
                            },
                            "topFile": {
                              "type": "string"
                            },
                            "pickFile": {
                              "type": "string"
                            },
                            "topData": {
                              "type": "string",
                              "title": "Base64 PNG data for the top/pick images, staged before upload then cleared",
                              "description": "Base64 PNG data for the top/pick images, staged before upload then cleared."
                            },
                            "pickData": {
                              "type": "string"
                            },
                            "topUploadedUri": {
                              "type": "string",
                              "title": "Uploaded URIs for the plate's top-down image and color-coded object pick mask",
                              "description": "Uploaded URIs for the plate's top-down image and color-coded object pick mask.\nUsed by the visual skip-objects picker."
                            },
                            "pickUploadedUri": {
                              "type": "string"
                            },
                            "patternBboxFile": {
                              "type": "string"
                            },
                            "sliced": {
                              "type": "object",
                              "properties": {
                                "index": {
                                  "type": "number"
                                },
                                "extruderType": {
                                  "type": "string"
                                },
                                "nozzleVolumeType": {
                                  "type": "string"
                                },
                                "printerModelId": {
                                  "type": "string"
                                },
                                "nozzleDiameters": {
                                  "type": "string"
                                },
                                "timelapseType": {
                                  "type": "string"
                                },
                                "prediction": {
                                  "type": "number"
                                },
                                "weight": {
                                  "type": "number"
                                },
                                "outside": {
                                  "type": "boolean"
                                },
                                "supportUsed": {
                                  "type": "boolean"
                                },
                                "labelObjectEnabled": {
                                  "type": "boolean"
                                },
                                "filamentMaps": {
                                  "type": "string"
                                },
                                "objects": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "identifyId": {
                                        "type": "string"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "skipped": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "identifyId",
                                      "name",
                                      "skipped"
                                    ]
                                  }
                                },
                                "filaments": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string"
                                      },
                                      "trayInfoIdx": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      },
                                      "color": {
                                        "type": "string"
                                      },
                                      "usedM": {
                                        "type": "number"
                                      },
                                      "usedG": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "trayInfoIdx",
                                      "type",
                                      "color",
                                      "usedM",
                                      "usedG"
                                    ]
                                  }
                                },
                                "warnings": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "msg": {
                                        "type": "string"
                                      },
                                      "level": {
                                        "type": "number"
                                      },
                                      "errorCode": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "msg",
                                      "level",
                                      "errorCode"
                                    ]
                                  }
                                },
                                "layerFilamentLists": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "filamentList": {
                                        "type": "number"
                                      },
                                      "layerRanges": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "filamentList",
                                      "layerRanges"
                                    ]
                                  }
                                }
                              }
                            },
                            "filamentIds": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "id"
                          ]
                        }
                      },
                      "filamentIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "textSlots": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string",
                              "title": "The matching volume/object name — the substitution key",
                              "description": "The matching volume/object name — the substitution key."
                            },
                            "label": {
                              "type": "string",
                              "title": "The label this slot's parameter is shown under",
                              "description": "The label this slot's parameter is shown under."
                            },
                            "text": {
                              "type": "string",
                              "description": "The text authored into the volume. It prints as-is when the slot goes\nunfilled, which makes it the parameter's default."
                            },
                            "volumeCount": {
                              "type": "number",
                              "title": "How many text volumes in the file carry this slot name",
                              "description": "How many text volumes in the file carry this slot name."
                            },
                            "fontName": {
                              "type": "string",
                              "title": "`font_name` of the first volume seen with this key",
                              "description": "`font_name` of the first volume seen with this key."
                            },
                            "fontVersion": {
                              "type": "string",
                              "title": "`font_version` of the first volume seen with this key",
                              "description": "`font_version` of the first volume seen with this key."
                            },
                            "surfaceType": {
                              "type": "number",
                              "title": "`surface_type` of the first volume seen with this key (0=flat)",
                              "description": "`surface_type` of the first volume seen with this key (0=flat)."
                            },
                            "occurrences": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "plateId": {
                                    "type": "number"
                                  },
                                  "objectId": {
                                    "type": "string",
                                    "title": "`model_settings.config` object id (matches the root model's build items)",
                                    "description": "`model_settings.config` object id (matches the root model's build items)."
                                  },
                                  "instanceId": {
                                    "type": "number",
                                    "title": "0-based instance index among the object's build items",
                                    "description": "0-based instance index among the object's build items."
                                  },
                                  "identifyId": {
                                    "type": "string",
                                    "title": "Bambu's per-instance id, when present (matches gcode object labels)",
                                    "description": "Bambu's per-instance id, when present (matches gcode object labels)."
                                  }
                                },
                                "required": [
                                  "plateId",
                                  "objectId",
                                  "instanceId"
                                ]
                              },
                              "title": "Every printable object instance carrying this slot, across all plates",
                              "description": "Every printable object instance carrying this slot, across all plates.\nAbsent when the file predates occurrence detection or has no plate\nmetadata to resolve instances against."
                            }
                          },
                          "required": [
                            "key",
                            "label",
                            "text",
                            "volumeCount"
                          ]
                        },
                        "description": "PrintagoParam text slots with their per-plate occurrence identities,\nre-detected whenever the file is (re)processed. The saved reuse mode\nlives on the slot's parameter, which survives a file replacement; this\nis the geometry-derived half that must always track the current file."
                      },
                      "plateRenderSourceHash": {
                        "type": "string",
                        "description": "`fileHashes[0]` of the source that produced the plates'\n`thumbnailRenderedUri`. Re-extraction carries the renders forward only\nwhile this still matches the part's current source; a replaced file\nleaves them behind rather than showing the previous model's geometry."
                      }
                    },
                    "required": [
                      "printerModel",
                      "filamentType",
                      "filamentColors",
                      "nozzleDiameter",
                      "profileCompat"
                    ]
                  }
                ]
              },
              "slicingEstimate": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "estimatedPrintTimeSeconds": {
                        "type": "number"
                      },
                      "materials": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "index": {
                              "type": "number"
                            },
                            "usedGrams": {
                              "type": "number"
                            },
                            "usedMeters": {
                              "type": "number"
                            },
                            "materialType": {
                              "type": "string"
                            },
                            "color": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "index",
                            "usedGrams",
                            "usedMeters",
                            "materialType"
                          ]
                        }
                      },
                      "totalWeightGrams": {
                        "type": "number"
                      },
                      "profiles": {
                        "type": "object",
                        "properties": {
                          "machineProfileId": {
                            "type": "string"
                          },
                          "machineProfileName": {
                            "type": "string"
                          },
                          "processProfileId": {
                            "type": "string"
                          },
                          "processProfileName": {
                            "type": "string"
                          },
                          "filamentProfileIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "filamentProfileNames": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "machineProfileId",
                          "machineProfileName",
                          "processProfileId",
                          "processProfileName",
                          "filamentProfileIds",
                          "filamentProfileNames"
                        ]
                      },
                      "slicedAt": {
                        "type": "string"
                      },
                      "slicerVersion": {
                        "type": "string"
                      },
                      "plates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "plateId": {
                              "type": "number"
                            },
                            "estimatedPrintTimeSeconds": {
                              "type": "number"
                            },
                            "materials": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "index": {
                                    "type": "number"
                                  },
                                  "usedGrams": {
                                    "type": "number"
                                  },
                                  "usedMeters": {
                                    "type": "number"
                                  },
                                  "materialType": {
                                    "type": "string"
                                  },
                                  "color": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "index",
                                  "usedGrams",
                                  "usedMeters",
                                  "materialType"
                                ]
                              }
                            },
                            "totalWeightGrams": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "plateId",
                            "estimatedPrintTimeSeconds",
                            "materials",
                            "totalWeightGrams"
                          ]
                        }
                      }
                    },
                    "required": [
                      "estimatedPrintTimeSeconds",
                      "materials",
                      "totalWeightGrams",
                      "slicedAt",
                      "slicerVersion"
                    ]
                  }
                ]
              },
              "use3MFProcessProfile": {
                "type": "boolean",
                "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
              },
              "arrangeable": {
                "type": "boolean"
              },
              "userTags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "gcodePlateUris": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                ]
              },
              "meshUri": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
                "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
              },
              "meshSourceHash": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
              },
              "meshError": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
              },
              "uploadedAt": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "customMetadata": {
                "type": "object",
                "properties": {},
                "additionalProperties": {}
              },
              "source": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "const": "google-drive"
                  },
                  {
                    "const": "onedrive"
                  }
                ],
                "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
              },
              "id": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "storeId": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description",
              "fileUris",
              "fileHashes",
              "thumbnailUri",
              "parameters",
              "printTags",
              "overriddenProcessProfileId",
              "materials",
              "id",
              "storeId",
              "createdAt",
              "updatedAt"
            ]
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "numPartsPerSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "skuInstanceStart": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "parameterOverrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "building"
              },
              {
                "const": "queued"
              },
              {
                "const": "fulfilling"
              },
              {
                "const": "preparing"
              },
              {
                "const": "sending-to-printer"
              },
              {
                "const": "printing"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "outputFiles": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "assignmentStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "assignmentCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printStatus": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "printing"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartBuildExtensions"
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MaterialAssignments"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "linkedPartId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "dismissed": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "partId",
          "skuBuildId",
          "skuId",
          "skuName",
          "label",
          "partCopy",
          "requiredPrinterTags",
          "quantity",
          "parameterOverrides",
          "status",
          "outputFiles",
          "thumbnailUri",
          "assignmentStartedAt",
          "assignmentCompletedAt",
          "printingStartedAt",
          "printingCompletedAt",
          "printStatus",
          "materialAssignments",
          "priority",
          "position",
          "orderId",
          "orderItemId",
          "linkedPartId",
          "dismissed",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "PartBuildExtensions": {
        "type": "object",
        "properties": {
          "3mf": {
            "$ref": "#/components/schemas/PartBuildExtension3MF"
          },
          "orderInfo": {
            "$ref": "#/components/schemas/PartBuildOrderInfo"
          },
          "boundingBox": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BoundingBoxMm"
              }
            ],
            "description": "{x,y,z} mm footprint of this build's generated geometry, stashed after a\nparametric (OpenSCAD/CadQuery) render so per-job boundingBox denormalization\ncan read it without re-parsing the output STL."
          },
          "mergedPlate": {
            "$ref": "#/components/schemas/MergedPlateExtension",
            "description": "Present on the SYNTHETIC build backing a merged (parent) print job. Marks\nthe job as a merged plate and carries everything the async authoring step\nand status mirroring need (Plate Packer v2 §7.1 / §10). The merged 3MF is\nauthored post-commit from the children's source files (see\n`AuthorMergedPlateEvent`); `objectManifest` is filled in once authoring\ncompletes."
          },
          "consolidation": {
            "$ref": "#/components/schemas/BuildConsolidation",
            "description": "Build-time consolidation request (issue #437): stashed on a NORMAL part\nbuild so `queuePrintJobs` knows to pack this build's quantity onto plates.\nDistinct from `mergedPlate`, which marks the resulting synthetic parents."
          },
          "customizer": {
            "$ref": "#/components/schemas/PartBuildExtensionCustomizer"
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerialStamp"
            },
            "title": "Serials consumed by this build, stamped at allocation time",
            "description": "Serials consumed by this build, stamped at allocation time."
          },
          "sequenceFanout": {
            "$ref": "#/components/schemas/SequenceFanout",
            "title": "Present on per-unit sibling builds created by sequence fan-out",
            "description": "Present on per-unit sibling builds created by sequence fan-out."
          }
        }
      },
      "PartBuildExtension3MF": {
        "type": "object",
        "properties": {
          "plateQuantities": {
            "$ref": "#/components/schemas/PartExtension3MFPlateQuantities"
          },
          "skipObjects": {
            "$ref": "#/components/schemas/RecordstringArraystring",
            "title": "Objects to SKIP per plate, keyed by plate id, as identifyId strings (Bambu only)",
            "description": "Objects to SKIP per plate, keyed by plate id, as identifyId strings (Bambu only)."
          },
          "plateLabels": {
            "$ref": "#/components/schemas/PartExtension3MFPlateLabels"
          }
        }
      },
      "RecordstringArraystring": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "PartBuildOrderInfo": {
        "type": "object",
        "properties": {
          "linkedPartId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "linkedPartQuantity": {
            "type": "number"
          }
        },
        "required": [
          "linkedPartId",
          "linkedPartQuantity"
        ]
      },
      "MergedPlateExtension": {
        "type": "object",
        "properties": {
          "childJobIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The child (merged-in) print job ids, in layout order",
            "description": "The child (merged-in) print job ids, in layout order."
          },
          "layout": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LayoutPlacement"
            },
            "title": "Committed, authoritative placements the merged 3MF is authored from",
            "description": "Committed, authoritative placements the merged 3MF is authored from."
          },
          "bedSize": {
            "$ref": "#/components/schemas/PlateSize",
            "title": "Bed the layout was computed against (the target plate build volume)",
            "description": "Bed the layout was computed against (the target plate build volume)."
          },
          "mode": {
            "oneOf": [
              {
                "const": "auto"
              },
              {
                "const": "manual"
              },
              {
                "const": "consolidation"
              }
            ],
            "title": "How this plate was created",
            "description": "How this plate was created."
          },
          "policy": {
            "oneOf": [
              {
                "const": "same-order"
              },
              {
                "const": "any"
              }
            ],
            "title": "Automatic-mode scope policy the merge was selected under (auto only)",
            "description": "Automatic-mode scope policy the merge was selected under (auto only)."
          },
          "objectManifest": {
            "$ref": "#/components/schemas/RecordstringArraynumber",
            "title": "jobId -> merged-file object ids, set once authoring completes",
            "description": "jobId -> merged-file object ids, set once authoring completes."
          },
          "machineName": {
            "type": "string",
            "title": "Target machine profile name, written into the merged file's config",
            "description": "Target machine profile name, written into the merged file's config."
          },
          "excludeAreas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExclusionRect"
            },
            "title": "Bed keep-out rects the layout respected (from the machine profile)",
            "description": "Bed keep-out rects the layout respected (from the machine profile)."
          },
          "processOverrides": {
            "$ref": "#/components/schemas/Recordstringstring",
            "description": "Plate-wide process values resolved across the children by the store's\nmerge policies — merged over the process profile at dispatch. Canonical\nstrings keyed by slicer config key."
          },
          "childProcessSettings": {
            "$ref": "#/components/schemas/RecordstringRecordstringstring",
            "description": "childJobId -> per-object process settings written onto that child's\nobjects in the merged model_settings.config at authoring time."
          },
          "slicerVersionId": {
            "type": "string",
            "description": "SlicerVersion.id the plate optimizer chose for this plate under the store's\nslicer-compatibility policy. Mirrored onto the parent job's mergedPlate\nextension and honored at dispatch. Absent = store slicer."
          },
          "failure": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              }
            },
            "required": [
              "message"
            ],
            "title": "Set when async authoring failed and the merge was unwound",
            "description": "Set when async authoring failed and the merge was unwound."
          }
        },
        "required": [
          "childJobIds",
          "layout",
          "bedSize",
          "mode"
        ],
        "description": "Marker + payload stored on a merged parent job's synthetic PartBuild."
      },
      "RecordstringArraynumber": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "ExclusionRect": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y",
          "width",
          "height"
        ],
        "description": "Keep-out rectangle in plate world coordinates (mm), e.g. a Bambu\nbed_exclude_area (P1S front-left wiper zone). Parts never overlap these."
      },
      "RecordstringRecordstringstring": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/Recordstringstring"
        }
      },
      "BuildConsolidation": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Off by default. When true, this build's copies are consolidated",
            "description": "Off by default. When true, this build's copies are consolidated."
          },
          "partSpacingMm": {
            "type": "number",
            "title": "Per-build override of the store's part spacing (mm)",
            "description": "Per-build override of the store's part spacing (mm)."
          },
          "plateMarginMm": {
            "type": "number",
            "title": "Per-build override of the store's plate edge margin (mm)",
            "description": "Per-build override of the store's plate edge margin (mm)."
          },
          "bedSize": {
            "$ref": "#/components/schemas/PlateSize",
            "title": "Target plate to pack against. Omitted = the account's smallest bed",
            "description": "Target plate to pack against. Omitted = the account's smallest bed."
          }
        },
        "required": [
          "enabled"
        ],
        "description": "Build-time plate consolidation (issue #437): when printing quantity N of a\npart, pack the copies onto as few plates as possible and emit one merged\nplate per full plate instead of N separate jobs. Reuses the merge core, so\na consolidated plate is an ordinary merged parent (unmergeable back into\nits copies). All layout fields default to the store's PlateMergingSettings\n/ the account's smallest bed when omitted."
      },
      "PartBuildExtensionCustomizer": {
        "type": "object",
        "properties": {
          "unresolvedChannels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "number"
                },
                "hex": {
                  "type": "string"
                }
              },
              "required": [
                "index",
                "hex"
              ]
            },
            "title": "Palette channels whose customer hex could not be mapped to a material",
            "description": "Palette channels whose customer hex could not be mapped to a material."
          }
        }
      },
      "SequenceFanout": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "title": "Shared print-queue groupId for the whole sibling set",
            "description": "Shared print-queue groupId for the whole sibling set."
          },
          "unitIndex": {
            "type": "number",
            "title": "0-based index of this unit within the sibling set",
            "description": "0-based index of this unit within the sibling set."
          },
          "unitCount": {
            "type": "number",
            "title": "Total number of sibling builds in the set",
            "description": "Total number of sibling builds in the set."
          },
          "buildIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "All sibling build ids in unit order (index 0 first)",
            "description": "All sibling build ids in unit order (index 0 first)."
          },
          "queueOrder": {
            "type": "number",
            "title": "Pre-allocated queueOrder shared by every sibling's job",
            "description": "Pre-allocated queueOrder shared by every sibling's job."
          }
        },
        "required": [
          "groupId",
          "unitIndex",
          "unitCount",
          "buildIds",
          "queueOrder"
        ],
        "description": "Fan-out bookkeeping stamped on each per-unit sibling build when a sequence\nbinding splits a quantity-N build into N quantity-1 builds. The siblings\nshare one queue group and one queueOrder so the run prints in serial order,\nand their jobs carry contiguous quantityIndex values across the set."
      },
      "MaterialAssignments": {
        "type": "object",
        "properties": {},
        "additionalProperties": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "groupId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "variantId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "variantId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                },
                "required": [
                  "materialId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "materialType": {
                    "type": "string"
                  }
                },
                "required": [
                  "materialType"
                ]
              }
            ]
          }
        }
      },
      "SkuBuild": {
        "type": "object",
        "properties": {
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuCopy": {
            "type": "object",
            "properties": {
              "sku": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "externalId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024
                  }
                ]
              },
              "externalProvider": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "const": "etsy"
                  },
                  {
                    "const": "shopify"
                  }
                ]
              },
              "folderId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "totalCogs": {
                "type": "number"
              },
              "customMetadata": {
                "type": "object",
                "properties": {},
                "additionalProperties": {}
              },
              "id": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "storeId": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sku",
              "title",
              "description",
              "externalId",
              "externalProvider",
              "totalCogs",
              "id",
              "storeId",
              "createdAt",
              "updatedAt"
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "running"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "skuInstanceStart": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "selectedOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstringnull"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "skuId",
          "skuCopy",
          "status",
          "orderId",
          "orderItemId",
          "priority",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "Recordstringstringnull": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "string"
            }
          ]
        }
      },
      "BuildConfigV2": {
        "type": "object",
        "properties": {
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartBuildConfigV2"
            },
            "description": "Individual parts to print"
          },
          "skus": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/skuIdCuid2quantityQuantityMin1undefinedlinkedPartConfigsRecordCuid2LinkedPartConfigV2undefined...6more...optionsSkuOptionSpecundefined"
                },
                {
                  "$ref": "#/components/schemas/skustringquantityQuantityMin1undefinedlinkedPartConfigsRecordCuid2LinkedPartConfigV2undefined...6more...optionsSkuOptionSpecundefined"
                }
              ]
            },
            "description": "SKUs (product bundles) to print"
          }
        },
        "description": "Configuration for creating a new build containing parts and/or SKUs"
      },
      "PartBuildConfigV2": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "description": "ID of the part to print"
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ],
            "description": "Priority level for print job queue processing"
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ],
            "description": "Position in the queue: 'front' places jobs at front of priority tier, 'back' at end"
          },
          "consolidation": {
            "$ref": "#/components/schemas/BuildConsolidation",
            "title": "Build-time plate consolidation for this part's quantity (issue #437)",
            "description": "Build-time plate consolidation for this part's quantity (issue #437)."
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500,
            "title": "Number of copies to print",
            "description": "Number of copies to print."
          },
          "parameters": {
            "$ref": "#/components/schemas/Parameters",
            "description": "Custom parameters to override part defaults"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024,
            "title": "Custom label for this part in the build",
            "description": "Custom label for this part in the build."
          },
          "tags": {
            "$ref": "#/components/schemas/Tags",
            "description": "Tags to categorize or filter this part"
          },
          "plateQuantities": {
            "$ref": "#/components/schemas/PartExtension3MFPlateQuantities",
            "description": "Quantity distribution across plates.  Only applies to 3MF and GCODE 3MF files"
          },
          "plateLabels": {
            "$ref": "#/components/schemas/PartExtension3MFPlateLabels",
            "title": "Per-plate label overrides keyed by plate ID. Only applies to 3MF and GCODE 3MF files",
            "description": "Per-plate label overrides keyed by plate ID. Only applies to 3MF and GCODE 3MF files.\n\nWhen set, the print job label for that plate becomes `${label} - ${plateLabels[plateId]}`\ninstead of the plate's name embedded in the file."
          },
          "materials": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArraySingleMaterialSpecification"
              }
            ],
            "description": "Material assignments per extruder/channel (channel index -> material specifications)"
          },
          "skipObjects": {
            "$ref": "#/components/schemas/RecordstringArraystring",
            "title": "Objects to SKIP per plate, keyed by plate id, as identifyId strings",
            "description": "Objects to SKIP per plate, keyed by plate id, as identifyId strings.\n\nBambu only. The print starts normally and a `skip_objects` command is sent\nfor these objects once the printer reports it has started. identifyIds come\nfrom `part.metadata.plates[].sliced.objects[]`. Objects not listed are printed."
          }
        },
        "required": [
          "partId"
        ],
        "description": "Configuration for building a specific part"
      },
      "Parameters": {
        "type": "object",
        "properties": {},
        "description": "Key-value pairs of parameter names to their values for customizing parts",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 0,
              "maxLength": 255
            },
            {
              "type": "boolean"
            }
          ]
        }
      },
      "skuIdCuid2quantityQuantityMin1undefinedlinkedPartConfigsRecordCuid2LinkedPartConfigV2undefined...6more...optionsSkuOptionSpecundefined": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "description": "Internal unique identifier for the SKU"
          },
          "quantity": {
            "type": "number",
            "minimum": 1,
            "maximum": 500,
            "description": "Number of complete SKU units to build\n\nThis value is multiplied by the quantity configured on each linked part, respecting any quantity overrides defined in linkedPartConfigs."
          },
          "linkedPartConfigs": {
            "$ref": "#/components/schemas/RecordCuid2LinkedPartConfigV2",
            "description": "Configuration overrides for specific parts within this SKU (partId -> config)"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags",
            "description": "Tags to categorize or filter this SKU"
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ],
            "description": "Priority level for all parts in this SKU build"
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ],
            "description": "Position in the queue: 'front' places jobs at front of priority tier, 'back' at end"
          },
          "consolidation": {
            "$ref": "#/components/schemas/BuildConsolidation",
            "title": "Build-time plate consolidation applied to every part in this SKU (issue #437)",
            "description": "Build-time plate consolidation applied to every part in this SKU (issue #437)."
          },
          "skuInstanceStart": {
            "type": "number",
            "minimum": 1,
            "description": "Starting SKU instance number for tracking (1-based)\nUsed internally for order reconciliation"
          },
          "order": {
            "$ref": "#/components/schemas/OmitOrderInfoV2linkedPartId",
            "description": "Order information for tracking this SKU build to an order"
          },
          "options": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "value"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "value"
                  ]
                }
              ]
            },
            "description": "SKU options selected for this build\nArray of option selections that can reference options by ID or name\nThese will be converted to selectedOptions format (optionId -> value name)"
          }
        },
        "required": [
          "skuId"
        ]
      },
      "RecordCuid2LinkedPartConfigV2": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/LinkedPartConfigV2"
        }
      },
      "LinkedPartConfigV2": {
        "type": "object",
        "properties": {
          "parameters": {
            "$ref": "#/components/schemas/Parameters",
            "description": "Custom parameters to override part defaults"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags",
            "description": "Tags to categorize or filter this part"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500,
            "title": "Number of copies to print",
            "description": "Number of copies to print."
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1024,
            "title": "Custom label for this part in the build",
            "description": "Custom label for this part in the build."
          },
          "plateQuantities": {
            "$ref": "#/components/schemas/PartExtension3MFPlateQuantities",
            "description": "Quantity distribution across plates.  Only applies to 3MF and GCODE 3MF files"
          },
          "plateLabels": {
            "$ref": "#/components/schemas/PartExtension3MFPlateLabels",
            "title": "Per-plate label overrides keyed by plate ID. Only applies to 3MF and GCODE 3MF files",
            "description": "Per-plate label overrides keyed by plate ID. Only applies to 3MF and GCODE 3MF files.\n\nWhen set, the print job label for that plate becomes `${label} - ${plateLabels[plateId]}`\ninstead of the plate's name embedded in the file."
          },
          "skipObjects": {
            "$ref": "#/components/schemas/RecordstringArraystring",
            "title": "Objects to SKIP per plate, keyed by plate id, as identifyId strings",
            "description": "Objects to SKIP per plate, keyed by plate id, as identifyId strings.\n\nBambu only. The print starts normally and a `skip_objects` command is sent\nfor these objects once the printer reports it has started. identifyIds come\nfrom `part.metadata.plates[].sliced.objects[]`. Objects not listed are printed."
          },
          "materials": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArrayLinkedPartMaterialSpecification"
              }
            ]
          }
        },
        "description": "Additional configuration/overrides for linked parts within a SKU build"
      },
      "OmitOrderInfoV2linkedPartId": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "orderItemId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          }
        },
        "required": [
          "orderId",
          "orderItemId"
        ],
        "description": "Construct a type with the properties of T except for those in type K."
      },
      "skustringquantityQuantityMin1undefinedlinkedPartConfigsRecordCuid2LinkedPartConfigV2undefined...6more...optionsSkuOptionSpecundefined": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "description": "External SKU code/name"
          },
          "quantity": {
            "type": "number",
            "minimum": 1,
            "maximum": 500,
            "description": "Number of complete SKU units to build\n\nThis value is multiplied by the quantity configured on each linked part, respecting any quantity overrides defined in linkedPartConfigs."
          },
          "linkedPartConfigs": {
            "$ref": "#/components/schemas/RecordCuid2LinkedPartConfigV2",
            "description": "Configuration overrides for specific parts within this SKU (partId -> config)"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags",
            "description": "Tags to categorize or filter this SKU"
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ],
            "description": "Priority level for all parts in this SKU build"
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ],
            "description": "Position in the queue: 'front' places jobs at front of priority tier, 'back' at end"
          },
          "consolidation": {
            "$ref": "#/components/schemas/BuildConsolidation",
            "title": "Build-time plate consolidation applied to every part in this SKU (issue #437)",
            "description": "Build-time plate consolidation applied to every part in this SKU (issue #437)."
          },
          "skuInstanceStart": {
            "type": "number",
            "minimum": 1,
            "description": "Starting SKU instance number for tracking (1-based)\nUsed internally for order reconciliation"
          },
          "order": {
            "$ref": "#/components/schemas/OmitOrderInfoV2linkedPartId",
            "description": "Order information for tracking this SKU build to an order"
          },
          "options": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^[a-z0-9]{24}$"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "value"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "value"
                  ]
                }
              ]
            },
            "description": "SKU options selected for this build\nArray of option selections that can reference options by ID or name\nThese will be converted to selectedOptions format (optionId -> value name)"
          }
        },
        "required": [
          "sku"
        ]
      },
      "BuildPreviewV2": {
        "type": "object",
        "properties": {
          "partBuilds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildPreviewPartBuildV2"
            },
            "description": "Previewed part builds grouped with their corresponding jobs"
          },
          "summary": {
            "type": "object",
            "properties": {
              "partBuildCount": {
                "type": "number"
              },
              "skuBuildCount": {
                "type": "number"
              },
              "jobCount": {
                "type": "number"
              }
            },
            "required": [
              "partBuildCount",
              "skuBuildCount",
              "jobCount"
            ],
            "description": "Summary counts for quick display"
          }
        },
        "required": [
          "partBuilds",
          "summary"
        ],
        "description": "Dry-run preview for a v2 build request."
      },
      "BuildPreviewPartBuildV2": {
        "type": "object",
        "properties": {
          "source": {
            "oneOf": [
              {
                "const": "sku"
              },
              {
                "const": "part"
              }
            ],
            "description": "Indicates whether this part build comes from direct part config or a SKU config"
          },
          "partId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "description": "Part ID for this previewed part build"
          },
          "partName": {
            "type": "string",
            "description": "Part name"
          },
          "partThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Optional part-level thumbnail URI"
          },
          "label": {
            "type": "string",
            "description": "Label that the part build will use"
          },
          "quantity": {
            "type": "number",
            "description": "Part build quantity"
          },
          "sku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "skuId": {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  },
                  "sku": {
                    "type": "string"
                  }
                },
                "required": [
                  "skuId",
                  "sku"
                ]
              }
            ],
            "description": "SKU metadata when source is \"sku\""
          },
          "materials": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RecordnumberArraySingleMaterialSpecification"
              }
            ],
            "description": "Material assignments that will be used for this part build"
          },
          "plateQuantities": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringnumber"
              }
            ],
            "description": "3MF plate quantities, if applicable"
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BuildPreviewJobV2"
            },
            "description": "Print jobs that would be created for this part build"
          }
        },
        "required": [
          "source",
          "partId",
          "partName",
          "label",
          "quantity",
          "jobs"
        ],
        "description": "Preview of a part build and its resulting jobs."
      },
      "Recordstringnumber": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "number"
        }
      },
      "BuildPreviewJobV2": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Label that the print job will use in queue"
          },
          "quantityIndex": {
            "type": "number",
            "description": "1-based index of this job within the part build"
          },
          "quantityTotal": {
            "type": "number",
            "description": "Total jobs that would be created for this part build"
          },
          "plateId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ],
            "description": "Optional plate ID for 3MF/GCODE 3MF jobs"
          },
          "plateName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Optional plate name for 3MF/GCODE 3MF jobs"
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Optional thumbnail URI for this job"
          }
        },
        "required": [
          "label",
          "quantityIndex",
          "quantityTotal"
        ],
        "description": "Preview of a single print job that would be created."
      },
      "PartBuildWithRelation": {
        "type": "object",
        "properties": {
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuBuildId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "label": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "partCopy": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "type": {
                "oneOf": [
                  {
                    "const": "scad"
                  },
                  {
                    "const": "cadquery"
                  },
                  {
                    "const": "build123d"
                  },
                  {
                    "const": "stl"
                  },
                  {
                    "const": "step"
                  },
                  {
                    "const": "3mf"
                  },
                  {
                    "const": "gcode3mf"
                  },
                  {
                    "const": "gcode"
                  }
                ]
              },
              "description": {
                "type": "string",
                "default": ""
              },
              "fileUris": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "fileHashes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "thumbnailUri": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "parameters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "default": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "value"
                        ]
                      }
                    },
                    "description": {
                      "type": "string"
                    },
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    },
                    "step": {
                      "type": "number"
                    },
                    "acceptedContentTypes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "File-parameter-only fields (populated when\n`type === PartParameterVariableType.File`). Kept optional on the\nshared interface so scalar-parameter call sites do not need\nunion-narrowing. See `FilePartParameter` for the strict shape.\n\n`acceptedContentTypes` is intentionally an OPEN `string[]` (not a\nnarrow union). The customizer emits SVG, but Etsy attachments and\ndirect API order ingestion can carry ANY mime type (PNG / JPG / PDF /\nAI / etc). Builders enforce kind constraints; the shared type stays\nopen."
                    },
                    "multiple": {
                      "type": "boolean",
                      "description": "Whether the slot accepts >1 file. Reserved for forward compat — the\nPhase 5 resolver assumes single-file per slot for v1."
                    },
                    "defaultUri": {
                      "type": "string",
                      "title": "Optional fallback file URI (e.g. a known SVG in storage)",
                      "description": "Optional fallback file URI (e.g. a known SVG in storage)."
                    },
                    "label": {
                      "type": "string",
                      "maxLength": 255,
                      "description": "What the parameter is shown under wherever a customer or an operator\nfills it in; `name` stays the key everything binds by (SKU options,\norder inputs, build overrides, and — for a 3MF text slot — the text\nvolume the substitution travels to). A parameter without one is shown\nunder its name.\n\nThis interface is the one the API's request validators are generated\nfrom, and it is a second declaration of the shape in\n`../part/parameter`. A field added to only one of them is accepted by\nthe code and then pruned off the wire."
                    },
                    "serialReuse": {
                      "oneOf": [
                        {
                          "const": "share",
                          "title": "One serial per plate print, applied to every matching occurrence",
                          "description": "One serial per plate print, applied to every matching occurrence."
                        },
                        {
                          "const": "increment",
                          "title": "The next serial for each matching object instance on the plate",
                          "description": "The next serial for each matching object instance on the plate."
                        }
                      ],
                      "description": "For a 3MF text-slot parameter bound to a sequence: whether occurrences\nrepeated on one plate share a serial or each consume the next one.\nAbsent means {@link TextSlotSerialReuse.Share }, today's duplicate-name\nmeaning."
                    },
                    "sizing": {
                      "oneOf": [
                        {
                          "const": "stretch",
                          "title": "Fill the authored bounds exactly, distorting the glyphs if need be",
                          "description": "Fill the authored bounds exactly, distorting the glyphs if need be."
                        },
                        {
                          "const": "fit",
                          "title": "Keep the authored proportions and size; shrink only to avoid overflow",
                          "description": "Keep the authored proportions and size; shrink only to avoid overflow."
                        },
                        {
                          "const": "unconstrained",
                          "title": "Draw at the authored size and let a long value run past the bounds",
                          "description": "Draw at the authored size and let a long value run past the bounds."
                        }
                      ],
                      "description": "3MF text placeholders only: how a substituted value is sized against the\nbounds of the text volume it replaces. Absent means \"fit within bounds\",\nwhich is what every part declared before the setting existed carries.\nDeclared on this shape as well as on `../part/parameter` for the reason\n`label` is — the API's request validators are generated from this one,\nand a field on only the other is pruned off the wire."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "type": {
                      "oneOf": [
                        {
                          "const": "number"
                        },
                        {
                          "const": "string"
                        },
                        {
                          "const": "boolean"
                        },
                        {
                          "const": "file"
                        }
                      ]
                    },
                    "value": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    }
                  },
                  "required": [
                    "name",
                    "type"
                  ]
                }
              },
              "printTags": {
                "type": "object",
                "properties": {
                  "printer.provider": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.nozzleDiameter": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.modelName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "filament.type": {
                    "type": "string",
                    "minLength": 1
                  },
                  "user.tags": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "overriddenProcessProfileId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "folderId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "materials": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "index": {
                          "type": "number",
                          "minimum": 0
                        },
                        "color": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string",
                              "pattern": "^#{0,1}[0-9A-F]{6}|[0-9A-F]{8}$"
                            }
                          ]
                        },
                        "type": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "skip": {
                          "type": "boolean"
                        },
                        "name": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "identifier": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": [
                        "index",
                        "color",
                        "type"
                      ]
                    }
                  }
                ]
              },
              "slicerOverride": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "metadata": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "printerModel": {
                        "type": "string"
                      },
                      "filamentType": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "filamentColors": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "filamentDensities": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "filamentDiameters": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "nozzleDiameter": {
                        "type": "string"
                      },
                      "profileCompat": {
                        "type": "object",
                        "properties": {
                          "sliced": {
                            "type": "string"
                          },
                          "compatible": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "safe": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "sliced",
                          "compatible",
                          "safe"
                        ]
                      },
                      "slicerVersion": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "properties": {
                              "engine": {
                                "oneOf": [
                                  {
                                    "const": "orcaslicer"
                                  },
                                  {
                                    "const": "bambu-studio"
                                  },
                                  {
                                    "const": "prusaslicer"
                                  },
                                  {
                                    "const": "superslicer"
                                  }
                                ]
                              },
                              "version": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "engine",
                              "version"
                            ]
                          }
                        ]
                      },
                      "plates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "locked": {
                              "type": "boolean"
                            },
                            "filamentMapMode": {
                              "type": "string"
                            },
                            "filamentMaps": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              }
                            },
                            "gcodeFile": {
                              "type": "string"
                            },
                            "thumbnailFile": {
                              "type": "string"
                            },
                            "thumbnailUploadedUri": {
                              "type": "string",
                              "title": "The archive's own plate preview, copied out at metadata-extraction time",
                              "description": "The archive's own plate preview, copied out at metadata-extraction time."
                            },
                            "thumbnailRenderedUri": {
                              "type": "string",
                              "description": "The plate re-rendered by the three.js builder. Written by a different\nflow, and to a different storage path, than the archive copy above — a\nlater metadata reprocess re-copies the archive image and must not be able\nto overwrite this. Prefer it over `thumbnailUploadedUri`\n(see `plateThumbnailUri`)."
                            },
                            "thumbnailNoLightFile": {
                              "type": "string"
                            },
                            "thumbnailData": {
                              "type": "string"
                            },
                            "topFile": {
                              "type": "string"
                            },
                            "pickFile": {
                              "type": "string"
                            },
                            "topData": {
                              "type": "string",
                              "title": "Base64 PNG data for the top/pick images, staged before upload then cleared",
                              "description": "Base64 PNG data for the top/pick images, staged before upload then cleared."
                            },
                            "pickData": {
                              "type": "string"
                            },
                            "topUploadedUri": {
                              "type": "string",
                              "title": "Uploaded URIs for the plate's top-down image and color-coded object pick mask",
                              "description": "Uploaded URIs for the plate's top-down image and color-coded object pick mask.\nUsed by the visual skip-objects picker."
                            },
                            "pickUploadedUri": {
                              "type": "string"
                            },
                            "patternBboxFile": {
                              "type": "string"
                            },
                            "sliced": {
                              "type": "object",
                              "properties": {
                                "index": {
                                  "type": "number"
                                },
                                "extruderType": {
                                  "type": "string"
                                },
                                "nozzleVolumeType": {
                                  "type": "string"
                                },
                                "printerModelId": {
                                  "type": "string"
                                },
                                "nozzleDiameters": {
                                  "type": "string"
                                },
                                "timelapseType": {
                                  "type": "string"
                                },
                                "prediction": {
                                  "type": "number"
                                },
                                "weight": {
                                  "type": "number"
                                },
                                "outside": {
                                  "type": "boolean"
                                },
                                "supportUsed": {
                                  "type": "boolean"
                                },
                                "labelObjectEnabled": {
                                  "type": "boolean"
                                },
                                "filamentMaps": {
                                  "type": "string"
                                },
                                "objects": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "identifyId": {
                                        "type": "string"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "skipped": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "identifyId",
                                      "name",
                                      "skipped"
                                    ]
                                  }
                                },
                                "filaments": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string"
                                      },
                                      "trayInfoIdx": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      },
                                      "color": {
                                        "type": "string"
                                      },
                                      "usedM": {
                                        "type": "number"
                                      },
                                      "usedG": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "trayInfoIdx",
                                      "type",
                                      "color",
                                      "usedM",
                                      "usedG"
                                    ]
                                  }
                                },
                                "warnings": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "msg": {
                                        "type": "string"
                                      },
                                      "level": {
                                        "type": "number"
                                      },
                                      "errorCode": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "msg",
                                      "level",
                                      "errorCode"
                                    ]
                                  }
                                },
                                "layerFilamentLists": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "filamentList": {
                                        "type": "number"
                                      },
                                      "layerRanges": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "filamentList",
                                      "layerRanges"
                                    ]
                                  }
                                }
                              }
                            },
                            "filamentIds": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "id"
                          ]
                        }
                      },
                      "filamentIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "textSlots": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string",
                              "title": "The matching volume/object name — the substitution key",
                              "description": "The matching volume/object name — the substitution key."
                            },
                            "label": {
                              "type": "string",
                              "title": "The label this slot's parameter is shown under",
                              "description": "The label this slot's parameter is shown under."
                            },
                            "text": {
                              "type": "string",
                              "description": "The text authored into the volume. It prints as-is when the slot goes\nunfilled, which makes it the parameter's default."
                            },
                            "volumeCount": {
                              "type": "number",
                              "title": "How many text volumes in the file carry this slot name",
                              "description": "How many text volumes in the file carry this slot name."
                            },
                            "fontName": {
                              "type": "string",
                              "title": "`font_name` of the first volume seen with this key",
                              "description": "`font_name` of the first volume seen with this key."
                            },
                            "fontVersion": {
                              "type": "string",
                              "title": "`font_version` of the first volume seen with this key",
                              "description": "`font_version` of the first volume seen with this key."
                            },
                            "surfaceType": {
                              "type": "number",
                              "title": "`surface_type` of the first volume seen with this key (0=flat)",
                              "description": "`surface_type` of the first volume seen with this key (0=flat)."
                            },
                            "occurrences": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "plateId": {
                                    "type": "number"
                                  },
                                  "objectId": {
                                    "type": "string",
                                    "title": "`model_settings.config` object id (matches the root model's build items)",
                                    "description": "`model_settings.config` object id (matches the root model's build items)."
                                  },
                                  "instanceId": {
                                    "type": "number",
                                    "title": "0-based instance index among the object's build items",
                                    "description": "0-based instance index among the object's build items."
                                  },
                                  "identifyId": {
                                    "type": "string",
                                    "title": "Bambu's per-instance id, when present (matches gcode object labels)",
                                    "description": "Bambu's per-instance id, when present (matches gcode object labels)."
                                  }
                                },
                                "required": [
                                  "plateId",
                                  "objectId",
                                  "instanceId"
                                ]
                              },
                              "title": "Every printable object instance carrying this slot, across all plates",
                              "description": "Every printable object instance carrying this slot, across all plates.\nAbsent when the file predates occurrence detection or has no plate\nmetadata to resolve instances against."
                            }
                          },
                          "required": [
                            "key",
                            "label",
                            "text",
                            "volumeCount"
                          ]
                        },
                        "description": "PrintagoParam text slots with their per-plate occurrence identities,\nre-detected whenever the file is (re)processed. The saved reuse mode\nlives on the slot's parameter, which survives a file replacement; this\nis the geometry-derived half that must always track the current file."
                      },
                      "plateRenderSourceHash": {
                        "type": "string",
                        "description": "`fileHashes[0]` of the source that produced the plates'\n`thumbnailRenderedUri`. Re-extraction carries the renders forward only\nwhile this still matches the part's current source; a replaced file\nleaves them behind rather than showing the previous model's geometry."
                      }
                    },
                    "required": [
                      "printerModel",
                      "filamentType",
                      "filamentColors",
                      "nozzleDiameter",
                      "profileCompat"
                    ]
                  }
                ]
              },
              "slicingEstimate": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "estimatedPrintTimeSeconds": {
                        "type": "number"
                      },
                      "materials": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "index": {
                              "type": "number"
                            },
                            "usedGrams": {
                              "type": "number"
                            },
                            "usedMeters": {
                              "type": "number"
                            },
                            "materialType": {
                              "type": "string"
                            },
                            "color": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "index",
                            "usedGrams",
                            "usedMeters",
                            "materialType"
                          ]
                        }
                      },
                      "totalWeightGrams": {
                        "type": "number"
                      },
                      "profiles": {
                        "type": "object",
                        "properties": {
                          "machineProfileId": {
                            "type": "string"
                          },
                          "machineProfileName": {
                            "type": "string"
                          },
                          "processProfileId": {
                            "type": "string"
                          },
                          "processProfileName": {
                            "type": "string"
                          },
                          "filamentProfileIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "filamentProfileNames": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "machineProfileId",
                          "machineProfileName",
                          "processProfileId",
                          "processProfileName",
                          "filamentProfileIds",
                          "filamentProfileNames"
                        ]
                      },
                      "slicedAt": {
                        "type": "string"
                      },
                      "slicerVersion": {
                        "type": "string"
                      },
                      "plates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "plateId": {
                              "type": "number"
                            },
                            "estimatedPrintTimeSeconds": {
                              "type": "number"
                            },
                            "materials": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "index": {
                                    "type": "number"
                                  },
                                  "usedGrams": {
                                    "type": "number"
                                  },
                                  "usedMeters": {
                                    "type": "number"
                                  },
                                  "materialType": {
                                    "type": "string"
                                  },
                                  "color": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "index",
                                  "usedGrams",
                                  "usedMeters",
                                  "materialType"
                                ]
                              }
                            },
                            "totalWeightGrams": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "plateId",
                            "estimatedPrintTimeSeconds",
                            "materials",
                            "totalWeightGrams"
                          ]
                        }
                      }
                    },
                    "required": [
                      "estimatedPrintTimeSeconds",
                      "materials",
                      "totalWeightGrams",
                      "slicedAt",
                      "slicerVersion"
                    ]
                  }
                ]
              },
              "use3MFProcessProfile": {
                "type": "boolean",
                "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
              },
              "arrangeable": {
                "type": "boolean"
              },
              "userTags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "gcodePlateUris": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                ]
              },
              "meshUri": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
                "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
              },
              "meshSourceHash": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
              },
              "meshError": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
              },
              "uploadedAt": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "customMetadata": {
                "type": "object",
                "properties": {},
                "additionalProperties": {}
              },
              "source": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "const": "google-drive"
                  },
                  {
                    "const": "onedrive"
                  }
                ],
                "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
              },
              "id": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "storeId": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description",
              "fileUris",
              "fileHashes",
              "thumbnailUri",
              "parameters",
              "printTags",
              "overriddenProcessProfileId",
              "materials",
              "id",
              "storeId",
              "createdAt",
              "updatedAt"
            ]
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "numPartsPerSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "skuInstanceStart": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "parameterOverrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "building"
              },
              {
                "const": "queued"
              },
              {
                "const": "fulfilling"
              },
              {
                "const": "preparing"
              },
              {
                "const": "sending-to-printer"
              },
              {
                "const": "printing"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "outputFiles": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "assignmentStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "assignmentCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printStatus": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "printing"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartBuildExtensions"
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MaterialAssignments"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "linkedPartId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "dismissed": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartBuildStep"
            }
          },
          "printJobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJob"
            }
          }
        },
        "required": [
          "partId",
          "skuBuildId",
          "skuId",
          "skuName",
          "label",
          "partCopy",
          "requiredPrinterTags",
          "quantity",
          "parameterOverrides",
          "status",
          "outputFiles",
          "thumbnailUri",
          "assignmentStartedAt",
          "assignmentCompletedAt",
          "printingStartedAt",
          "printingCompletedAt",
          "printStatus",
          "materialAssignments",
          "priority",
          "position",
          "orderId",
          "orderItemId",
          "linkedPartId",
          "dismissed",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "steps",
          "printJobs"
        ]
      },
      "PartBuildStep": {
        "type": "object",
        "properties": {
          "partBuildId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "order": {
            "type": "number",
            "minimum": 0
          },
          "builder": {
            "oneOf": [
              {
                "const": "slic3r"
              },
              {
                "const": "openscad"
              },
              {
                "const": "cadquery"
              },
              {
                "const": "text3mf"
              }
            ]
          },
          "inputFiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "inputParameters": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/OpenSCADInputParameters"
              },
              {
                "$ref": "#/components/schemas/CadQueryInputParameters"
              },
              {
                "$ref": "#/components/schemas/Text3MFInputParameters"
              }
            ]
          },
          "inputHash": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1
              }
            ]
          },
          "cachedBuildStepId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "cachedOutputFile": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "outputFiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "running"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              },
              {
                "const": "cached"
              },
              {
                "const": "force_running"
              }
            ]
          },
          "logs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "requiresAssignedPrinter": {
            "type": "boolean"
          },
          "nextStepId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "startedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "completedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "dismissed": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "partBuildId",
          "order",
          "builder",
          "inputFiles",
          "inputHash",
          "cachedBuildStepId",
          "cachedOutputFile",
          "outputFiles",
          "status",
          "logs",
          "requiresAssignedPrinter",
          "nextStepId",
          "startedAt",
          "completedAt",
          "dismissed",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "OpenSCADInputParameters": {
        "type": "object",
        "properties": {
          "buildVariables": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "colors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "number"
                },
                "color": {
                  "type": "string"
                },
                "type": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "index",
                "color",
                "type"
              ]
            }
          }
        }
      },
      "CadQueryInputParameters": {
        "type": "object",
        "properties": {
          "params": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "mode": {
            "oneOf": [
              {
                "const": "step"
              },
              {
                "const": "script"
              }
            ],
            "title": "\"step\" tessellates the input STEP file instead of running a script",
            "description": "\"step\" tessellates the input STEP file instead of running a script."
          }
        }
      },
      "Text3MFInputParameters": {
        "type": "object",
        "properties": {
          "substitutions": {
            "$ref": "#/components/schemas/Recordstringstring",
            "title": "Slot key (a `PrintagoParam*` volume name) -> replacement text",
            "description": "Slot key (a `PrintagoParam*` volume name) -> replacement text."
          },
          "occurrenceSubstitutions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Text3MFOccurrenceSubstitution"
            },
            "title": "Instance-addressed replacements; they win over the name-keyed map",
            "description": "Instance-addressed replacements; they win over the name-keyed map."
          },
          "sizing": {
            "$ref": "#/components/schemas/RecordstringTextSlotSizing",
            "description": "Slot key -> replacement sizing policy, resolved from the part's\nparameters. Present for every key that gets substituted — whether by name\nthrough `substitutions` or per-instance through\n`occurrenceSubstitutions` — since a slot nothing is substituted into is\nnever re-rendered."
          },
          "outputFiles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Text3MFOccurrenceSubstitution": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "title": "Slot key (a `PrintagoParam*` volume name)",
            "description": "Slot key (a `PrintagoParam*` volume name)."
          },
          "objectId": {
            "type": "string",
            "title": "`model_settings.config` object id of the target object definition",
            "description": "`model_settings.config` object id of the target object definition."
          },
          "instanceId": {
            "type": "number",
            "title": "0-based instance index among the object's build items",
            "description": "0-based instance index among the object's build items."
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "objectId",
          "instanceId",
          "text"
        ],
        "description": "A replacement addressed to one object instance rather than to every\nvolume sharing the slot name. Multiple same-named text volumes within the\ntargeted instance all receive `text` — separate instances get separate\nentries. The engine clones a shared object definition when instances of\nit need different text."
      },
      "RecordstringTextSlotSizing": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "oneOf": [
            {
              "const": "stretch",
              "title": "Fill the authored bounds exactly, distorting the glyphs if need be",
              "description": "Fill the authored bounds exactly, distorting the glyphs if need be."
            },
            {
              "const": "fit",
              "title": "Keep the authored proportions and size; shrink only to avoid overflow",
              "description": "Keep the authored proportions and size; shrink only to avoid overflow."
            },
            {
              "const": "unconstrained",
              "title": "Draw at the authored size and let a long value run past the bounds",
              "description": "Draw at the authored size and let a long value run past the bounds."
            }
          ]
        }
      },
      "partIdstringundefinedskuBuildIdstringundefinedskuIdstringundefinedskuNamestringundefinedlabelstringundefinedpartCopystringundefined...25more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string"
          },
          "skuBuildId": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "skuName": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "partCopy": {
            "type": "string"
          },
          "requiredPrinterTags": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          },
          "numPartsPerSku": {
            "type": "string"
          },
          "skuInstanceStart": {
            "type": "string"
          },
          "parameterOverrides": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "outputFiles": {
            "type": "string"
          },
          "thumbnailUri": {
            "type": "string"
          },
          "assignmentStartedAt": {
            "type": "string"
          },
          "assignmentCompletedAt": {
            "type": "string"
          },
          "printingStartedAt": {
            "type": "string"
          },
          "printingCompletedAt": {
            "type": "string"
          },
          "printStatus": {
            "type": "string"
          },
          "extensions": {
            "type": "string"
          },
          "materialAssignments": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "orderItemId": {
            "type": "string"
          },
          "linkedPartId": {
            "type": "string"
          },
          "dismissed": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPartBuild": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPartBuild",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPartBuild": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPartBuild"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPartBuild"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "partId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuBuildId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "label": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partCopy": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantity": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "numPartsPerSku": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuInstanceStart": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "parameterOverrides": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "status": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "outputFiles": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "thumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignmentStartedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignmentCompletedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingStartedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingCompletedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printStatus": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "extensions": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialAssignments": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "priority": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "position": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderItemId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "linkedPartId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "dismissed": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "PartBuildOperationRequest": {
        "type": "object",
        "properties": {
          "partBuildIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "partBuildIds"
        ]
      },
      "GetUsersResponse": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserSummary"
            }
          },
          "total": {
            "type": "number"
          }
        },
        "required": [
          "users",
          "total"
        ]
      },
      "UserSummary": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "isOwner": {
            "type": "boolean"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Role identifiers (usually system role keys like \"operator\", or role IDs for custom roles)",
            "description": "Role identifiers (usually system role keys like \"operator\", or role IDs for custom roles)."
          },
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          },
          "lastActive": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "oneOf": [
              {
                "const": "active"
              },
              {
                "const": "inactive"
              },
              {
                "const": "invited"
              },
              {
                "const": "expired"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "invitationId": {
            "type": "string",
            "title": "Present only for invited/expired rows",
            "description": "Present only for invited/expired rows."
          },
          "expiresAt": {
            "type": "string",
            "title": "Invitation expiry date (invited/expired rows only)",
            "description": "Invitation expiry date (invited/expired rows only).",
            "format": "date-time"
          },
          "invitedByEmail": {
            "type": "string",
            "title": "Email of the person who sent the invitation",
            "description": "Email of the person who sent the invitation."
          }
        },
        "required": [
          "email",
          "isOwner",
          "roles",
          "permissions",
          "status",
          "createdAt"
        ]
      },
      "UserDetails": {
        "type": "object",
        "properties": {
          "activityLog": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityLogEntry"
            }
          },
          "userId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "isOwner": {
            "type": "boolean"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Role identifiers (usually system role keys like \"operator\", or role IDs for custom roles)",
            "description": "Role identifiers (usually system role keys like \"operator\", or role IDs for custom roles)."
          },
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          },
          "lastActive": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "oneOf": [
              {
                "const": "active"
              },
              {
                "const": "inactive"
              },
              {
                "const": "invited"
              },
              {
                "const": "expired"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "invitationId": {
            "type": "string",
            "title": "Present only for invited/expired rows",
            "description": "Present only for invited/expired rows."
          },
          "expiresAt": {
            "type": "string",
            "title": "Invitation expiry date (invited/expired rows only)",
            "description": "Invitation expiry date (invited/expired rows only).",
            "format": "date-time"
          },
          "invitedByEmail": {
            "type": "string",
            "title": "Email of the person who sent the invitation",
            "description": "Email of the person who sent the invitation."
          }
        },
        "required": [
          "activityLog",
          "email",
          "isOwner",
          "roles",
          "permissions",
          "status",
          "createdAt"
        ]
      },
      "ActivityLogEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "details": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "action",
          "timestamp"
        ]
      },
      "InviteUserResponse": {
        "type": "object",
        "properties": {
          "invitationId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "invitationId",
          "email",
          "expiresAt"
        ]
      },
      "InviteUserRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "roleId": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          }
        },
        "required": [
          "email"
        ]
      },
      "RemoveUserRequest": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "transferOwnershipTo": {
            "type": "string"
          }
        },
        "required": [
          "userId"
        ]
      },
      "BulkUpdateUsersResponse": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "failed": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "userId": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "userId",
                "error"
              ]
            }
          }
        },
        "required": [
          "succeeded",
          "failed"
        ]
      },
      "BulkUpdateUsersRequest": {
        "type": "object",
        "properties": {
          "userIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "operation": {
            "const": "remove"
          },
          "roleId": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          }
        },
        "required": [
          "userIds",
          "operation"
        ]
      },
      "Integration": {
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "const": "bambulab"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              },
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "External identifier for deduplication (e.g., shopId for Etsy)"
          },
          "publicData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/EtsyPublicData"
              },
              {
                "$ref": "#/components/schemas/ShopifyPublicData"
              },
              {
                "$ref": "#/components/schemas/BambuLabPublicData"
              },
              {
                "$ref": "#/components/schemas/CloudStoragePublicData"
              },
              {
                "$ref": "#/components/schemas/EbayPublicData"
              },
              {
                "$ref": "#/components/schemas/TikTokShopPublicData"
              }
            ],
            "description": "Public metadata safe to expose to frontend"
          },
          "settings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/EtsySettings"
              },
              {
                "$ref": "#/components/schemas/ShopifySettings"
              },
              {
                "$ref": "#/components/schemas/EbaySettings"
              },
              {
                "$ref": "#/components/schemas/TikTokShopSettings"
              },
              {
                "$ref": "#/components/schemas/CloudStorageSettings"
              }
            ],
            "description": "User-configurable settings"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "type",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "EtsyPublicData": {
        "type": "object",
        "properties": {
          "shopId": {
            "type": "string"
          },
          "shopName": {
            "type": "string"
          },
          "shopUrl": {
            "type": "string"
          },
          "lastSyncedAt": {
            "type": "number"
          }
        },
        "required": [
          "shopId",
          "shopName"
        ],
        "description": "Public data for Etsy integrations (safe to expose to frontend)"
      },
      "ShopifyPublicData": {
        "type": "object",
        "properties": {
          "shopName": {
            "type": "string"
          },
          "shopDomain": {
            "type": "string"
          },
          "lastSyncedAt": {
            "type": "number"
          }
        },
        "required": [
          "shopName",
          "shopDomain"
        ],
        "description": "Public data for Shopify integrations (safe to expose to frontend)"
      },
      "BambuLabPublicData": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          }
        },
        "description": "Public data for BambuLab integrations (safe to expose to frontend)"
      },
      "CloudStoragePublicData": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "lastSyncedAt": {
            "type": "number"
          },
          "lastSyncStartedAt": {
            "type": "number"
          },
          "syncStatus": {
            "oneOf": [
              {
                "const": "idle"
              },
              {
                "const": "syncing"
              }
            ],
            "title": "Coarse run state used as the concurrency claim for background syncs",
            "description": "Coarse run state used as the concurrency claim for background syncs."
          },
          "lastSyncError": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "lastSyncResult": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "updated": {
                "type": "number"
              },
              "deleted": {
                "type": "number"
              },
              "errors": {
                "type": "number"
              }
            },
            "required": [
              "created",
              "updated",
              "deleted",
              "errors"
            ]
          },
          "authError": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Set when a token refresh fails because the grant was revoked. The stored\ntokens are dead once this is set; the UI prompts a reconnect. Cleared on a\nsuccessful reconnect."
          }
        },
        "required": [
          "email",
          "displayName"
        ],
        "description": "Public data for cloud-storage integrations (safe to expose to frontend)."
      },
      "EbayPublicData": {
        "type": "object",
        "properties": {
          "sellerId": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "marketplaceId": {
            "type": "string",
            "description": "eBay marketplace ID (e.g., EBAY_US, EBAY_UK, EBAY_DE, EBAY_AU)"
          },
          "lastSyncedAt": {
            "type": "number"
          }
        },
        "required": [
          "sellerId",
          "username",
          "marketplaceId"
        ],
        "description": "Public data for eBay integrations (safe to expose to frontend)"
      },
      "TikTokShopPublicData": {
        "type": "object",
        "properties": {
          "shopId": {
            "type": "string"
          },
          "shopName": {
            "type": "string"
          },
          "region": {
            "type": "string",
            "description": "TikTok Shop region (e.g., US, UK, ID)"
          },
          "lastSyncedAt": {
            "type": "number"
          },
          "disconnectedAt": {
            "type": "number",
            "description": "Set when TikTok notifies us (SELLER_DEAUTHORIZATION webhook) that the seller\nrevoked our app's access. The stored tokens are dead once this is set, so\nsyncs stop and the UI prompts a reconnect. Cleared when the seller\nre-authorizes through OAuth."
          },
          "disconnectReason": {
            "const": "seller_deauthorized",
            "title": "Why the integration was auto-disconnected (only `seller_deauthorized` today)",
            "description": "Why the integration was auto-disconnected (only `seller_deauthorized` today)."
          }
        },
        "required": [
          "shopId",
          "shopName",
          "region"
        ],
        "description": "Public data for TikTok Shop integrations (safe to expose to frontend)"
      },
      "EtsySettings": {
        "type": "object",
        "properties": {
          "autoPrint": {
            "type": "boolean"
          },
          "autoCloseOrders": {
            "oneOf": [
              {
                "const": "shipped"
              },
              {
                "const": "delivered"
              },
              {
                "const": "never"
              }
            ]
          },
          "ignoredVariantNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Variant option names to exclude from SKU matching (e.g., [\"Size\"])"
          }
        },
        "description": "Settings for Etsy integrations"
      },
      "ShopifySettings": {
        "type": "object",
        "properties": {
          "autoPrint": {
            "type": "boolean"
          },
          "writeProgressTags": {
            "type": "boolean",
            "title": "Keep Shopify order tags in sync with Printago print job progress (e.g. \"2/5 printed\")",
            "description": "Keep Shopify order tags in sync with Printago print job progress (e.g. \"2/5 printed\")."
          },
          "autoCloseOrders": {
            "oneOf": [
              {
                "const": "partial"
              },
              {
                "const": "never"
              },
              {
                "const": "fulfilled"
              }
            ],
            "title": "When to automatically close orders in Printago based on Shopify status",
            "description": "When to automatically close orders in Printago based on Shopify status.\n- 'fulfilled': Close when Shopify order is fully fulfilled (shipped)\n- 'partial': Close when any items are fulfilled\n- 'never': Never auto-close based on fulfillment"
          },
          "tagWhenPrinted": {
            "type": "string",
            "description": "Tag to add to orders when fully printed (empty string disables)"
          },
          "propertyWhitelist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Property names to import as SKU options (e.g., [\"Logo\", \"Back Color\"])"
          },
          "ignoredVariantNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Variant option names to exclude from SKU matching (e.g., [\"Size\"])"
          }
        },
        "description": "Settings for Shopify integrations"
      },
      "EbaySettings": {
        "type": "object",
        "properties": {
          "autoPrint": {
            "type": "boolean"
          },
          "autoCloseOrders": {
            "oneOf": [
              {
                "const": "shipped"
              },
              {
                "const": "never"
              }
            ],
            "title": "When to close the Printago order",
            "description": "When to close the Printago order.\n\nOnly 'shipped' and 'never' exist here, unlike Etsy: eBay's Fulfillment API\nreports an order as FULFILLED once tracking is uploaded but never tells us\nit was delivered, so a 'delivered' option could only ever have behaved as\n'shipped' or never fired at all."
          }
        },
        "description": "Settings for eBay integrations"
      },
      "TikTokShopSettings": {
        "type": "object",
        "properties": {
          "autoPrint": {
            "type": "boolean"
          },
          "autoCloseOrders": {
            "oneOf": [
              {
                "const": "shipped"
              },
              {
                "const": "delivered"
              },
              {
                "const": "never"
              }
            ]
          }
        },
        "description": "Settings for TikTok Shop integrations"
      },
      "CloudStorageSettings": {
        "type": "object",
        "properties": {
          "watchedFolderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "The remote folder ID to watch",
            "description": "The remote folder ID to watch."
          },
          "watchedFolderName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "The remote folder name/path (for display)",
            "description": "The remote folder name/path (for display)."
          },
          "keepPartsOnRemoteDelete": {
            "type": "boolean",
            "title": "Whether to keep Printago parts when their source file is removed remotely",
            "description": "Whether to keep Printago parts when their source file is removed remotely.\nDefaults to true: deleting parts is a destructive side effect, opt-in only."
          },
          "autoSync": {
            "type": "boolean",
            "title": "Re-enqueue the next sync (~60 min) when a background sync completes",
            "description": "Re-enqueue the next sync (~60 min) when a background sync completes."
          },
          "syncFileTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "File extensions to import (defaults to all supported)",
            "description": "File extensions to import (defaults to all supported)."
          }
        },
        "description": "Settings for cloud-storage integrations (Google Drive, OneDrive)."
      },
      "typestringundefinedexternalIdstringundefinedpublicDatastringundefinedsettingsstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "externalId": {
            "type": "string",
            "description": "External identifier for deduplication (e.g., shopId for Etsy)"
          },
          "publicData": {
            "type": "string",
            "description": "Public metadata safe to expose to frontend"
          },
          "settings": {
            "type": "string",
            "description": "User-configurable settings"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoIntegration": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionIntegration",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionIntegration": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionIntegration"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionIntegration"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "External identifier for deduplication (e.g., shopId for Etsy)"
          },
          "publicData": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Public metadata safe to expose to frontend"
          },
          "settings": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "User-configurable settings"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SkuBuildWithRelation": {
        "type": "object",
        "properties": {
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuCopy": {
            "type": "object",
            "properties": {
              "sku": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "externalId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024
                  }
                ]
              },
              "externalProvider": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "const": "etsy"
                  },
                  {
                    "const": "shopify"
                  }
                ]
              },
              "folderId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "totalCogs": {
                "type": "number"
              },
              "customMetadata": {
                "type": "object",
                "properties": {},
                "additionalProperties": {}
              },
              "id": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "storeId": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sku",
              "title",
              "description",
              "externalId",
              "externalProvider",
              "totalCogs",
              "id",
              "storeId",
              "createdAt",
              "updatedAt"
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "running"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "skuInstanceStart": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "selectedOptions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringstringnull"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "partBuilds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartBuildPrintJobsRelationPartBuildStepRelation"
            }
          }
        },
        "required": [
          "skuId",
          "skuCopy",
          "status",
          "orderId",
          "orderItemId",
          "priority",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "partBuilds"
        ]
      },
      "PartBuildPrintJobsRelationPartBuildStepRelation": {
        "type": "object",
        "properties": {
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuBuildId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "label": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              }
            ]
          },
          "partCopy": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "type": {
                "oneOf": [
                  {
                    "const": "scad"
                  },
                  {
                    "const": "cadquery"
                  },
                  {
                    "const": "build123d"
                  },
                  {
                    "const": "stl"
                  },
                  {
                    "const": "step"
                  },
                  {
                    "const": "3mf"
                  },
                  {
                    "const": "gcode3mf"
                  },
                  {
                    "const": "gcode"
                  }
                ]
              },
              "description": {
                "type": "string",
                "default": ""
              },
              "fileUris": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "fileHashes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "thumbnailUri": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "parameters": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "default": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    },
                    "options": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "value"
                        ]
                      }
                    },
                    "description": {
                      "type": "string"
                    },
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    },
                    "step": {
                      "type": "number"
                    },
                    "acceptedContentTypes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "File-parameter-only fields (populated when\n`type === PartParameterVariableType.File`). Kept optional on the\nshared interface so scalar-parameter call sites do not need\nunion-narrowing. See `FilePartParameter` for the strict shape.\n\n`acceptedContentTypes` is intentionally an OPEN `string[]` (not a\nnarrow union). The customizer emits SVG, but Etsy attachments and\ndirect API order ingestion can carry ANY mime type (PNG / JPG / PDF /\nAI / etc). Builders enforce kind constraints; the shared type stays\nopen."
                    },
                    "multiple": {
                      "type": "boolean",
                      "description": "Whether the slot accepts >1 file. Reserved for forward compat — the\nPhase 5 resolver assumes single-file per slot for v1."
                    },
                    "defaultUri": {
                      "type": "string",
                      "title": "Optional fallback file URI (e.g. a known SVG in storage)",
                      "description": "Optional fallback file URI (e.g. a known SVG in storage)."
                    },
                    "label": {
                      "type": "string",
                      "maxLength": 255,
                      "description": "What the parameter is shown under wherever a customer or an operator\nfills it in; `name` stays the key everything binds by (SKU options,\norder inputs, build overrides, and — for a 3MF text slot — the text\nvolume the substitution travels to). A parameter without one is shown\nunder its name.\n\nThis interface is the one the API's request validators are generated\nfrom, and it is a second declaration of the shape in\n`../part/parameter`. A field added to only one of them is accepted by\nthe code and then pruned off the wire."
                    },
                    "serialReuse": {
                      "oneOf": [
                        {
                          "const": "share",
                          "title": "One serial per plate print, applied to every matching occurrence",
                          "description": "One serial per plate print, applied to every matching occurrence."
                        },
                        {
                          "const": "increment",
                          "title": "The next serial for each matching object instance on the plate",
                          "description": "The next serial for each matching object instance on the plate."
                        }
                      ],
                      "description": "For a 3MF text-slot parameter bound to a sequence: whether occurrences\nrepeated on one plate share a serial or each consume the next one.\nAbsent means {@link TextSlotSerialReuse.Share }, today's duplicate-name\nmeaning."
                    },
                    "sizing": {
                      "oneOf": [
                        {
                          "const": "stretch",
                          "title": "Fill the authored bounds exactly, distorting the glyphs if need be",
                          "description": "Fill the authored bounds exactly, distorting the glyphs if need be."
                        },
                        {
                          "const": "fit",
                          "title": "Keep the authored proportions and size; shrink only to avoid overflow",
                          "description": "Keep the authored proportions and size; shrink only to avoid overflow."
                        },
                        {
                          "const": "unconstrained",
                          "title": "Draw at the authored size and let a long value run past the bounds",
                          "description": "Draw at the authored size and let a long value run past the bounds."
                        }
                      ],
                      "description": "3MF text placeholders only: how a substituted value is sized against the\nbounds of the text volume it replaces. Absent means \"fit within bounds\",\nwhich is what every part declared before the setting existed carries.\nDeclared on this shape as well as on `../part/parameter` for the reason\n`label` is — the API's request validators are generated from this one,\nand a field on only the other is pruned off the wire."
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "type": {
                      "oneOf": [
                        {
                          "const": "number"
                        },
                        {
                          "const": "string"
                        },
                        {
                          "const": "boolean"
                        },
                        {
                          "const": "file"
                        }
                      ]
                    },
                    "value": {
                      "oneOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        },
                        {
                          "type": "boolean"
                        }
                      ]
                    }
                  },
                  "required": [
                    "name",
                    "type"
                  ]
                }
              },
              "printTags": {
                "type": "object",
                "properties": {
                  "printer.provider": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.nozzleDiameter": {
                    "type": "string",
                    "minLength": 1
                  },
                  "printer.modelName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "filament.type": {
                    "type": "string",
                    "minLength": 1
                  },
                  "user.tags": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "overriddenProcessProfileId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "folderId": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "pattern": "^[a-z0-9]{24}$"
                  }
                ]
              },
              "materials": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "index": {
                          "type": "number",
                          "minimum": 0
                        },
                        "color": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string",
                              "pattern": "^#{0,1}[0-9A-F]{6}|[0-9A-F]{8}$"
                            }
                          ]
                        },
                        "type": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "skip": {
                          "type": "boolean"
                        },
                        "name": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "identifier": {
                          "oneOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": [
                        "index",
                        "color",
                        "type"
                      ]
                    }
                  }
                ]
              },
              "slicerOverride": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "metadata": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "printerModel": {
                        "type": "string"
                      },
                      "filamentType": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "filamentColors": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "filamentDensities": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "filamentDiameters": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "nozzleDiameter": {
                        "type": "string"
                      },
                      "profileCompat": {
                        "type": "object",
                        "properties": {
                          "sliced": {
                            "type": "string"
                          },
                          "compatible": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "safe": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "sliced",
                          "compatible",
                          "safe"
                        ]
                      },
                      "slicerVersion": {
                        "oneOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "properties": {
                              "engine": {
                                "oneOf": [
                                  {
                                    "const": "orcaslicer"
                                  },
                                  {
                                    "const": "bambu-studio"
                                  },
                                  {
                                    "const": "prusaslicer"
                                  },
                                  {
                                    "const": "superslicer"
                                  }
                                ]
                              },
                              "version": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "engine",
                              "version"
                            ]
                          }
                        ]
                      },
                      "plates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "locked": {
                              "type": "boolean"
                            },
                            "filamentMapMode": {
                              "type": "string"
                            },
                            "filamentMaps": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              }
                            },
                            "gcodeFile": {
                              "type": "string"
                            },
                            "thumbnailFile": {
                              "type": "string"
                            },
                            "thumbnailUploadedUri": {
                              "type": "string",
                              "title": "The archive's own plate preview, copied out at metadata-extraction time",
                              "description": "The archive's own plate preview, copied out at metadata-extraction time."
                            },
                            "thumbnailRenderedUri": {
                              "type": "string",
                              "description": "The plate re-rendered by the three.js builder. Written by a different\nflow, and to a different storage path, than the archive copy above — a\nlater metadata reprocess re-copies the archive image and must not be able\nto overwrite this. Prefer it over `thumbnailUploadedUri`\n(see `plateThumbnailUri`)."
                            },
                            "thumbnailNoLightFile": {
                              "type": "string"
                            },
                            "thumbnailData": {
                              "type": "string"
                            },
                            "topFile": {
                              "type": "string"
                            },
                            "pickFile": {
                              "type": "string"
                            },
                            "topData": {
                              "type": "string",
                              "title": "Base64 PNG data for the top/pick images, staged before upload then cleared",
                              "description": "Base64 PNG data for the top/pick images, staged before upload then cleared."
                            },
                            "pickData": {
                              "type": "string"
                            },
                            "topUploadedUri": {
                              "type": "string",
                              "title": "Uploaded URIs for the plate's top-down image and color-coded object pick mask",
                              "description": "Uploaded URIs for the plate's top-down image and color-coded object pick mask.\nUsed by the visual skip-objects picker."
                            },
                            "pickUploadedUri": {
                              "type": "string"
                            },
                            "patternBboxFile": {
                              "type": "string"
                            },
                            "sliced": {
                              "type": "object",
                              "properties": {
                                "index": {
                                  "type": "number"
                                },
                                "extruderType": {
                                  "type": "string"
                                },
                                "nozzleVolumeType": {
                                  "type": "string"
                                },
                                "printerModelId": {
                                  "type": "string"
                                },
                                "nozzleDiameters": {
                                  "type": "string"
                                },
                                "timelapseType": {
                                  "type": "string"
                                },
                                "prediction": {
                                  "type": "number"
                                },
                                "weight": {
                                  "type": "number"
                                },
                                "outside": {
                                  "type": "boolean"
                                },
                                "supportUsed": {
                                  "type": "boolean"
                                },
                                "labelObjectEnabled": {
                                  "type": "boolean"
                                },
                                "filamentMaps": {
                                  "type": "string"
                                },
                                "objects": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "identifyId": {
                                        "type": "string"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "skipped": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "identifyId",
                                      "name",
                                      "skipped"
                                    ]
                                  }
                                },
                                "filaments": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string"
                                      },
                                      "trayInfoIdx": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      },
                                      "color": {
                                        "type": "string"
                                      },
                                      "usedM": {
                                        "type": "number"
                                      },
                                      "usedG": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "trayInfoIdx",
                                      "type",
                                      "color",
                                      "usedM",
                                      "usedG"
                                    ]
                                  }
                                },
                                "warnings": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "msg": {
                                        "type": "string"
                                      },
                                      "level": {
                                        "type": "number"
                                      },
                                      "errorCode": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "msg",
                                      "level",
                                      "errorCode"
                                    ]
                                  }
                                },
                                "layerFilamentLists": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "filamentList": {
                                        "type": "number"
                                      },
                                      "layerRanges": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "filamentList",
                                      "layerRanges"
                                    ]
                                  }
                                }
                              }
                            },
                            "filamentIds": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "id"
                          ]
                        }
                      },
                      "filamentIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "textSlots": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string",
                              "title": "The matching volume/object name — the substitution key",
                              "description": "The matching volume/object name — the substitution key."
                            },
                            "label": {
                              "type": "string",
                              "title": "The label this slot's parameter is shown under",
                              "description": "The label this slot's parameter is shown under."
                            },
                            "text": {
                              "type": "string",
                              "description": "The text authored into the volume. It prints as-is when the slot goes\nunfilled, which makes it the parameter's default."
                            },
                            "volumeCount": {
                              "type": "number",
                              "title": "How many text volumes in the file carry this slot name",
                              "description": "How many text volumes in the file carry this slot name."
                            },
                            "fontName": {
                              "type": "string",
                              "title": "`font_name` of the first volume seen with this key",
                              "description": "`font_name` of the first volume seen with this key."
                            },
                            "fontVersion": {
                              "type": "string",
                              "title": "`font_version` of the first volume seen with this key",
                              "description": "`font_version` of the first volume seen with this key."
                            },
                            "surfaceType": {
                              "type": "number",
                              "title": "`surface_type` of the first volume seen with this key (0=flat)",
                              "description": "`surface_type` of the first volume seen with this key (0=flat)."
                            },
                            "occurrences": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "plateId": {
                                    "type": "number"
                                  },
                                  "objectId": {
                                    "type": "string",
                                    "title": "`model_settings.config` object id (matches the root model's build items)",
                                    "description": "`model_settings.config` object id (matches the root model's build items)."
                                  },
                                  "instanceId": {
                                    "type": "number",
                                    "title": "0-based instance index among the object's build items",
                                    "description": "0-based instance index among the object's build items."
                                  },
                                  "identifyId": {
                                    "type": "string",
                                    "title": "Bambu's per-instance id, when present (matches gcode object labels)",
                                    "description": "Bambu's per-instance id, when present (matches gcode object labels)."
                                  }
                                },
                                "required": [
                                  "plateId",
                                  "objectId",
                                  "instanceId"
                                ]
                              },
                              "title": "Every printable object instance carrying this slot, across all plates",
                              "description": "Every printable object instance carrying this slot, across all plates.\nAbsent when the file predates occurrence detection or has no plate\nmetadata to resolve instances against."
                            }
                          },
                          "required": [
                            "key",
                            "label",
                            "text",
                            "volumeCount"
                          ]
                        },
                        "description": "PrintagoParam text slots with their per-plate occurrence identities,\nre-detected whenever the file is (re)processed. The saved reuse mode\nlives on the slot's parameter, which survives a file replacement; this\nis the geometry-derived half that must always track the current file."
                      },
                      "plateRenderSourceHash": {
                        "type": "string",
                        "description": "`fileHashes[0]` of the source that produced the plates'\n`thumbnailRenderedUri`. Re-extraction carries the renders forward only\nwhile this still matches the part's current source; a replaced file\nleaves them behind rather than showing the previous model's geometry."
                      }
                    },
                    "required": [
                      "printerModel",
                      "filamentType",
                      "filamentColors",
                      "nozzleDiameter",
                      "profileCompat"
                    ]
                  }
                ]
              },
              "slicingEstimate": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "estimatedPrintTimeSeconds": {
                        "type": "number"
                      },
                      "materials": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "index": {
                              "type": "number"
                            },
                            "usedGrams": {
                              "type": "number"
                            },
                            "usedMeters": {
                              "type": "number"
                            },
                            "materialType": {
                              "type": "string"
                            },
                            "color": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "index",
                            "usedGrams",
                            "usedMeters",
                            "materialType"
                          ]
                        }
                      },
                      "totalWeightGrams": {
                        "type": "number"
                      },
                      "profiles": {
                        "type": "object",
                        "properties": {
                          "machineProfileId": {
                            "type": "string"
                          },
                          "machineProfileName": {
                            "type": "string"
                          },
                          "processProfileId": {
                            "type": "string"
                          },
                          "processProfileName": {
                            "type": "string"
                          },
                          "filamentProfileIds": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "filamentProfileNames": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "machineProfileId",
                          "machineProfileName",
                          "processProfileId",
                          "processProfileName",
                          "filamentProfileIds",
                          "filamentProfileNames"
                        ]
                      },
                      "slicedAt": {
                        "type": "string"
                      },
                      "slicerVersion": {
                        "type": "string"
                      },
                      "plates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "plateId": {
                              "type": "number"
                            },
                            "estimatedPrintTimeSeconds": {
                              "type": "number"
                            },
                            "materials": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "index": {
                                    "type": "number"
                                  },
                                  "usedGrams": {
                                    "type": "number"
                                  },
                                  "usedMeters": {
                                    "type": "number"
                                  },
                                  "materialType": {
                                    "type": "string"
                                  },
                                  "color": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "index",
                                  "usedGrams",
                                  "usedMeters",
                                  "materialType"
                                ]
                              }
                            },
                            "totalWeightGrams": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "plateId",
                            "estimatedPrintTimeSeconds",
                            "materials",
                            "totalWeightGrams"
                          ]
                        }
                      }
                    },
                    "required": [
                      "estimatedPrintTimeSeconds",
                      "materials",
                      "totalWeightGrams",
                      "slicedAt",
                      "slicerVersion"
                    ]
                  }
                ]
              },
              "use3MFProcessProfile": {
                "type": "boolean",
                "description": "Slice this part with the process profile embedded in its 3MF rather than\nthe matched printer's. Omit it when creating a 3MF part and it is turned\non for you, unless you also send an `overriddenProcessProfileId`; send\n`false` to slice with the printer's profile instead. Ignored for every\nother part type."
              },
              "arrangeable": {
                "type": "boolean"
              },
              "userTags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "gcodePlateUris": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                ]
              },
              "meshUri": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "title": "Tessellated mesh derived from a boundary-representation source (STEP)",
                "description": "Tessellated mesh derived from a boundary-representation source (STEP).\nThe slicer CLI only reads meshes, so this — not `fileUris[0]` — is what\nthe print and estimation paths feed it."
              },
              "meshSourceHash": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "`fileHashes[0]` of the source the mesh state describes — the file\n`meshUri` was tessellated from, or the one `meshError` failed on."
              },
              "meshError": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ],
                "description": "Why tessellating this source failed. Set with `meshUri` cleared, so a\nfile that cannot be meshed is stated once instead of re-converting on\nevery print forever. Replacing the source moves `fileHashes[0]` off this\nhash, which retires the error without anything having to clear it."
              },
              "uploadedAt": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "customMetadata": {
                "type": "object",
                "properties": {},
                "additionalProperties": {}
              },
              "source": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "const": "google-drive"
                  },
                  {
                    "const": "onedrive"
                  }
                ],
                "description": "Which integration created this part. Set only by the cloud-storage\nproviders today; null on every other creation path (upload, API, OpenSCAD,\n…) rather than carrying a synthetic \"manual\" value, so existing parts need\nno backfill. Not user-editable — it records what happened, not a preference."
              },
              "id": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "storeId": {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "description",
              "fileUris",
              "fileHashes",
              "thumbnailUri",
              "parameters",
              "printTags",
              "overriddenProcessProfileId",
              "materials",
              "id",
              "storeId",
              "createdAt",
              "updatedAt"
            ]
          },
          "requiredPrinterTags": {
            "$ref": "#/components/schemas/Tags"
          },
          "quantity": {
            "type": "number",
            "minimum": 0,
            "maximum": 500
          },
          "numPartsPerSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "skuInstanceStart": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "parameterOverrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartParameterOverride"
            }
          },
          "status": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "building"
              },
              {
                "const": "queued"
              },
              {
                "const": "fulfilling"
              },
              {
                "const": "preparing"
              },
              {
                "const": "sending-to-printer"
              },
              {
                "const": "printing"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "outputFiles": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "assignmentStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "assignmentCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printStatus": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "printing"
              },
              {
                "const": "success"
              },
              {
                "const": "error"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "extensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartBuildExtensions"
              }
            ]
          },
          "materialAssignments": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MaterialAssignments"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "linkedPartId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "dismissed": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "printJobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrintJob"
            }
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartBuildStep"
            }
          }
        },
        "required": [
          "partId",
          "skuBuildId",
          "skuId",
          "skuName",
          "label",
          "partCopy",
          "requiredPrinterTags",
          "quantity",
          "parameterOverrides",
          "status",
          "outputFiles",
          "thumbnailUri",
          "assignmentStartedAt",
          "assignmentCompletedAt",
          "printingStartedAt",
          "printingCompletedAt",
          "printStatus",
          "materialAssignments",
          "priority",
          "position",
          "orderId",
          "orderItemId",
          "linkedPartId",
          "dismissed",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "printJobs",
          "steps"
        ]
      },
      "skuIdstringundefinedskuCopystringundefinedstatusstringundefinedskuInstanceStartstringundefinedorderIdstringundefinedorderItemIdstringundefined...5more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string"
          },
          "skuCopy": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "skuInstanceStart": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "orderItemId": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "selectedOptions": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoSkuBuild": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionSkuBuild",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionSkuBuild": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSkuBuild"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSkuBuild"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuCopy": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "status": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuInstanceStart": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderItemId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "priority": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "selectedOptions": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "partBuildIdstringundefinedorderstringundefinedbuilderstringundefinedinputFilesstringundefinedinputParametersstringundefinedinputHashstringundefined...13more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "partBuildId": {
            "type": "string"
          },
          "order": {
            "type": "string"
          },
          "builder": {
            "type": "string"
          },
          "inputFiles": {
            "type": "string"
          },
          "inputParameters": {
            "type": "string"
          },
          "inputHash": {
            "type": "string"
          },
          "cachedBuildStepId": {
            "type": "string"
          },
          "cachedOutputFile": {
            "type": "string"
          },
          "outputFiles": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "logs": {
            "type": "string"
          },
          "requiresAssignedPrinter": {
            "type": "string"
          },
          "nextStepId": {
            "type": "string"
          },
          "startedAt": {
            "type": "string"
          },
          "completedAt": {
            "type": "string"
          },
          "dismissed": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPartBuildStep": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPartBuildStep",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPartBuildStep": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPartBuildStep"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPartBuildStep"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "partBuildId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "order": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "builder": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "inputFiles": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "inputParameters": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "inputHash": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cachedBuildStepId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cachedOutputFile": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "outputFiles": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "status": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "logs": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "requiresAssignedPrinter": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "nextStepId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "startedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "completedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "dismissed": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "Folder": {
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "const": "part"
              },
              {
                "const": "sku"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "parentId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "type",
          "name",
          "parentId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "typestringundefinednamestringundefinedparentIdstringundefinedcustomMetadatastringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "parentId": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoFolder": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionFolder",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionFolder": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionFolder"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionFolder"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "parentId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "CreateFolderRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "type": {
            "oneOf": [
              {
                "const": "part"
              },
              {
                "const": "sku"
              }
            ]
          },
          "parentId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/CustomMetadataValues"
          }
        },
        "required": [
          "name",
          "type",
          "parentId"
        ]
      },
      "CustomMetadataValues": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "BatchMoveFolderResponse": {
        "type": "object",
        "properties": {
          "folderIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "partIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "skuIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "folderIds",
          "partIds",
          "skuIds"
        ]
      },
      "BatchMoveFolderRequest": {
        "type": "object",
        "properties": {
          "entities": {
            "type": "object",
            "properties": {
              "folderIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              },
              "partIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              },
              "skuIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9]{24}$"
                }
              }
            }
          },
          "toFolderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          }
        },
        "required": [
          "entities",
          "toFolderId"
        ]
      },
      "RenameFolderRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "DeleteFolderRequest": {
        "type": "object",
        "properties": {
          "folderIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "type": {
            "oneOf": [
              {
                "const": "part"
              },
              {
                "const": "sku"
              }
            ]
          }
        },
        "required": [
          "folderIds",
          "type"
        ]
      },
      "Entitlement": {
        "type": "object",
        "properties": {
          "entitlement": {
            "type": "string"
          },
          "enabledAt": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "entitlement",
          "enabledAt",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "entitlementstringundefinedenabledAtstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "entitlement": {
            "type": "string"
          },
          "enabledAt": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoEntitlement": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionEntitlement",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionEntitlement": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionEntitlement"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionEntitlement"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "entitlement": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "enabledAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "Permission": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "permission": {
            "oneOf": [
              {
                "const": "organization.owner"
              },
              {
                "const": "organization.edit"
              },
              {
                "const": "organization.delete"
              },
              {
                "const": "user.view"
              },
              {
                "const": "user.invite"
              },
              {
                "const": "user.edit"
              },
              {
                "const": "user.delete"
              },
              {
                "const": "permission.view"
              },
              {
                "const": "permission.grant"
              },
              {
                "const": "permission.revoke"
              },
              {
                "const": "part.view"
              },
              {
                "const": "part.create"
              },
              {
                "const": "part.edit"
              },
              {
                "const": "part.delete"
              },
              {
                "const": "part.export"
              },
              {
                "const": "sku.view"
              },
              {
                "const": "sku.create"
              },
              {
                "const": "sku.edit"
              },
              {
                "const": "sku.delete"
              },
              {
                "const": "material.view"
              },
              {
                "const": "material.create"
              },
              {
                "const": "material.edit"
              },
              {
                "const": "material.delete"
              },
              {
                "const": "material.instance.view"
              },
              {
                "const": "material.instance.create"
              },
              {
                "const": "material.instance.edit"
              },
              {
                "const": "material.instance.delete"
              },
              {
                "const": "printer.view"
              },
              {
                "const": "printer.create"
              },
              {
                "const": "printer.edit"
              },
              {
                "const": "printer.delete"
              },
              {
                "const": "printer.control"
              },
              {
                "const": "printer.ready"
              },
              {
                "const": "printer.config"
              },
              {
                "const": "printer.stats"
              },
              {
                "const": "printer.camera"
              },
              {
                "const": "profile.view"
              },
              {
                "const": "profile.create"
              },
              {
                "const": "profile.edit"
              },
              {
                "const": "profile.delete"
              },
              {
                "const": "queue.view"
              },
              {
                "const": "queue.manage"
              },
              {
                "const": "queue.override"
              },
              {
                "const": "job.create"
              },
              {
                "const": "job.edit.own"
              },
              {
                "const": "job.edit.all"
              },
              {
                "const": "job.delete.own"
              },
              {
                "const": "job.delete.all"
              },
              {
                "const": "build.view"
              },
              {
                "const": "build.create"
              },
              {
                "const": "build.edit"
              },
              {
                "const": "build.delete"
              },
              {
                "const": "settings.view"
              },
              {
                "const": "settings.edit"
              },
              {
                "const": "integration.view"
              },
              {
                "const": "integration.manage"
              },
              {
                "const": "subscription.view"
              },
              {
                "const": "subscription.manage"
              },
              {
                "const": "analytics.view"
              },
              {
                "const": "reports.generate"
              },
              {
                "const": "audit.log.view"
              },
              {
                "const": "audit.logs.configure"
              },
              {
                "const": "order.view"
              },
              {
                "const": "order.create"
              },
              {
                "const": "order.edit"
              },
              {
                "const": "order.delete"
              },
              {
                "const": "order.print"
              },
              {
                "const": "apiKey.view"
              },
              {
                "const": "apiKey.create"
              },
              {
                "const": "apiKey.edit"
              },
              {
                "const": "apiKey.delete"
              },
              {
                "const": "file.download"
              },
              {
                "const": "maintenance.view"
              },
              {
                "const": "maintenance.create"
              },
              {
                "const": "maintenance.edit"
              },
              {
                "const": "maintenance.delete"
              },
              {
                "const": "maintenance.complete"
              },
              {
                "const": "routing.manage"
              },
              {
                "const": "customizer.manage"
              },
              {
                "const": "macro.view"
              },
              {
                "const": "macro.create"
              },
              {
                "const": "macro.edit"
              },
              {
                "const": "macro.delete"
              },
              {
                "const": "macro.run"
              },
              {
                "const": "card.view"
              },
              {
                "const": "card.create"
              },
              {
                "const": "card.edit"
              },
              {
                "const": "card.delete"
              },
              {
                "const": "layout.view"
              },
              {
                "const": "layout.create"
              },
              {
                "const": "layout.edit"
              },
              {
                "const": "layout.delete"
              },
              {
                "const": "sequence.view"
              },
              {
                "const": "sequence.edit"
              },
              {
                "const": "internal.shopify"
              },
              {
                "const": "queue.admin"
              },
              {
                "const": "part.viewer"
              },
              {
                "const": "part.editor"
              },
              {
                "const": "sku.viewer"
              },
              {
                "const": "sku.editor"
              },
              {
                "const": "orders.admin"
              },
              {
                "const": "material.viewer"
              },
              {
                "const": "material.editor"
              },
              {
                "const": "printer.viewer"
              },
              {
                "const": "printer.editor"
              },
              {
                "const": "profile.viewer"
              },
              {
                "const": "profile.editor"
              },
              {
                "const": "settings.admin"
              },
              {
                "const": "subscription.admin"
              }
            ]
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "permission",
          "storeId",
          "id",
          "createdAt",
          "updatedAt"
        ],
        "description": "Represents a user permission in the system"
      },
      "userIdstringundefinedpermissionstringundefinedstoreIdstringundefinedidstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "permission": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPermission": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPermission",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPermission": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPermission"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPermission"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "userId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "permission": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "GetAllPermissionsForUserResponse": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "boolean"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetUserPermissionResponse"
            }
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Role IDs granted to the user in this store"
          },
          "roleNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Role names (system role keys like \"operator\") for readability"
          },
          "effectivePermissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            },
            "description": "Effective permission set (direct + role-based + owner)"
          }
        },
        "required": [
          "owner",
          "permissions"
        ]
      },
      "GetUserPermissionResponse": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "permission": {
            "oneOf": [
              {
                "const": "organization.owner"
              },
              {
                "const": "organization.edit"
              },
              {
                "const": "organization.delete"
              },
              {
                "const": "user.view"
              },
              {
                "const": "user.invite"
              },
              {
                "const": "user.edit"
              },
              {
                "const": "user.delete"
              },
              {
                "const": "permission.view"
              },
              {
                "const": "permission.grant"
              },
              {
                "const": "permission.revoke"
              },
              {
                "const": "part.view"
              },
              {
                "const": "part.create"
              },
              {
                "const": "part.edit"
              },
              {
                "const": "part.delete"
              },
              {
                "const": "part.export"
              },
              {
                "const": "sku.view"
              },
              {
                "const": "sku.create"
              },
              {
                "const": "sku.edit"
              },
              {
                "const": "sku.delete"
              },
              {
                "const": "material.view"
              },
              {
                "const": "material.create"
              },
              {
                "const": "material.edit"
              },
              {
                "const": "material.delete"
              },
              {
                "const": "material.instance.view"
              },
              {
                "const": "material.instance.create"
              },
              {
                "const": "material.instance.edit"
              },
              {
                "const": "material.instance.delete"
              },
              {
                "const": "printer.view"
              },
              {
                "const": "printer.create"
              },
              {
                "const": "printer.edit"
              },
              {
                "const": "printer.delete"
              },
              {
                "const": "printer.control"
              },
              {
                "const": "printer.ready"
              },
              {
                "const": "printer.config"
              },
              {
                "const": "printer.stats"
              },
              {
                "const": "printer.camera"
              },
              {
                "const": "profile.view"
              },
              {
                "const": "profile.create"
              },
              {
                "const": "profile.edit"
              },
              {
                "const": "profile.delete"
              },
              {
                "const": "queue.view"
              },
              {
                "const": "queue.manage"
              },
              {
                "const": "queue.override"
              },
              {
                "const": "job.create"
              },
              {
                "const": "job.edit.own"
              },
              {
                "const": "job.edit.all"
              },
              {
                "const": "job.delete.own"
              },
              {
                "const": "job.delete.all"
              },
              {
                "const": "build.view"
              },
              {
                "const": "build.create"
              },
              {
                "const": "build.edit"
              },
              {
                "const": "build.delete"
              },
              {
                "const": "settings.view"
              },
              {
                "const": "settings.edit"
              },
              {
                "const": "integration.view"
              },
              {
                "const": "integration.manage"
              },
              {
                "const": "subscription.view"
              },
              {
                "const": "subscription.manage"
              },
              {
                "const": "analytics.view"
              },
              {
                "const": "reports.generate"
              },
              {
                "const": "audit.log.view"
              },
              {
                "const": "audit.logs.configure"
              },
              {
                "const": "order.view"
              },
              {
                "const": "order.create"
              },
              {
                "const": "order.edit"
              },
              {
                "const": "order.delete"
              },
              {
                "const": "order.print"
              },
              {
                "const": "apiKey.view"
              },
              {
                "const": "apiKey.create"
              },
              {
                "const": "apiKey.edit"
              },
              {
                "const": "apiKey.delete"
              },
              {
                "const": "file.download"
              },
              {
                "const": "maintenance.view"
              },
              {
                "const": "maintenance.create"
              },
              {
                "const": "maintenance.edit"
              },
              {
                "const": "maintenance.delete"
              },
              {
                "const": "maintenance.complete"
              },
              {
                "const": "routing.manage"
              },
              {
                "const": "customizer.manage"
              },
              {
                "const": "macro.view"
              },
              {
                "const": "macro.create"
              },
              {
                "const": "macro.edit"
              },
              {
                "const": "macro.delete"
              },
              {
                "const": "macro.run"
              },
              {
                "const": "card.view"
              },
              {
                "const": "card.create"
              },
              {
                "const": "card.edit"
              },
              {
                "const": "card.delete"
              },
              {
                "const": "layout.view"
              },
              {
                "const": "layout.create"
              },
              {
                "const": "layout.edit"
              },
              {
                "const": "layout.delete"
              },
              {
                "const": "sequence.view"
              },
              {
                "const": "sequence.edit"
              },
              {
                "const": "internal.shopify"
              },
              {
                "const": "queue.admin"
              },
              {
                "const": "part.viewer"
              },
              {
                "const": "part.editor"
              },
              {
                "const": "sku.viewer"
              },
              {
                "const": "sku.editor"
              },
              {
                "const": "orders.admin"
              },
              {
                "const": "material.viewer"
              },
              {
                "const": "material.editor"
              },
              {
                "const": "printer.viewer"
              },
              {
                "const": "printer.editor"
              },
              {
                "const": "profile.viewer"
              },
              {
                "const": "profile.editor"
              },
              {
                "const": "settings.admin"
              },
              {
                "const": "subscription.admin"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          }
        },
        "required": [
          "userId",
          "permission",
          "id"
        ]
      },
      "RoleSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "isSystem": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "isSystem"
        ]
      },
      "RoleWithPermissions": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "isSystem": {
            "type": "boolean"
          }
        },
        "required": [
          "permissions",
          "id",
          "name",
          "description",
          "isSystem"
        ]
      },
      "SendCommandRequest": {
        "type": "object",
        "properties": {
          "command": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SetSlotInfoCommand"
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "stop"
                  }
                },
                "required": [
                  "command"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "pause"
                  }
                },
                "required": [
                  "command"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "resume"
                  }
                },
                "required": [
                  "command"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "resync-data"
                  }
                },
                "required": [
                  "command"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "unload-filament"
                  }
                },
                "required": [
                  "command"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "load-filament"
                  },
                  "targetTemp": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 300
                  },
                  "currentTemp": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 300
                  },
                  "targetSlot": {
                    "$ref": "#/components/schemas/CommandMaterialSlot"
                  }
                },
                "required": [
                  "command",
                  "targetTemp",
                  "currentTemp",
                  "targetSlot"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "led-control"
                  },
                  "ref": {
                    "type": "string",
                    "description": "Light component ref: \"light_chamber\", \"light_work\""
                  },
                  "state": {
                    "oneOf": [
                      {
                        "const": "on"
                      },
                      {
                        "const": "off"
                      }
                    ]
                  }
                },
                "required": [
                  "command",
                  "ref",
                  "state"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "set-temperature"
                  },
                  "ref": {
                    "type": "string",
                    "description": "Component ref: \"nozzle_0\", \"bed_0\", \"chamber_0\""
                  },
                  "temperature": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 300
                  }
                },
                "required": [
                  "command",
                  "ref",
                  "temperature"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "select-tool"
                  },
                  "ref": {
                    "type": "string",
                    "description": "Tool or nozzle ref: \"tool_0\", \"nozzle_0\""
                  }
                },
                "required": [
                  "command",
                  "ref"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "home-axis"
                  },
                  "axes": {
                    "type": "object",
                    "properties": {
                      "x": {
                        "type": "boolean"
                      },
                      "y": {
                        "type": "boolean"
                      },
                      "z": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "required": [
                  "command",
                  "axes"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "move-axis"
                  },
                  "axes": {
                    "type": "object",
                    "properties": {
                      "x": {
                        "type": "number",
                        "minimum": -100,
                        "maximum": 100
                      },
                      "y": {
                        "type": "number",
                        "minimum": -100,
                        "maximum": 100
                      },
                      "z": {
                        "type": "number",
                        "minimum": -100,
                        "maximum": 100
                      },
                      "e": {
                        "type": "number",
                        "minimum": -100,
                        "maximum": 100
                      }
                    }
                  }
                },
                "required": [
                  "command",
                  "axes"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "set-fan"
                  },
                  "ref": {
                    "type": "string",
                    "description": "Fan component ref: \"fan_part\", \"fan_aux\", \"fan_chamber\""
                  },
                  "speed": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  }
                },
                "required": [
                  "command",
                  "ref",
                  "speed"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "extrude-filament"
                  },
                  "ref": {
                    "type": "string",
                    "description": "Nozzle ref, defaults to active nozzle if omitted"
                  },
                  "amount": {
                    "type": "number"
                  }
                },
                "required": [
                  "command",
                  "amount"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "calibration"
                  },
                  "option_value": {
                    "type": "number"
                  }
                },
                "required": [
                  "command",
                  "option_value"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "refresh-slot"
                  },
                  "amsId": {
                    "type": "number"
                  },
                  "slotId": {
                    "type": "number"
                  }
                },
                "required": [
                  "command",
                  "amsId",
                  "slotId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "command": {
                    "const": "skip-objects"
                  },
                  "objectIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "command",
                  "objectIds"
                ]
              }
            ]
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "command",
          "ids"
        ]
      },
      "SetSlotInfoCommand": {
        "type": "object",
        "properties": {
          "command": {
            "const": "set-slot-info"
          },
          "info": {
            "type": "object",
            "properties": {
              "amsId": {
                "type": "number"
              },
              "slotId": {
                "type": "number"
              },
              "identifier": {
                "type": "string"
              },
              "color": {
                "type": "string"
              },
              "nozzleTempMin": {
                "type": "number"
              },
              "nozzleTempMax": {
                "type": "number"
              },
              "trayType": {
                "type": "string"
              }
            },
            "required": [
              "slotId",
              "nozzleTempMin",
              "nozzleTempMax",
              "trayType"
            ]
          }
        },
        "required": [
          "command",
          "info"
        ]
      },
      "CommandMaterialSlot": {
        "type": "object",
        "properties": {
          "amsIndex": {
            "type": "number"
          },
          "slotIndex": {
            "type": "number"
          }
        },
        "required": [
          "amsIndex",
          "slotIndex"
        ],
        "description": "Visual slot position for material mapping in print commands"
      },
      "GetStoreSettingsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "slicer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "processLowPriorityJobs": {
            "type": "boolean"
          },
          "automaticQueueMatching": {
            "type": "boolean",
            "description": "When false, every background QueueRun event short-circuits inside\n`matchPrintersAndJobs` and the auto-matcher does not assign jobs. The\nqueue page surfaces a \"Match queue now\" button that bypasses this gate\nby passing `manual: true` to the matcher. Defaults to true so existing\nstores keep their current behaviour."
          },
          "repairSlicerProfileValues": {
            "type": "boolean",
            "description": "When true (the default), the cloud slicer clamps out-of-range / sentinel\nnumeric values in the target slicer's printer/process/filament profiles (and\nthe 3MF's embedded config) into the range that exact slicer build accepts,\nreproducing the desktop GUI's silent value tolerance so headless slices don't\nabort with CLI_INVALID_VALUES_IN_3MF (-18). Turn off to hand the profiles to\nthe CLI verbatim. See packages/builders/slicers config-param-repair."
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "currencySymbol": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultPrinterUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultPrinterSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "defaultProcessUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultProcessSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "defaultFallbackFilamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultFallbackFilamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "experimentalFeatures": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ExperimentalFeatures"
              }
            ]
          },
          "generalSettings": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeneralSettings"
              }
            ]
          }
        },
        "required": [
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "slicer",
          "processLowPriorityJobs",
          "automaticQueueMatching",
          "repairSlicerProfileValues",
          "currency",
          "currencySymbol",
          "defaultPrinterUserProfileId",
          "defaultPrinterSystemProfileId",
          "defaultProcessUserProfileId",
          "defaultProcessSystemProfileId",
          "defaultFallbackFilamentUserProfileId",
          "defaultFallbackFilamentSystemProfileId",
          "experimentalFeatures",
          "generalSettings"
        ]
      },
      "ExperimentalFeatures": {
        "type": "object",
        "properties": {
          "financial-tracking": {
            "type": "boolean"
          }
        }
      },
      "GeneralSettings": {
        "type": "object",
        "properties": {
          "autoMatchMaterialsNewPart": {
            "type": "boolean"
          },
          "enableTimelapse": {
            "type": "boolean",
            "description": "When true, the cloud renders a timelapse video for each completed print\nby stitching together the snapshot history captured by Fuse during the\nprint. New stores default to true via createDefaultSettings so the\nfeature is on out of the box; stores that don't want the encode cost\ncan toggle it off in store settings."
          },
          "enableCompletionSnapshot": {
            "type": "boolean",
            "description": "When true, Fuse captures a single fresh JPEG near the end of each print\n(last layer / 95% progress / FINISH transition, in that order) and\nuploads it as the print-job's `cameraThumbnailUri`. Independent from\n`enableTimelapse` — a store can have completion snapshots without\npaying the timelapse encode cost, or vice versa. New stores default to\ntrue via createDefaultSettings."
          },
          "enableTelemetryCapture": {
            "type": "boolean",
            "description": "Per-attempt print telemetry capture: the gateway archives a downsampled\nseries (temperatures/progress/layer timings) at print end, and Fuse\nuploads its full-fidelity flight recording. Absent is treated as ON —\nunlike the camera toggles, telemetry defaults on and stores opt out.\nArtifacts land under the permanent `telemetry/` storage prefix and are\nlinked from print history."
          },
          "amsSlotSelectionStrategy": {
            "oneOf": [
              {
                "const": "lowest-index"
              },
              {
                "const": "highest-index"
              },
              {
                "const": "most-empty"
              },
              {
                "const": "most-full"
              }
            ],
            "description": "Controls which slot the queue matcher assigns when a job's material is\nloaded in multiple slots on the same printer. Absent is treated as\n`lowest-index` (left-to-right), so existing stores get deterministic\nleft-to-right assignment without any configuration."
          },
          "fabmaticIgnoredErrorCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FabmaticIgnoredErrorCode"
            },
            "description": "Error codes the store wants ignored when deciding whether a printer\nerror should turn off FabMatic (continuous printing). Codes are matched\nformat-insensitively (case, dashes, underscores and leading zeros are\nignored) against the printer's health `errors` and the print `printError`\ncode. (Health `warnings` never turn FabMatic off, so they are not part of\nthis decision.) If every error present on a finished/errored print matches\nan entry here, FabMatic stays enabled and the queue keeps advancing.\nAbsent/empty means no codes are ignored (current behaviour).\n\nCodes vary in length and format across printer brands: print errors are\noften 8 hex chars (\"0500-400E\"/\"0500400E\"/decimal \"83902478\") while health\ncodes can be 16 hex chars (\"0582040000010045\"). Separators are optional and\nignored when matching."
          },
          "plateMerging": {
            "$ref": "#/components/schemas/PlateMergingSettings",
            "title": "Plate merging (combining compatible pending jobs onto one build plate)",
            "description": "Plate merging (combining compatible pending jobs onto one build plate).\nAbsent means DEFAULT_PLATE_MERGING_SETTINGS (automatic merging off;\nmanual merging is always available, gated only by queue.manage)."
          },
          "showGettingStartedChecklist": {
            "type": "boolean",
            "description": "Getting Started checklist visibility. Absent means \"default by store\nage\": stores created on or after GETTING_STARTED_RELEASE_DATE default\non, older stores off (see isGettingStartedEnabled)."
          },
          "autoConfirmMacroRun": {
            "type": "boolean",
            "description": "When true, the Run Macro dialog's \"printer is clear\" safety checkbox\nstarts checked and re-confirms itself as the macro/printer selection\nchanges, so operators who run macros constantly don't have to tick it\nevery time. The server-side digest check (stale-preview 409) still\napplies. Absent/false = the checkbox must be ticked manually."
          },
          "thumbnailStyle": {
            "oneOf": [
              {
                "const": "orthographic"
              },
              {
                "const": "perspective"
              }
            ],
            "description": "Projection and shading the thumbnail renderer uses. Absent means\nDEFAULT_THUMBNAIL_STYLE (\"orthographic\"). Applies to renders from the\nmoment it is saved — thumbnails already rendered keep their look until\nsomething re-renders them."
          }
        }
      },
      "FabmaticIgnoredErrorCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "description": "A single entry in the FabMatic ignored-error-codes list: the printer error\ncode to ignore, plus an optional human note explaining why it's safe to\nignore (e.g. \"humidity sensor reading, harmless on this unit\")."
      },
      "PlateMergingSettings": {
        "type": "object",
        "properties": {
          "automaticMerging": {
            "type": "boolean",
            "description": "When true, the matcher merges compatible queued jobs onto the assigned\nprinter's plate at match time (scope-limited by mergeScope)."
          },
          "mergeScope": {
            "oneOf": [
              {
                "const": "same-order"
              },
              {
                "const": "any"
              }
            ],
            "description": "Which jobs automatic merging may combine: 'same-order' only merges jobs\nfrom the same order (null orderId matches null — non-commerce jobs merge\nwith each other); 'any' merges anything compatible. Manual merging is\nnever restricted by this."
          },
          "partSpacingMm": {
            "type": "number",
            "title": "Minimum clearance between placed parts, mm",
            "description": "Minimum clearance between placed parts, mm."
          },
          "plateMarginMm": {
            "type": "number",
            "title": "Keep-out margin from the plate edge, mm",
            "description": "Keep-out margin from the plate edge, mm."
          },
          "maxPartsPerPlate": {
            "type": "number",
            "title": "Upper bound on parts per merged plate (slicer/UI sanity bound)",
            "description": "Upper bound on parts per merged plate (slicer/UI sanity bound)."
          },
          "mergeHoldMinutes": {
            "type": "number",
            "description": "When > 0 (and automaticMerging is on), a merge-eligible pending job is\nheld back from being assigned to a printer for up to this many minutes\nafter it was queued, so jobs arriving shortly after it can batch onto one\nplate instead of fanning out across idle printers. 0 = off (jobs assign\nimmediately). The window is anchored to each job's own creation time, so\na steady trickle of arrivals can never extend a job's hold. Manual\n\"Match queue now\" runs and direct printer assignments bypass holds.\nOptional: absent on settings saved before the field existed."
          },
          "holdReleaseSaturationPercent": {
            "type": "number",
            "description": "Early release for the hold: once the batch that would merge covers at\nleast this percent of the usable plate area (plate minus edge margins),\nwaiting adds latency but little value, so the job assigns immediately.\n1-100. Optional: absent means the default."
          },
          "processPolicies": {
            "$ref": "#/components/schemas/Recordstringstring",
            "description": "Per-setting merge policies for plate-wide process settings (advanced\nplate optimization). Key = slicer config key from\nPLATE_PROCESS_SETTINGS; value = a ProcessMergePolicy allowed for that\nkey (\"block\" | \"max\" | \"min\" | \"ignore\"). Absent keys use the registry\ndefault; unknown keys/policies are ignored (see\neffectiveProcessPolicies)."
          },
          "slicerCompatibility": {
            "oneOf": [
              {
                "const": "allow-upgrades"
              },
              {
                "const": "account-default"
              },
              {
                "const": "exact"
              }
            ],
            "description": "How slicer engine/version differences gate merging and drive which slicer\nthe merged plate is sliced with. Absent means DEFAULT_SLICER_COMPATIBILITY\n(\"allow-upgrades\"). See {@link SlicerCompatibilityMode }."
          }
        },
        "required": [
          "automaticMerging",
          "mergeScope",
          "partSpacingMm",
          "plateMarginMm",
          "maxPartsPerPlate"
        ]
      },
      "UpdateStoreSettingsRequest": {
        "type": "object",
        "properties": {
          "slicer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "processLowPriorityJobs": {
            "type": "boolean"
          },
          "automaticQueueMatching": {
            "type": "boolean"
          },
          "repairSlicerProfileValues": {
            "type": "boolean"
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "currencySymbol": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultPrinterUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultPrinterSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "defaultProcessUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultProcessSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "defaultFallbackFilamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultFallbackFilamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "experimentalFeatures": {
            "$ref": "#/components/schemas/ExperimentalFeatures"
          },
          "generalSettings": {
            "$ref": "#/components/schemas/GeneralSettings"
          }
        }
      },
      "GetAllSlicerVersionsResponse": {
        "type": "object",
        "properties": {
          "slicerVersions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SlicerVersion"
            }
          }
        },
        "required": [
          "slicerVersions"
        ]
      },
      "SlicerVersion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "engine": {
            "oneOf": [
              {
                "const": "orcaslicer"
              },
              {
                "const": "bambu-studio"
              },
              {
                "const": "prusaslicer"
              },
              {
                "const": "superslicer"
              }
            ]
          },
          "version": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "latest": {
            "type": "boolean"
          },
          "default": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "engine",
          "version",
          "order",
          "latest",
          "default"
        ]
      },
      "SearchQueryDtoNotificationSetting": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionNotificationSetting",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionNotificationSetting": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionNotificationSetting"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionNotificationSetting"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "enabled": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "channel": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onJobSucceeded": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onJobFailed": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onJobStarted": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onJobCancelled": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onPrinterHmsError": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onPrinterHmsWarning": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onPrinterOffline": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onPrinterOnline": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onPrinterContinuousPrintDisabled": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onOrderCreatedManual": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onOrderCreatedRetail": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onOrderCancelled": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onOrderClosed": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onOrdersAutoPrinted": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onMaintenanceModeOn": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onMaintenanceModeOff": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onMaintenanceDueSoon": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onMaintenanceOverdue": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "onMaterialUsageRecorded": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SearchQueryDtoStoreSettings": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionStoreSettings",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionStoreSettings": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionStoreSettings"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionStoreSettings"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicer": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "processLowPriorityJobs": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "automaticQueueMatching": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "When false, every background QueueRun event short-circuits inside\n`matchPrintersAndJobs` and the auto-matcher does not assign jobs. The\nqueue page surfaces a \"Match queue now\" button that bypasses this gate\nby passing `manual: true` to the matcher. Defaults to true so existing\nstores keep their current behaviour."
          },
          "repairSlicerProfileValues": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "When true (the default), the cloud slicer clamps out-of-range / sentinel\nnumeric values in the target slicer's printer/process/filament profiles (and\nthe 3MF's embedded config) into the range that exact slicer build accepts,\nreproducing the desktop GUI's silent value tolerance so headless slices don't\nabort with CLI_INVALID_VALUES_IN_3MF (-18). Turn off to hand the profiles to\nthe CLI verbatim. See packages/builders/slicers config-param-repair."
          },
          "currency": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "currencySymbol": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultPrinterUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultPrinterSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultProcessUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultProcessSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultFallbackFilamentUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultFallbackFilamentSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "experimentalFeatures": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "generalSettings": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "Material": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "brand": {
            "type": "string",
            "minLength": 1
          },
          "type": {
            "type": "string"
          },
          "identifier": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 8
              }
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "starred": {
            "type": "boolean"
          },
          "pricePer1000g": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "brand",
          "type",
          "tags",
          "filamentUserProfileId",
          "filamentSystemProfileId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Material entity representing a general filament material"
      },
      "namestringundefinedbrandstringundefinedtypestringundefinedidentifierstringundefinedtagsstringundefinedfilamentUserProfileIdstringundefined...9more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "identifier": {
            "type": "string"
          },
          "tags": {
            "type": "string"
          },
          "filamentUserProfileId": {
            "type": "string"
          },
          "filamentSystemProfileId": {
            "type": "string"
          },
          "starred": {
            "type": "string"
          },
          "pricePer1000g": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoMaterial": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionMaterial",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionMaterial": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionMaterial"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionMaterial"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "brand": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "identifier": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "tags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "filamentUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "filamentSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "starred": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "pricePer1000g": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "MaterialsData": {
        "type": "object",
        "properties": {
          "materials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Material"
            }
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaterialVariant"
            }
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaterialGroup"
            }
          },
          "groupMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaterialGroupMember"
            }
          }
        },
        "required": [
          "materials",
          "variants",
          "groups",
          "groupMembers"
        ]
      },
      "MaterialVariant": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "color": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^#([A-Fa-f0-9]{8})(;#([A-Fa-f0-9]{8}))*$"
              }
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "pricePer1000g": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "pressureAdvance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number",
                "minimum": 0,
                "maximum": 2
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "materialId",
          "color",
          "tags",
          "filamentUserProfileId",
          "filamentSystemProfileId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Material variant representing a specific filament material"
      },
      "MaterialGroup": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "priority": {
            "type": "number",
            "minimum": 0
          },
          "parentId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "priority",
          "parentId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Material group entity for organizing materials"
      },
      "MaterialGroupMember": {
        "type": "object",
        "properties": {
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialGroupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialType": {
            "type": "string"
          },
          "priority": {
            "type": "number",
            "minimum": 0
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "variantId",
          "materialId",
          "materialGroupId",
          "materialType",
          "priority",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Material group membership linking materials to groups"
      },
      "MaterialInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "type": {
            "type": "string"
          },
          "brand": {
            "type": "string",
            "minLength": 1
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "identifier": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 8
              }
            ]
          },
          "starred": {
            "type": "boolean"
          },
          "pricePer1000g": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          }
        },
        "required": [
          "name",
          "type",
          "brand",
          "tags",
          "filamentUserProfileId",
          "filamentSystemProfileId"
        ]
      },
      "MaterialVariantInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "pricePer1000g": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "color": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^#([A-Fa-f0-9]{8})(;#([A-Fa-f0-9]{8}))*$"
              }
            ]
          },
          "pressureAdvance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number",
                "minimum": 0,
                "maximum": 2
              }
            ]
          }
        },
        "required": [
          "name",
          "tags",
          "filamentUserProfileId",
          "filamentSystemProfileId",
          "materialId",
          "color"
        ]
      },
      "PartialMaterialVariant": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "color": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^#([A-Fa-f0-9]{8})(;#([A-Fa-f0-9]{8}))*$"
              }
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "pricePer1000g": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "pressureAdvance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number",
                "minimum": 0,
                "maximum": 2
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Make all properties in T optional"
      },
      "MaterialGroupInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "parentId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "priority": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "parentId",
          "priority"
        ]
      },
      "PartialMaterialGroup": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "priority": {
            "type": "number",
            "minimum": 0
          },
          "parentId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Make all properties in T optional"
      },
      "MaterialGroupMemberInsert": {
        "type": "object",
        "properties": {
          "priority": {
            "type": "number",
            "minimum": 0
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "materialGroupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          }
        },
        "required": [
          "priority",
          "materialId",
          "variantId",
          "materialGroupId"
        ]
      },
      "MaterialInstance": {
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialType": {
            "type": "string"
          },
          "remainingMaterial": {
            "type": "number",
            "minimum": 0
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "variantId",
          "materialId",
          "materialType",
          "remainingMaterial",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Material instance representing physical spools or cartridges of material"
      },
      "MaterialInstanceInsert": {
        "type": "object",
        "properties": {
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "variantId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialType": {
            "type": "string"
          },
          "remainingMaterial": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "materialId",
          "variantId",
          "materialType",
          "remainingMaterial"
        ]
      },
      "PartialMaterialInstance": {
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "materialType": {
            "type": "string"
          },
          "remainingMaterial": {
            "type": "number",
            "minimum": 0
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Make all properties in T optional"
      },
      "printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedmaterialTypestringfilamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedvariantIdnullundefinedmaterialIdnullundefinedinstanceIdnullundefined...": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "visualSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisualSlot"
            }
          },
          "setOnPrinter": {
            "type": "boolean"
          },
          "materialType": {
            "type": "string"
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "variantId": {
            "type": "null"
          },
          "materialId": {
            "type": "null"
          },
          "instanceId": {
            "type": "null"
          }
        },
        "required": [
          "printerIds",
          "visualSlots",
          "materialType"
        ]
      },
      "VisualSlot": {
        "type": "object",
        "properties": {
          "amsIndex": {
            "type": "number"
          },
          "slotIndex": {
            "type": "number"
          }
        },
        "required": [
          "amsIndex",
          "slotIndex"
        ],
        "description": "Visual slot position - represents what the user selected in the UI.\namsIndex: -1 for spool, 0+ for AMS array index\nslotIndex: slot within AMS, or spool index for multiple spools"
      },
      "printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedinstanceIdCuid2filamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedvariantIdnullundefinedmaterialIdnullundefinedmaterialTypenullundefined": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "visualSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisualSlot"
            }
          },
          "setOnPrinter": {
            "type": "boolean"
          },
          "instanceId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "variantId": {
            "type": "null"
          },
          "materialId": {
            "type": "null"
          },
          "materialType": {
            "type": "null"
          }
        },
        "required": [
          "printerIds",
          "visualSlots",
          "instanceId"
        ]
      },
      "printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedvariantIdCuid2filamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedinstanceIdnullundefinedmaterialIdnullundefinedmaterialTypenullundefined": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "visualSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisualSlot"
            }
          },
          "setOnPrinter": {
            "type": "boolean"
          },
          "variantId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "instanceId": {
            "type": "null"
          },
          "materialId": {
            "type": "null"
          },
          "materialType": {
            "type": "null"
          }
        },
        "required": [
          "printerIds",
          "visualSlots",
          "variantId"
        ]
      },
      "printerIdsCuid2visualSlotsVisualSlotsetOnPrinterbooleanundefinedmaterialIdCuid2filamentUserProfileIdCuid2nullundefinedfilamentSystemProfileIdnumber...1more...undefinedinstanceIdnullundefinedvariantIdnullundefinedmaterialTypenullundefined": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "visualSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisualSlot"
            }
          },
          "setOnPrinter": {
            "type": "boolean"
          },
          "materialId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "instanceId": {
            "type": "null"
          },
          "variantId": {
            "type": "null"
          },
          "materialType": {
            "type": "null"
          }
        },
        "required": [
          "printerIds",
          "visualSlots",
          "materialId"
        ]
      },
      "MaterialProfileAssignment": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "userProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "systemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "modelId",
          "nozzleDiameter",
          "materialId",
          "variantId",
          "userProfileId",
          "systemProfileId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "modelIdstringnozzleDiameterstringuserProfileIdnullundefinedsystemProfileIdnumber": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string"
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "userProfileId": {
            "type": "null"
          },
          "systemProfileId": {
            "type": "number"
          }
        },
        "required": [
          "modelId",
          "nozzleDiameter",
          "systemProfileId"
        ]
      },
      "modelIdstringnozzleDiameterstringuserProfileIdCuid2systemProfileIdnullundefined": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string"
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "userProfileId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "systemProfileId": {
            "type": "null"
          }
        },
        "required": [
          "modelId",
          "nozzleDiameter",
          "userProfileId"
        ]
      },
      "ClearMaterialProfileRequest": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string"
          },
          "nozzleDiameter": {
            "type": "string"
          }
        },
        "required": [
          "modelId",
          "nozzleDiameter"
        ]
      },
      "UpdateMaterialRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "identifier": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "filamentUserProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "filamentSystemProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "starred": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown",
            "description": "Custom fields. Hand-written DTO, so this has to be listed explicitly —\nthe body is pruned to this shape before the service ever sees it."
          }
        }
      },
      "namestringundefinedmaterialIdstringundefinedcolorstringundefinedtagsstringundefinedfilamentUserProfileIdstringundefinedfilamentSystemProfileIdstringundefined...8more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "materialId": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "tags": {
            "type": "string"
          },
          "filamentUserProfileId": {
            "type": "string"
          },
          "filamentSystemProfileId": {
            "type": "string"
          },
          "pricePer1000g": {
            "type": "string"
          },
          "pressureAdvance": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoMaterialVariant": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionMaterialVariant",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionMaterialVariant": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionMaterialVariant"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionMaterialVariant"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "color": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "tags": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "filamentUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "filamentSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "pricePer1000g": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "pressureAdvance": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "modelIdstringundefinednozzleDiameterstringundefinedmaterialIdstringundefinedvariantIdstringundefineduserProfileIdstringundefinedsystemProfileIdstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringu...": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "string"
          },
          "nozzleDiameter": {
            "type": "string"
          },
          "materialId": {
            "type": "string"
          },
          "variantId": {
            "type": "string"
          },
          "userProfileId": {
            "type": "string"
          },
          "systemProfileId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoMaterialProfileAssignment": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionMaterialProfileAssignment",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionMaterialProfileAssignment": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionMaterialProfileAssignment"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionMaterialProfileAssignment"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "modelId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "nozzleDiameter": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "variantId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "userProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "systemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "printerIdstringundefinedmaterialIdstringundefinedvariantIdstringundefinedinstanceIdstringundefinedmaterialTypestringundefinedexpectedDatastringundefined...9more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string"
          },
          "materialId": {
            "type": "string"
          },
          "variantId": {
            "type": "string"
          },
          "instanceId": {
            "type": "string"
          },
          "materialType": {
            "type": "string"
          },
          "expectedData": {
            "type": "string"
          },
          "expectedDataSetAt": {
            "type": "string"
          },
          "amsIndex": {
            "type": "string",
            "description": "Visual slot position: -1 for spool, 0+ for AMS array index"
          },
          "slotIndex": {
            "type": "string",
            "description": "Slot within AMS, or spool index for multiple spools"
          },
          "slot": {
            "type": "string",
            "deprecated": true
          },
          "filamentUserProfileId": {
            "type": "string"
          },
          "filamentSystemProfileId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPrinterSlot": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPrinterSlot",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPrinterSlot": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrinterSlot"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrinterSlot"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "printerId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "variantId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "instanceId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "expectedData": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "expectedDataSetAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "amsIndex": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Visual slot position: -1 for spool, 0+ for AMS array index"
          },
          "slotIndex": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Slot within AMS, or spool index for multiple spools"
          },
          "slot": {
            "$ref": "#/components/schemas/FieldOperators",
            "deprecated": true
          },
          "filamentUserProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "filamentSystemProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "idstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedgroupIdstringundefinedvariantIdstringundefined...4more...prioritystringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "variantId": {
            "type": "string"
          },
          "materialId": {
            "type": "string"
          },
          "materialType": {
            "type": "string"
          },
          "partId": {
            "type": "string"
          },
          "index": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPartMaterialAssignment": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPartMaterialAssignment",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPartMaterialAssignment": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPartMaterialAssignment"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPartMaterialAssignment"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "groupId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "variantId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "index": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "priority": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "PartMetadata": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string"
          },
          "metadata3mf": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Metadata3MF"
              }
            ]
          },
          "slicingEstimate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SlicingEstimate"
              }
            ]
          },
          "inputHash": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "dimensions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartDimensions"
              }
            ]
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "partId",
          "metadata3mf",
          "slicingEstimate",
          "inputHash",
          "dimensions",
          "storeId",
          "updatedAt",
          "createdAt"
        ]
      },
      "PartDimensions": {
        "type": "object",
        "properties": {
          "source": {
            "oneOf": [
              {
                "const": "file"
              },
              {
                "const": "parametric-build"
              }
            ]
          },
          "plates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlateDimensions"
            }
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectDimensions"
            }
          },
          "world": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Combined world-space AABB across every object in the file"
          }
        },
        "required": [
          "source",
          "plates",
          "objects",
          "world"
        ],
        "description": "Geometry dimensions for a part file. For 3MFs this is the (trimmed)\ncompute3MFDimensions result; STL and parametric outputs populate a single\nobject/world box. `source` records how the value was derived —\n'parametric-build' entries are best-effort fallbacks (output varies with\nbuild parameters)."
      },
      "PlateDimensions": {
        "type": "object",
        "properties": {
          "plateId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "origin": {
            "$ref": "#/components/schemas/Vec3",
            "description": "World-space origin of this plate's bed front-left corner, if known or inferred"
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectDimensions"
            }
          },
          "world": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Combined world-space AABB of all objects on this plate"
          },
          "plateLocal": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Combined AABB with each plate's own origin as (0,0,0) — only set if origin is known"
          }
        },
        "required": [
          "plateId",
          "objects",
          "world"
        ]
      },
      "Vec3": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "z": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y",
          "z"
        ]
      },
      "ObjectDimensions": {
        "type": "object",
        "properties": {
          "objectId": {
            "type": "string",
            "description": "objectid of the top-level build item in /3D/3dmodel.model"
          },
          "name": {
            "type": "string",
            "description": "Display name from model_settings.config, if any"
          },
          "componentPath": {
            "type": "string",
            "description": "Path to the component .model file holding the mesh, e.g. \"/3D/Objects/Cube_1.model\""
          },
          "local": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box in the object's own mesh coordinates (before any transform)"
          },
          "world": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box in world (build-plate-layout) coordinates after build-item + component transforms"
          },
          "plateId": {
            "type": "number",
            "description": "Plate this object is assigned to, if determinable from model_settings.config"
          },
          "plateLocal": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box relative to this object's plate origin (only set if plate origin is known)"
          }
        },
        "required": [
          "objectId",
          "componentPath",
          "local",
          "world"
        ]
      },
      "BoundingBox": {
        "type": "object",
        "properties": {
          "min": {
            "$ref": "#/components/schemas/Vec3"
          },
          "max": {
            "$ref": "#/components/schemas/Vec3"
          },
          "size": {
            "$ref": "#/components/schemas/Vec3"
          },
          "center": {
            "$ref": "#/components/schemas/Vec3"
          }
        },
        "required": [
          "min",
          "max",
          "size",
          "center"
        ]
      },
      "SkuOptionValue": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "optionId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuSuffixes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "order": {
            "type": "number"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "optionId",
          "order",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "CreateSkuOptionValueRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "skuSuffixes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "optionId"
        ]
      },
      "UpdateSkuOptionValueRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "skuSuffixes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ReorderSkuOptionValueRequest": {
        "type": "object",
        "properties": {
          "optionValueId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "newOrder": {
            "type": "number"
          }
        },
        "required": [
          "optionValueId",
          "newOrder"
        ]
      },
      "SkuOptionProperty": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "bindingId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "bindingId2": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "bindingId3": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "type": {
            "oneOf": [
              {
                "const": "text"
              },
              {
                "const": "material"
              },
              {
                "const": "plate_quantities"
              }
            ]
          },
          "order": {
            "type": "number"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "optionId",
          "name",
          "type",
          "order",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "CreateSkuOptionPropertyRequest": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "bindingId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "For local properties: primary source binding (null = global property)"
          },
          "bindingId2": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "For compound local properties: 2nd source binding"
          },
          "bindingId3": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "For compound local properties: 3rd source binding"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "oneOf": [
              {
                "const": "text"
              },
              {
                "const": "material"
              },
              {
                "const": "plate_quantities"
              }
            ]
          }
        },
        "required": [
          "optionId",
          "name",
          "type"
        ]
      },
      "UpdateSkuOptionPropertyRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "ReorderSkuOptionPropertyRequest": {
        "type": "object",
        "properties": {
          "propertyId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "newOrder": {
            "type": "number"
          }
        },
        "required": [
          "propertyId",
          "newOrder"
        ]
      },
      "SkuOptionPropertyValue": {
        "type": "object",
        "properties": {
          "propertyId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "optionValueId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "optionValueId2": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "optionValueId3": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "textValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "materialValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "groupId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "groupId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "variantId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "variantId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "materialId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "materialId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "materialType": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "materialType"
                      ]
                    }
                  ]
                }
              }
            ]
          },
          "plateQuantitiesValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringnumber"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "propertyId",
          "optionValueId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "BulkCreatePropertyValuesRequest": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateSkuOptionPropertyValueRequest"
            }
          }
        },
        "required": [
          "values"
        ]
      },
      "CreateSkuOptionPropertyValueRequest": {
        "type": "object",
        "properties": {
          "optionValueId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$",
            "description": "Value from bindingId's option (always required)"
          },
          "optionValueId2": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Value from bindingId2's option (required if property has bindingId2)"
          },
          "optionValueId3": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Value from bindingId3's option (required if property has bindingId3)"
          },
          "propertyId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "textValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "materialValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "groupId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "groupId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "variantId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "variantId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "materialId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "materialId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "materialType": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "materialType"
                      ]
                    }
                  ]
                }
              }
            ]
          },
          "plateQuantitiesValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringnumber"
              }
            ]
          }
        },
        "required": [
          "optionValueId",
          "propertyId"
        ]
      },
      "BulkUpdatePropertyValuesRequest": {
        "type": "object",
        "properties": {
          "updates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateSkuOptionPropertyValueRequest"
            }
          }
        },
        "required": [
          "updates"
        ]
      },
      "UpdateSkuOptionPropertyValueRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "textValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "materialValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "groupId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "groupId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "variantId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "variantId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "materialId": {
                          "type": "string",
                          "pattern": "^[a-z0-9]{24}$"
                        }
                      },
                      "required": [
                        "materialId"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "materialType": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "materialType"
                      ]
                    }
                  ]
                }
              }
            ]
          },
          "plateQuantitiesValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringnumber"
              }
            ]
          }
        },
        "required": [
          "id"
        ]
      },
      "BulkDeleteRequest": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          }
        },
        "required": [
          "ids"
        ]
      },
      "SkuOption": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "isPersonalization": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "isPersonalization",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "namestringundefinedisPersonalizationstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "isPersonalization": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoSkuOption": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionSkuOption",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionSkuOption": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSkuOption"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSkuOption"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isPersonalization": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SkuOptionBinding": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "skuId": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "filterMode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "inclusion"
              },
              {
                "const": "exclusion"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "optionId",
          "skuId",
          "order",
          "filterMode",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "CreateSkuOptionBindingRequest": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          }
        },
        "required": [
          "optionId",
          "skuId"
        ]
      },
      "UpdateSkuOptionBindingRequest": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "order": {
            "type": "number"
          },
          "filterMode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "inclusion"
              },
              {
                "const": "exclusion"
              }
            ]
          }
        }
      },
      "ReorderSkuOptionBindingRequest": {
        "type": "object",
        "properties": {
          "bindingId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "newOrder": {
            "type": "number"
          }
        },
        "required": [
          "bindingId",
          "newOrder"
        ]
      },
      "CreateSkuOptionRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "isPersonalization": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "isPersonalization"
        ]
      },
      "UpdateSkuOptionRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "SkuOptionValueFilter": {
        "type": "object",
        "properties": {
          "bindingId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "skuId": {
            "type": "string"
          },
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "optionValueId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "bindingId",
          "skuId",
          "optionId",
          "optionValueId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "SetFilteredValuesRequest": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "valueIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "filterMode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "inclusion"
              },
              {
                "const": "exclusion"
              }
            ]
          }
        },
        "required": [
          "skuId",
          "optionId",
          "valueIds",
          "filterMode"
        ]
      },
      "SkuMatchResult": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "sku": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SkuMatchOptionResult"
            }
          }
        },
        "required": [
          "skuId",
          "sku",
          "options"
        ]
      },
      "SkuMatchOptionResult": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "optionName": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "valueId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "suffix": {
            "type": "string"
          }
        },
        "required": [
          "optionId",
          "optionName",
          "value",
          "valueId",
          "suffix"
        ]
      },
      "CostComponent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "type": {
            "oneOf": [
              {
                "const": "material"
              },
              {
                "const": "labor"
              },
              {
                "const": "overhead"
              }
            ]
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "unit",
          "rate",
          "type",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "idstringundefinednamestringundefinedunitstringundefinedratestringundefinedtypestringundefineddescriptionstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "rate": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoCostComponent": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionCostComponent",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionCostComponent": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCostComponent"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCostComponent"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "unit": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "rate": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "description": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "Partial__type.o16": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "oneOf": [
              {
                "const": "material"
              },
              {
                "const": "labor"
              },
              {
                "const": "overhead"
              }
            ]
          },
          "unit": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Make all properties in T optional"
      },
      "SkuCost": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "costComponentId": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "skuId",
          "costComponentId",
          "quantity",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "idstringundefinedskuIdstringundefinedcostComponentIdstringundefinedquantitystringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "costComponentId": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoSkuCost": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionSkuCost",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionSkuCost": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSkuCost"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSkuCost"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "costComponentId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantity": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SkuCostWithComponent": {
        "type": "object",
        "properties": {
          "component": {
            "$ref": "#/components/schemas/CostComponent"
          },
          "id": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "costComponentId": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "component",
          "id",
          "skuId",
          "costComponentId",
          "quantity",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "CostBreakdown": {
        "type": "object",
        "properties": {
          "materials": {
            "type": "number"
          },
          "labor": {
            "type": "number"
          },
          "overhead": {
            "type": "number"
          },
          "total": {
            "type": "number"
          }
        },
        "required": [
          "materials",
          "labor",
          "overhead",
          "total"
        ]
      },
      "Partial__type.o17": {
        "type": "object",
        "properties": {
          "skuId": {
            "type": "string"
          },
          "costComponentId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "quantity": {
            "type": "number"
          }
        },
        "description": "Make all properties in T optional"
      },
      "CustomMetadataDefinition": {
        "type": "object",
        "properties": {
          "entityType": {
            "oneOf": [
              {
                "const": "order"
              },
              {
                "const": "sku"
              },
              {
                "const": "printer"
              },
              {
                "const": "part"
              },
              {
                "const": "material"
              },
              {
                "const": "materialVariant"
              },
              {
                "const": "printJob"
              },
              {
                "const": "partBuild"
              },
              {
                "const": "profile"
              },
              {
                "const": "materialInstance"
              },
              {
                "const": "maintenanceItem"
              },
              {
                "const": "customer"
              },
              {
                "const": "orderItem"
              },
              {
                "const": "folder"
              }
            ]
          },
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "valueType": {
            "oneOf": [
              {
                "const": "string"
              },
              {
                "const": "number"
              },
              {
                "const": "boolean"
              },
              {
                "const": "enum"
              },
              {
                "const": "datetime"
              }
            ]
          },
          "enumValues": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "unit": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "defaultValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "description": "Written into a record's `customMetadata` when that record is created, so\nthe field is on every new record of its type. This is the only way a\ndefinition puts itself on a record: a field with no value is not listed,\nbecause a row the record does not carry is a row that lies about it.\nNever applied to records that already exist."
          },
          "defaultToNow": {
            "type": "boolean",
            "description": "Date/time fields only, and the only default they can carry: the value is\nthe moment the record was created. A fixed date is almost never the right\ndefault, and there is no way to express \"now\" as a literal."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "entityType",
          "key",
          "label",
          "valueType",
          "enumValues",
          "unit",
          "defaultValue",
          "defaultToNow",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "entityTypestringundefinedkeystringundefinedlabelstringundefinedvalueTypestringundefinedenumValuesstringundefinedunitstringundefined...5more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "valueType": {
            "type": "string"
          },
          "enumValues": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "defaultValue": {
            "type": "string",
            "description": "Written into a record's `customMetadata` when that record is created, so\nthe field is on every new record of its type. This is the only way a\ndefinition puts itself on a record: a field with no value is not listed,\nbecause a row the record does not carry is a row that lies about it.\nNever applied to records that already exist."
          },
          "defaultToNow": {
            "type": "string",
            "description": "Date/time fields only, and the only default they can carry: the value is\nthe moment the record was created. A fixed date is almost never the right\ndefault, and there is no way to express \"now\" as a literal."
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoCustomMetadataDefinition": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionCustomMetadataDefinition",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionCustomMetadataDefinition": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCustomMetadataDefinition"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCustomMetadataDefinition"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "entityType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "key": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "label": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "valueType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "enumValues": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "unit": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "defaultValue": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Written into a record's `customMetadata` when that record is created, so\nthe field is on every new record of its type. This is the only way a\ndefinition puts itself on a record: a field with no value is not listed,\nbecause a row the record does not carry is a row that lies about it.\nNever applied to records that already exist."
          },
          "defaultToNow": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Date/time fields only, and the only default they can carry: the value is\nthe moment the record was created. A fixed date is almost never the right\ndefault, and there is no way to express \"now\" as a literal."
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "CustomMetadataUsageResponse": {
        "type": "object",
        "properties": {
          "definitionUsage": {
            "$ref": "#/components/schemas/Recordstring__type.o1",
            "title": "How many rows hold a value for each defined key, by definition id",
            "description": "How many rows hold a value for each defined key, by definition id."
          }
        },
        "required": [
          "definitionUsage"
        ]
      },
      "Recordstring__type.o1": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "type": "object",
          "properties": {
            "set": {
              "type": "number"
            },
            "total": {
              "type": "number"
            }
          },
          "required": [
            "set",
            "total"
          ]
        }
      },
      "CustomMetadataUsageQuery": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string"
          }
        }
      },
      "CustomMetadataCoercionReport": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "title": "Rows of this entity type currently holding a value for the key",
            "description": "Rows of this entity type currently holding a value for the key."
          },
          "incompatibleTotal": {
            "type": "number",
            "description": "How many of those cannot be represented as the target type — counted over\nevery matching row, not over the sample below."
          },
          "incompatible": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "value": {}
              },
              "required": [
                "id",
                "value"
              ]
            },
            "title": "A capped sample of the offending rows, for naming them in the dialog",
            "description": "A capped sample of the offending rows, for naming them in the dialog."
          }
        },
        "required": [
          "total",
          "incompatibleTotal",
          "incompatible"
        ]
      },
      "CustomMetadataPreviewQuery": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "valueType": {
            "type": "string"
          },
          "enumValues": {
            "type": "string"
          }
        },
        "required": [
          "entityType",
          "key",
          "valueType"
        ]
      },
      "CreateCustomMetadataDefinitionRequest": {
        "type": "object",
        "properties": {
          "enumValues": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "label": {
            "type": "string"
          },
          "entityType": {
            "oneOf": [
              {
                "const": "order"
              },
              {
                "const": "sku"
              },
              {
                "const": "printer"
              },
              {
                "const": "part"
              },
              {
                "const": "material"
              },
              {
                "const": "materialVariant"
              },
              {
                "const": "printJob"
              },
              {
                "const": "partBuild"
              },
              {
                "const": "profile"
              },
              {
                "const": "materialInstance"
              },
              {
                "const": "maintenanceItem"
              },
              {
                "const": "customer"
              },
              {
                "const": "orderItem"
              },
              {
                "const": "folder"
              }
            ]
          },
          "unit": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "key": {
            "type": "string"
          },
          "valueType": {
            "oneOf": [
              {
                "const": "string"
              },
              {
                "const": "number"
              },
              {
                "const": "boolean"
              },
              {
                "const": "enum"
              },
              {
                "const": "datetime"
              }
            ]
          },
          "defaultValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "defaultToNow": {
            "type": "boolean"
          },
          "clearIncompatibleValues": {
            "type": "boolean",
            "description": "Drop values that cannot be represented as `valueType` instead of\nrefusing to define the field. The client shows the offending rows first."
          }
        },
        "required": [
          "enumValues",
          "label",
          "entityType",
          "unit",
          "key",
          "valueType"
        ]
      },
      "UpdateCustomMetadataDefinitionRequest": {
        "type": "object",
        "properties": {
          "enumValues": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "label": {
            "type": "string"
          },
          "unit": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "valueType": {
            "oneOf": [
              {
                "const": "string"
              },
              {
                "const": "number"
              },
              {
                "const": "boolean"
              },
              {
                "const": "enum"
              },
              {
                "const": "datetime"
              }
            ]
          },
          "defaultValue": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "defaultToNow": {
            "type": "boolean"
          },
          "clearIncompatibleValues": {
            "type": "boolean"
          }
        }
      },
      "CustomMetadataValueResponse": {
        "type": "object",
        "properties": {
          "entityType": {
            "oneOf": [
              {
                "const": "order"
              },
              {
                "const": "sku"
              },
              {
                "const": "printer"
              },
              {
                "const": "part"
              },
              {
                "const": "material"
              },
              {
                "const": "materialVariant"
              },
              {
                "const": "printJob"
              },
              {
                "const": "partBuild"
              },
              {
                "const": "profile"
              },
              {
                "const": "materialInstance"
              },
              {
                "const": "maintenanceItem"
              },
              {
                "const": "customer"
              },
              {
                "const": "orderItem"
              },
              {
                "const": "folder"
              }
            ]
          },
          "entityId": {
            "type": "string"
          },
          "mode": {
            "oneOf": [
              {
                "const": "replace"
              },
              {
                "const": "merge"
              }
            ],
            "title": "Which rule the write followed",
            "description": "Which rule the write followed."
          },
          "customMetadata": {
            "$ref": "#/components/schemas/CustomMetadataValues",
            "title": "The record's custom fields as they stand after the write",
            "description": "The record's custom fields as they stand after the write."
          }
        },
        "required": [
          "entityType",
          "entityId",
          "mode",
          "customMetadata"
        ]
      },
      "CustomMetadataValuesRequest": {
        "type": "object",
        "properties": {
          "customMetadata": {
            "$ref": "#/components/schemas/CustomMetadataValues",
            "description": "The custom fields to write. Values are strings, numbers or booleans; a\n`null` clears the field."
          }
        },
        "required": [
          "customMetadata"
        ]
      },
      "BatchCustomMetadataValuesResponse": {
        "type": "object",
        "properties": {
          "entityType": {
            "oneOf": [
              {
                "const": "order"
              },
              {
                "const": "sku"
              },
              {
                "const": "printer"
              },
              {
                "const": "part"
              },
              {
                "const": "material"
              },
              {
                "const": "materialVariant"
              },
              {
                "const": "printJob"
              },
              {
                "const": "partBuild"
              },
              {
                "const": "profile"
              },
              {
                "const": "materialInstance"
              },
              {
                "const": "maintenanceItem"
              },
              {
                "const": "customer"
              },
              {
                "const": "orderItem"
              },
              {
                "const": "folder"
              }
            ]
          },
          "mode": {
            "oneOf": [
              {
                "const": "replace"
              },
              {
                "const": "merge"
              }
            ],
            "title": "Which rule the write followed",
            "description": "Which rule the write followed."
          },
          "updated": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomMetadataValuesEntry"
            },
            "description": "Every record written, in the order submitted, each with its custom fields\nas they stand after the write."
          }
        },
        "required": [
          "entityType",
          "mode",
          "updated"
        ]
      },
      "CustomMetadataValuesEntry": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/CustomMetadataValues"
          }
        },
        "required": [
          "entityId",
          "customMetadata"
        ],
        "description": "One record's write: the id and the document to merge into it or replace it with."
      },
      "BatchCustomMetadataValuesRequest": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomMetadataValuesItem"
            },
            "description": "The records to write, each with its own custom fields. Up to 200 per call;\nan id may appear once. Every record must exist, or the whole call is\nrejected and nothing is written."
          }
        },
        "required": [
          "items"
        ]
      },
      "CustomMetadataValuesItem": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string",
            "title": "The id of the record, of the type named in the path",
            "description": "The id of the record, of the type named in the path."
          },
          "customMetadata": {
            "$ref": "#/components/schemas/CustomMetadataValues",
            "description": "The custom fields to write. Values are strings, numbers or booleans; a\n`null` clears the field."
          }
        },
        "required": [
          "entityId",
          "customMetadata"
        ],
        "description": "One record in a batch write. Each carries its own document, so one call can\ngive every row a different value as well as stamp the same one across all."
      },
      "RecordstringRecordstringApiHint": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/RecordstringApiHint"
        }
      },
      "RecordstringApiHint": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/ApiHint"
        }
      },
      "ApiHint": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "title": "Action",
            "description": "Short name of the action"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "description": "Human-readable description of what this action does"
          },
          "method": {
            "oneOf": [
              {
                "const": "DELETE"
              },
              {
                "const": "PUT"
              },
              {
                "const": "POST"
              },
              {
                "const": "GET"
              },
              {
                "const": "PATCH"
              }
            ],
            "title": "Method",
            "description": "HTTP method for this action"
          },
          "path": {
            "type": "string",
            "title": "Path",
            "description": "API path template. Use {id} for entity ID placeholders."
          },
          "bodySchema": {
            "$ref": "#/components/schemas/Recordstringany",
            "title": "Body Schema",
            "description": "Example or schema of the request body (for POST/PATCH)"
          },
          "condition": {
            "type": "string",
            "title": "Condition",
            "description": "When this hint applies (e.g., \"when part has type gcode3mf\")"
          }
        },
        "required": [
          "action",
          "description",
          "method",
          "path"
        ],
        "title": "API Hint",
        "description": "A hint for AI agents about available actions"
      },
      "object": {
        "type": "object",
        "properties": {}
      },
      "FieldChange": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "oldValue": {},
          "newValue": {}
        },
        "required": [
          "field",
          "oldValue",
          "newValue"
        ],
        "description": "Represents a change to a single field in an entity."
      },
      "sourcestringundefinedmetadatastringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedentityTypestringundefined...13more...reasonstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "metadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "entityIds": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "detailedAction": {
            "type": "string"
          },
          "changes": {
            "type": "string"
          },
          "actorId": {
            "type": "string"
          },
          "actorType": {
            "type": "string"
          },
          "actorEmail": {
            "type": "string"
          },
          "apiKeyId": {
            "type": "string"
          },
          "impersonatedBy": {
            "type": "string"
          },
          "correlationId": {
            "type": "string"
          },
          "ipAddress": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          },
          "entityIdSearch": {
            "type": "string"
          }
        }
      },
      "SearchQueryDto__type": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterCondition__type",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterCondition__type": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterCondition__type"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterCondition__type"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "metadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "entityType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "entityId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "entityIds": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "action": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "detailedAction": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "changes": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "actorId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "actorType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "actorEmail": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "apiKeyId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "impersonatedBy": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "correlationId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "ipAddress": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "userAgent": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "reason": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "GetUserSettingsResponse": {
        "type": "object",
        "properties": {
          "defaultStoreId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "defaultStoreId"
        ]
      },
      "UpdateUserSettingsRequest": {
        "type": "object",
        "properties": {
          "defaultStoreId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        }
      },
      "MaintenanceItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "triggerType": {
            "oneOf": [
              {
                "const": "print_hours"
              },
              {
                "const": "calendar_days"
              },
              {
                "const": "job_count"
              }
            ]
          },
          "interval": {
            "type": "number"
          },
          "warningThresholdPct": {
            "type": "number"
          },
          "notes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "isSystemDefault": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "triggerType",
          "interval",
          "warningThresholdPct",
          "notes",
          "isSystemDefault",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "MaintenanceItemInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "triggerType": {
            "oneOf": [
              {
                "const": "print_hours"
              },
              {
                "const": "calendar_days"
              },
              {
                "const": "job_count"
              }
            ]
          },
          "interval": {
            "type": "number"
          },
          "warningThresholdPct": {
            "type": "number"
          },
          "notes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "isSystemDefault": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "triggerType",
          "interval",
          "warningThresholdPct",
          "notes",
          "isSystemDefault"
        ]
      },
      "PartialPickMaintenanceItemnamecustomMetadatatriggerTypeintervalwarningThresholdPctnotes": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "triggerType": {
            "oneOf": [
              {
                "const": "print_hours"
              },
              {
                "const": "calendar_days"
              },
              {
                "const": "job_count"
              }
            ]
          },
          "interval": {
            "type": "number"
          },
          "warningThresholdPct": {
            "type": "number"
          },
          "notes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "description": "Make all properties in T optional"
      },
      "MaintenanceStatusInfo": {
        "type": "object",
        "properties": {
          "enrollmentId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "maintenanceItemId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printerName": {
            "type": "string"
          },
          "itemName": {
            "type": "string"
          },
          "triggerType": {
            "oneOf": [
              {
                "const": "print_hours"
              },
              {
                "const": "calendar_days"
              },
              {
                "const": "job_count"
              }
            ]
          },
          "interval": {
            "type": "number"
          },
          "elapsed": {
            "type": "number"
          },
          "progress": {
            "type": "number"
          },
          "status": {
            "oneOf": [
              {
                "const": "OK"
              },
              {
                "const": "DUE_SOON"
              },
              {
                "const": "OVERDUE"
              }
            ]
          },
          "warningThresholdPct": {
            "type": "number"
          },
          "lastCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "lastCompletedBy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "enrollmentId",
          "printerId",
          "maintenanceItemId",
          "printerName",
          "itemName",
          "triggerType",
          "interval",
          "elapsed",
          "progress",
          "status",
          "warningThresholdPct",
          "lastCompletedAt",
          "lastCompletedBy"
        ],
        "description": "Runtime-computed status — never stored in the database"
      },
      "PrinterMaintenanceEnrollment": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "maintenanceItemId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "currentOffset": {
            "type": "number"
          },
          "hoursAtLastCompletion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "jobsAtLastCompletion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "lastCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "lastCompletedBy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "lastNotifiedStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "printerId",
          "maintenanceItemId",
          "currentOffset",
          "hoursAtLastCompletion",
          "jobsAtLastCompletion",
          "lastCompletedAt",
          "lastCompletedBy",
          "lastNotifiedStatus",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "MaintenanceCompletionLog": {
        "type": "object",
        "properties": {
          "enrollmentId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "maintenanceItemId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedBy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "hoursAtCompletion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "jobsAtCompletion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "notes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "enrollmentId",
          "printerId",
          "maintenanceItemId",
          "completedAt",
          "completedBy",
          "hoursAtCompletion",
          "jobsAtCompletion",
          "notes",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "RecordstringRecordstringnumber": {
        "type": "object",
        "properties": {},
        "description": "Construct a type with a set of properties K of type T",
        "additionalProperties": {
          "$ref": "#/components/schemas/Recordstringnumber"
        }
      },
      "PrinterThrottleGroup": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "maxConcurrentStarts": {
            "type": "number"
          },
          "releaseConditions": {
            "$ref": "#/components/schemas/PrinterThrottleReleaseConditions"
          },
          "fallbackTimeoutSeconds": {
            "type": "number"
          },
          "temperatureToleranceC": {
            "type": "number"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "enabled",
          "maxConcurrentStarts",
          "releaseConditions",
          "fallbackTimeoutSeconds",
          "temperatureToleranceC",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "PrinterThrottleReleaseConditions": {
        "type": "object",
        "properties": {
          "bed": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PrinterThrottleTemperatureCondition"
              }
            ]
          },
          "nozzle": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PrinterThrottleTemperatureCondition"
              }
            ]
          },
          "duration": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PrinterThrottleDurationCondition"
              }
            ]
          }
        }
      },
      "PrinterThrottleTemperatureCondition": {
        "type": "object",
        "properties": {
          "mode": {
            "oneOf": [
              {
                "const": "percent-of-target"
              },
              {
                "const": "fixed-temp"
              },
              {
                "const": "first-layer-temp"
              }
            ]
          },
          "percent": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "temperatureC": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          }
        },
        "required": [
          "mode"
        ]
      },
      "PrinterThrottleDurationCondition": {
        "type": "object",
        "properties": {
          "seconds": {
            "type": "number"
          }
        },
        "required": [
          "seconds"
        ]
      },
      "namestringundefinedenabledstringundefinedmaxConcurrentStartsstringundefinedreleaseConditionsstringundefinedfallbackTimeoutSecondsstringundefined...4more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "string"
          },
          "maxConcurrentStarts": {
            "type": "string"
          },
          "releaseConditions": {
            "type": "string"
          },
          "fallbackTimeoutSeconds": {
            "type": "string"
          },
          "temperatureToleranceC": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "PrinterThrottleLease": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printJobId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "taskIdSnapshot": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "releaseConditionsSnapshot": {
            "$ref": "#/components/schemas/PrinterThrottleReleaseConditions"
          },
          "fallbackTimeoutSecondsSnapshot": {
            "type": "number"
          },
          "temperatureToleranceCSnapshot": {
            "type": "number"
          },
          "bedSatisfiedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "nozzleSatisfiedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "durationSatisfiedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "acquiredAt": {
            "type": "string",
            "format": "date-time"
          },
          "warmupStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ],
            "description": "Stamped at send (`PrinterSendJobStep`). Null while the reservation is held\nbut the job has not yet been streamed to the printer. Release conditions\n(temp/duration/fallback) are evaluated relative to this timestamp, so\nslicing dead-time never burns the warmup window. Capacity is unaffected."
          },
          "releasedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "releaseReason": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "all-conditions-satisfied"
              },
              {
                "const": "job-cancelled"
              },
              {
                "const": "job-completed"
              },
              {
                "const": "job-failed"
              },
              {
                "const": "job-unassigned"
              },
              {
                "const": "printer-offline"
              },
              {
                "const": "send-failed"
              },
              {
                "const": "fallback-timeout"
              },
              {
                "const": "claim-stale"
              },
              {
                "const": "manual-release"
              },
              {
                "const": "stale-idle"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "groupId",
          "printerId",
          "printJobId",
          "taskIdSnapshot",
          "releaseConditionsSnapshot",
          "fallbackTimeoutSecondsSnapshot",
          "temperatureToleranceCSnapshot",
          "bedSatisfiedAt",
          "nozzleSatisfiedAt",
          "durationSatisfiedAt",
          "acquiredAt",
          "warmupStartedAt",
          "releasedAt",
          "releaseReason",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A Staggered Start reservation (\"hold\"). Capacity is consumed **at match, not\nat send**: an active hold counts toward its group's `maxConcurrentStarts`\nwhenever `releasedAt IS NULL`, regardless of whether `warmupStartedAt` is set.\n\n`warmupStartedAt` is stamped when the job is actually sent to the printer and\n**only controls when release conditions begin evaluating** — it does NOT gate\ncapacity. This is why slicing on one job can block the next: *an active\nunstamped hold still consumes capacity.*"
      },
      "ListPrinterThrottleLeasesQuery": {
        "type": "object",
        "properties": {
          "includeReleased": {
            "type": "boolean",
            "title": "Include released (historical) holds, not just the active ones",
            "description": "Include released (historical) holds, not just the active ones."
          }
        }
      },
      "PrinterThrottleGroupInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "maxConcurrentStarts": {
            "type": "number"
          },
          "releaseConditions": {
            "$ref": "#/components/schemas/PrinterThrottleReleaseConditions"
          },
          "fallbackTimeoutSeconds": {
            "type": "number"
          },
          "temperatureToleranceC": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "enabled",
          "maxConcurrentStarts",
          "releaseConditions",
          "fallbackTimeoutSeconds",
          "temperatureToleranceC"
        ]
      },
      "PartialPickPrinterThrottleGroupnameenabledmaxConcurrentStartsreleaseConditionsfallbackTimeoutSecondstemperatureToleranceC": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "maxConcurrentStarts": {
            "type": "number"
          },
          "releaseConditions": {
            "$ref": "#/components/schemas/PrinterThrottleReleaseConditions"
          },
          "fallbackTimeoutSeconds": {
            "type": "number"
          },
          "temperatureToleranceC": {
            "type": "number"
          }
        },
        "description": "Make all properties in T optional"
      },
      "PrinterThrottleGroupMember": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "groupId",
          "printerId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "ReplacePrinterThrottleGroupMembersBody": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "printerIds"
        ]
      },
      "PrintHistory": {
        "type": "object",
        "properties": {
          "printJobId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "attemptNumber": {
            "type": "number"
          },
          "taskId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "finalStatus": {
            "oneOf": [
              {
                "const": "pending"
              },
              {
                "const": "assigned"
              },
              {
                "const": "slicing"
              },
              {
                "const": "sliced"
              },
              {
                "const": "finalizing"
              },
              {
                "const": "waiting-for-approval"
              },
              {
                "const": "ready-for-printer"
              },
              {
                "const": "sending-to-printer"
              },
              {
                "const": "printing"
              },
              {
                "const": "paused"
              },
              {
                "const": "completed"
              },
              {
                "const": "failed"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "outcome": {
            "oneOf": [
              {
                "const": "completed"
              },
              {
                "const": "failed"
              },
              {
                "const": "cancelled"
              }
            ]
          },
          "partBuildId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "partName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "label": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "groupId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "quantityIndex": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "quantityTotal": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "printerId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "printerDeviceId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "printerProvider": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "printerName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "printerModelName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "printerVendorName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "queuedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "assignmentStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "assignmentCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingStartedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "printingCompletedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "cancelledAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "endedAt": {
            "type": "string",
            "format": "date-time"
          },
          "printDurationSeconds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "errorMessage": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "materialUsageId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "totalUsed": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "totalUsedGrams": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "usedBySlot": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringnumber"
              }
            ],
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          "usedGramsBySlot": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringnumber"
              }
            ],
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          "slotMaterials": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringany"
              }
            ],
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          "materialMapping": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PrintJobMaterialMapping"
                }
              }
            ]
          },
          "totalLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "completedLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "skippedObjects": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SkipObjectsData"
              }
            ]
          },
          "estimatedPrintTimeSeconds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "estimatedTotalWeightGrams": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "estimatedMaterials": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SlicingMaterialUsage"
                }
              }
            ]
          },
          "slicerVersion": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "overriddenProcessProfileId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "gcodeAnalysisSha256": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "slicedGcodeUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "thumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "coloredThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "cameraThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "timelapseUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "logsUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "gatewayTelemetryUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "fuseTelemetryUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "priority": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "printJobId",
          "attemptNumber",
          "taskId",
          "finalStatus",
          "outcome",
          "partBuildId",
          "partId",
          "partName",
          "skuId",
          "skuName",
          "label",
          "groupId",
          "orderId",
          "orderItemId",
          "quantityIndex",
          "quantityTotal",
          "printerId",
          "printerDeviceId",
          "printerProvider",
          "printerName",
          "printerModelName",
          "printerVendorName",
          "queuedAt",
          "assignmentStartedAt",
          "assignmentCompletedAt",
          "printingStartedAt",
          "printingCompletedAt",
          "cancelledAt",
          "endedAt",
          "printDurationSeconds",
          "errorMessage",
          "materialUsageId",
          "totalUsed",
          "totalUsedGrams",
          "usedBySlot",
          "usedGramsBySlot",
          "slotMaterials",
          "materialMapping",
          "totalLayers",
          "completedLayers",
          "skippedObjects",
          "estimatedPrintTimeSeconds",
          "estimatedTotalWeightGrams",
          "estimatedMaterials",
          "slicerVersion",
          "overriddenProcessProfileId",
          "gcodeAnalysisSha256",
          "slicedGcodeUri",
          "thumbnailUri",
          "coloredThumbnailUri",
          "cameraThumbnailUri",
          "timelapseUri",
          "logsUri",
          "gatewayTelemetryUri",
          "fuseTelemetryUri",
          "priority",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Immutable, append-only ledger of finished print attempts\n(see `sql/print-history.sql.ts` for the table and why each column exists).\n\nHand-written rather than inferred from the Drizzle table because typia cannot\nreflect the keys of an inferred type: a `SearchQueryDto<T>` built on one\ncompiles to a validator that prunes every filter key, so search filters are\nsilently dropped and every row is returned."
      },
      "printJobIdstringundefinedattemptNumberstringundefinedtaskIdstringundefinedfinalStatusstringundefinedoutcomestringundefinedpartBuildIdstringundefined...53more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "printJobId": {
            "type": "string"
          },
          "attemptNumber": {
            "type": "string"
          },
          "taskId": {
            "type": "string"
          },
          "finalStatus": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "partBuildId": {
            "type": "string"
          },
          "partId": {
            "type": "string"
          },
          "partName": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "skuName": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "orderItemId": {
            "type": "string"
          },
          "quantityIndex": {
            "type": "string"
          },
          "quantityTotal": {
            "type": "string"
          },
          "printerId": {
            "type": "string"
          },
          "printerDeviceId": {
            "type": "string"
          },
          "printerProvider": {
            "type": "string"
          },
          "printerName": {
            "type": "string"
          },
          "printerModelName": {
            "type": "string"
          },
          "printerVendorName": {
            "type": "string"
          },
          "queuedAt": {
            "type": "string"
          },
          "assignmentStartedAt": {
            "type": "string"
          },
          "assignmentCompletedAt": {
            "type": "string"
          },
          "printingStartedAt": {
            "type": "string"
          },
          "printingCompletedAt": {
            "type": "string"
          },
          "cancelledAt": {
            "type": "string"
          },
          "endedAt": {
            "type": "string"
          },
          "printDurationSeconds": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "materialUsageId": {
            "type": "string"
          },
          "totalUsed": {
            "type": "string"
          },
          "totalUsedGrams": {
            "type": "string"
          },
          "usedBySlot": {
            "type": "string",
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          "usedGramsBySlot": {
            "type": "string",
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          "slotMaterials": {
            "type": "string",
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          "materialMapping": {
            "type": "string"
          },
          "totalLayers": {
            "type": "string"
          },
          "completedLayers": {
            "type": "string"
          },
          "skippedObjects": {
            "type": "string"
          },
          "estimatedPrintTimeSeconds": {
            "type": "string"
          },
          "estimatedTotalWeightGrams": {
            "type": "string"
          },
          "estimatedMaterials": {
            "type": "string"
          },
          "slicerVersion": {
            "type": "string"
          },
          "overriddenProcessProfileId": {
            "type": "string"
          },
          "gcodeAnalysisSha256": {
            "type": "string"
          },
          "slicedGcodeUri": {
            "type": "string"
          },
          "thumbnailUri": {
            "type": "string"
          },
          "coloredThumbnailUri": {
            "type": "string"
          },
          "cameraThumbnailUri": {
            "type": "string"
          },
          "timelapseUri": {
            "type": "string"
          },
          "logsUri": {
            "type": "string"
          },
          "gatewayTelemetryUri": {
            "type": "string"
          },
          "fuseTelemetryUri": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoPrintHistory": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionPrintHistory",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionPrintHistory": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrintHistory"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionPrintHistory"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "printJobId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "attemptNumber": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "taskId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "finalStatus": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "outcome": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partBuildId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "partName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "label": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "groupId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "orderItemId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantityIndex": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantityTotal": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerDeviceId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerProvider": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerModelName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printerVendorName": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "queuedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignmentStartedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "assignmentCompletedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingStartedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printingCompletedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cancelledAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "endedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "printDurationSeconds": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "errorMessage": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "materialUsageId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "totalUsed": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "totalUsedGrams": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "usedBySlot": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          "usedGramsBySlot": {
            "$ref": "#/components/schemas/FieldOperators",
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          "slotMaterials": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          "materialMapping": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "totalLayers": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "completedLayers": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skippedObjects": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "estimatedPrintTimeSeconds": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "estimatedTotalWeightGrams": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "estimatedMaterials": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicerVersion": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "overriddenProcessProfileId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "gcodeAnalysisSha256": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "slicedGcodeUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "thumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "coloredThumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cameraThumbnailUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "timelapseUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "logsUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "gatewayTelemetryUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "fuseTelemetryUri": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "priority": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "GettingStartedStep": {
        "type": "object",
        "properties": {
          "stepKey": {
            "oneOf": [
              {
                "const": "connect-printers"
              },
              {
                "const": "configure-printer-slicing"
              },
              {
                "const": "setup-materials"
              },
              {
                "const": "assign-printer-materials"
              },
              {
                "const": "upload-first-part"
              },
              {
                "const": "start-first-print"
              },
              {
                "const": "create-first-sku"
              },
              {
                "const": "explore-addons"
              },
              {
                "const": "review-account-settings"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "const": "auto"
              },
              {
                "const": "manual"
              }
            ]
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "stepKey",
          "source",
          "completedAt",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "CompleteGettingStartedStepRequest": {
        "type": "object",
        "properties": {
          "source": {
            "oneOf": [
              {
                "const": "auto"
              },
              {
                "const": "manual"
              }
            ]
          }
        },
        "required": [
          "source"
        ]
      },
      "SetGettingStartedVisibilityRequest": {
        "type": "object",
        "properties": {
          "visible": {
            "type": "boolean"
          }
        },
        "required": [
          "visible"
        ]
      },
      "CustomizerConfig": {
        "type": "object",
        "properties": {
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "deprecated": true
          },
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Human-readable label for this configuration (e.g. \"Motorcycle Plate Frames\")",
            "description": "Human-readable label for this configuration (e.g. \"Motorcycle Plate Frames\")."
          },
          "configJson": {
            "$ref": "#/components/schemas/CustomizerConfigJson"
          },
          "shopifyVariantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "published": {
            "type": "boolean"
          },
          "skuIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "title": "Resolved list of SKU IDs attached to this config via the join table",
            "description": "Resolved list of SKU IDs attached to this config via the join table."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "skuId",
          "name",
          "configJson",
          "shopifyVariantId",
          "published",
          "skuIds",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Per-SKU text-customizer configuration row."
      },
      "CustomizerConfigJson": {
        "type": "object",
        "properties": {
          "viewBox": {
            "type": "string",
            "deprecated": true
          },
          "maskPath": {
            "type": "string",
            "title": "SVG path describing the printable mask",
            "description": "SVG path describing the printable mask."
          },
          "colors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizerColorEntry"
            },
            "description": "Available colors the customer can pick from. Each entry stores a hex\nvalue, optional merchant-defined display alias (e.g. \"Jet\" instead of\n\"#000000\"), and optional pointer back to the material variant the color\nwas imported from."
          },
          "finishes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Available finishes (e.g. `matte`, `gloss`)",
            "description": "Available finishes (e.g. `matte`, `gloss`)."
          },
          "constraints": {
            "$ref": "#/components/schemas/Recordstringunknown",
            "title": "Constraints (max chars, min/max font size, etc.)",
            "description": "Constraints (max chars, min/max font size, etc.)."
          },
          "defaults": {
            "$ref": "#/components/schemas/Recordstringunknown",
            "title": "Default selections shown to the customer on first load",
            "description": "Default selections shown to the customer on first load."
          },
          "enabledFonts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizerEnabledFont"
            },
            "title": "Subset of the store font pool enabled for this SKU",
            "description": "Subset of the store font pool enabled for this SKU."
          },
          "title": {
            "type": "string",
            "title": "Page title shown above the customizer canvas",
            "description": "Page title shown above the customizer canvas."
          },
          "subtitle": {
            "type": "string",
            "title": "One-line subtitle / tagline rendered under the title",
            "description": "One-line subtitle / tagline rendered under the title."
          },
          "instructionsText": {
            "type": "string",
            "title": "Instructional text shown beneath the canvas",
            "description": "Instructional text shown beneath the canvas."
          },
          "theme": {
            "type": "object",
            "properties": {
              "headingColor": {
                "type": "string",
                "title": "Title + section heading color",
                "description": "Title + section heading color."
              },
              "buttonColor": {
                "type": "string",
                "title": "Background of primary action buttons (Add Text, Add to Cart)",
                "description": "Background of primary action buttons (Add Text, Add to Cart)."
              },
              "accentColor": {
                "type": "string",
                "title": "Selection rings, links, focus, \"negative\" buttons",
                "description": "Selection rings, links, focus, \"negative\" buttons."
              }
            },
            "description": "Merchant theme colors driving the customer-facing UI. All three are\noptional; the React app falls back to its built-in defaults\n(`#121212` for heading + button, `#1262C9` for accent)."
          },
          "backgroundSvg": {
            "type": "object",
            "properties": {
              "storagePath": {
                "type": "string"
              },
              "viewBox": {
                "type": "string",
                "title": "Raw `viewBox` string copied from the uploaded SVG (e.g. `-95 -55 189 127`)",
                "description": "Raw `viewBox` string copied from the uploaded SVG (e.g. `-95 -55 189 127`)."
              },
              "widthMm": {
                "type": "number",
                "title": "Real-world width in millimetres. Optional for backward compat with pre-inference uploads",
                "description": "Real-world width in millimetres. Optional for backward compat with pre-inference uploads."
              },
              "heightMm": {
                "type": "number",
                "title": "Real-world height in millimetres. Optional for backward compat with pre-inference uploads",
                "description": "Real-world height in millimetres. Optional for backward compat with pre-inference uploads."
              },
              "sourceBbox": {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  },
                  "width": {
                    "type": "number"
                  },
                  "height": {
                    "type": "number"
                  }
                },
                "required": [
                  "x",
                  "y",
                  "width",
                  "height"
                ],
                "description": "Natural position of the source DXF model in its own Y-up coord\nsystem. Set on the DXF intake path; absent for direct SVG uploads.\nSurfaced to the customer-app so every per-config export (background\n+ layers) uses the same `${x} ${y} ${width} ${height}` viewBox and\noverlays in OpenSCAD without any merchant translate."
              },
              "sourcePath": {
                "type": "string",
                "title": "Original uploaded filename / path. Used to detect DXF vs SVG intake in the admin UI",
                "description": "Original uploaded filename / path. Used to detect DXF vs SVG intake in the admin UI."
              }
            },
            "required": [
              "storagePath",
              "viewBox"
            ],
            "title": "Uploaded background/mask SVG describing the printable surface",
            "description": "Uploaded background/mask SVG describing the printable surface.\n\n`widthMm` / `heightMm` are the real-world dimensions inferred at\nupload time — preferred over reading the raw `viewBox` as mm,\nbecause viewBox-only SVGs (no explicit width/height) carry user\nunits, not millimetres. The customizer canvas should size off\n`widthMm` / `heightMm` so it matches what OpenSCAD reads\ndownstream."
          },
          "colorsEnabled": {
            "type": "boolean",
            "title": "Toggle hiding the customer-facing color pickers entirely. Defaults to true",
            "description": "Toggle hiding the customer-facing color pickers entirely. Defaults to true."
          },
          "allowShapes": {
            "type": "boolean",
            "description": "When true (default), customers can add primitive shapes (rect, circle,\ntriangle, line) alongside text + uploaded SVGs. Set false on simpler\nproducts where only text customization is desired."
          },
          "shapesWarning": {
            "type": "string",
            "description": "Optional warning text shown under the shape-add row in the customer\napp. Shapes don't currently respect z-order — overlapping geometries\nmay not output the way the customer expects, so a heads-up nudge is\nuseful. Empty / undefined hides the warning entirely. Only renders\nwhen `allowShapes !== false`."
          },
          "outline": {
            "type": "object",
            "properties": {
              "enabledByDefault": {
                "type": "boolean",
                "title": "When true, new layers start with their outline turned on",
                "description": "When true, new layers start with their outline turned on."
              },
              "defaultColor": {
                "type": "string",
                "title": "Default stroke color used by new layers",
                "description": "Default stroke color used by new layers."
              },
              "defaultWidthMm": {
                "type": "number",
                "title": "Default stroke width in millimeters",
                "description": "Default stroke width in millimeters."
              },
              "minWidthMm": {
                "type": "number",
                "description": "Floor on the per-layer outline width a customer can set, in\nmillimeters. Customers can still DISABLE the outline entirely\nwith the per-layer toggle — this minimum only applies when the\noutline is on. Typical: 0.4mm (one FDM nozzle pass)."
              }
            },
            "description": "Per-config outline defaults. Each text / SVG / shape layer can opt\ninto an outline (rendered as a separate `<path stroke=... fill=\"none\">`\nelement in the exported SVG so downstream pipelines can color-code\nor extrude it as a distinct part)."
          },
          "textures": {
            "$ref": "#/components/schemas/CustomizerTexturesConfig",
            "description": "Build-plate textures shown to the customer. When omitted, the React app\nfalls back to the built-in ['smooth', 'carbon'] list."
          }
        },
        "description": "The configuration blob stored in `customizer_configs.config_json`.\nThe shape is intentionally permissive — exact fields are owned by the\ncustomizer React app.",
        "additionalProperties": {}
      },
      "CustomizerColorEntry": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "title": "Hex code, e.g. `#FF0000`. The 8-char `#RRGGBBAA` form is also accepted",
            "description": "Hex code, e.g. `#FF0000`. The 8-char `#RRGGBBAA` form is also accepted."
          },
          "alias": {
            "type": "string",
            "title": "Optional display alias shown to customers",
            "description": "Optional display alias shown to customers."
          },
          "sourceMaterialVariantId": {
            "type": "string",
            "title": "When auto-imported from a material variant, the source variant id",
            "description": "When auto-imported from a material variant, the source variant id."
          }
        },
        "required": [
          "value"
        ],
        "description": "One color swatch the customer can pick from in the customizer.\nHex value plus optional merchant-defined display alias and a pointer\nback to the source material variant the color was imported from."
      },
      "CustomizerEnabledFont": {
        "type": "object",
        "properties": {
          "source": {
            "oneOf": [
              {
                "const": "store"
              },
              {
                "const": "google"
              }
            ]
          },
          "family": {
            "type": "string"
          },
          "alias": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "family"
        ],
        "description": "One enabled font on a customizer config. Picked from the store's\navailable pool (Google catalog + uploaded custom fonts) and optionally\ngiven a display alias."
      },
      "CustomizerTexturesConfig": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "title": "Section label rendered in the customer UI (e.g. \"Texture\", \"Finish\")",
            "description": "Section label rendered in the customer UI (e.g. \"Texture\", \"Finish\")."
          },
          "defaultId": {
            "type": "string",
            "title": "Id of the texture pre-selected on first load",
            "description": "Id of the texture pre-selected on first load."
          },
          "hiddenIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Ids the merchant has hidden in this specific config",
            "description": "Ids the merchant has hidden in this specific config."
          }
        },
        "description": "Per-config build-plate texture configuration. The actual list of available\ntextures lives at the store level (`store_custom_textures` + the two\nbuilt-ins `smooth`/`carbon`); this block only carries the merchant's\nper-config overrides — section label, default selection, and any hidden\ntexture ids for this specific config."
      },
      "CustomizerConfigInsert": {
        "type": "object",
        "properties": {
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Human-readable label for this configuration (e.g. \"Motorcycle Plate Frames\")",
            "description": "Human-readable label for this configuration (e.g. \"Motorcycle Plate Frames\")."
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "deprecated": true
          },
          "configJson": {
            "$ref": "#/components/schemas/CustomizerConfigJson"
          },
          "shopifyVariantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "published": {
            "type": "boolean"
          },
          "skuIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "title": "SKU IDs to associate with this config via the join table",
            "description": "SKU IDs to associate with this config via the join table."
          }
        },
        "required": [
          "name",
          "skuId",
          "configJson",
          "shopifyVariantId",
          "published"
        ]
      },
      "CustomizerConfigUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Human-readable label for this configuration (e.g. \"Motorcycle Plate Frames\")",
            "description": "Human-readable label for this configuration (e.g. \"Motorcycle Plate Frames\")."
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "deprecated": true
          },
          "configJson": {
            "$ref": "#/components/schemas/CustomizerConfigJson"
          },
          "shopifyVariantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "published": {
            "type": "boolean"
          },
          "skuIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "title": "When provided, replaces all existing SKU associations for this config",
            "description": "When provided, replaces all existing SKU associations for this config."
          }
        }
      },
      "BackgroundSvgUploadBody": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "title": "Original filename (must end in `.svg`)",
            "description": "Original filename (must end in `.svg`)."
          },
          "fileBase64": {
            "type": "string",
            "title": "Base64-encoded SVG payload (no data URI prefix)",
            "description": "Base64-encoded SVG payload (no data URI prefix)."
          }
        },
        "required": [
          "filename",
          "fileBase64"
        ]
      },
      "CustomizerSkuColorsBody": {
        "type": "object",
        "properties": {
          "skuIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "SKUs to walk for color discovery",
            "description": "SKUs to walk for color discovery."
          }
        },
        "required": [
          "skuIds"
        ]
      },
      "CustomizerDesign": {
        "type": "object",
        "properties": {
          "configId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "fileSource": {
            "oneOf": [
              {
                "const": "internal"
              },
              {
                "const": "external_uri"
              }
            ]
          },
          "storagePath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "designJson": {},
          "finish": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "frameColor": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "shopifyOrderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "etsyReceiptId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "configId",
          "fileSource",
          "storagePath",
          "externalUri",
          "designJson",
          "finish",
          "frameColor",
          "shopifyOrderId",
          "etsyReceiptId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A submitted design (SVG + metadata) created by a customer.\n\nPre-Phase-2 rows hold a single merged SVG at `storagePath`. New rows leave\n`storagePath` null and reference per-layer files via the\n`customizer_design_files` table instead."
      },
      "DesignSvgResponse": {
        "type": "object",
        "properties": {
          "svg": {
            "type": "string"
          }
        },
        "required": [
          "svg"
        ]
      },
      "DesignWithFilesResponse": {
        "type": "object",
        "properties": {
          "design": {
            "$ref": "#/components/schemas/CustomizerDesign"
          },
          "configName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizerDesignFileWithUrl"
            }
          }
        },
        "required": [
          "design",
          "configName",
          "files"
        ],
        "description": "Response for `GET /designs/:id/with-files`. Returns the design row,\nthe linked config's display name (or null if the config was deleted\n— design survives via ON DELETE SET NULL), and one entry per per-layer\nfile with a downloadable signed URL."
      },
      "CustomizerDesignFileWithUrl": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slot": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "role": {
            "oneOf": [
              {
                "const": "body"
              },
              {
                "const": "outline"
              }
            ]
          },
          "color": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          },
          "signedUrl": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slot",
          "sortOrder",
          "role",
          "color",
          "mimeType",
          "signedUrl"
        ],
        "description": "One per-layer file enriched with a short-lived signed URL the merchant\nUI can fetch / download directly. Mirrors `CustomizerDesignFile` shape\nplus `signedUrl`."
      },
      "GoogleFontsListResponse": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GoogleFontCatalogEntry"
            }
          }
        },
        "required": [
          "total",
          "items"
        ]
      },
      "GoogleFontCatalogEntry": {
        "type": "object",
        "properties": {
          "family": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "subsets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "version": {
            "type": "string"
          },
          "lastModified": {
            "type": "string"
          },
          "files": {
            "$ref": "#/components/schemas/Recordstringstring",
            "title": "Variant -> direct gstatic.com download URL",
            "description": "Variant -> direct gstatic.com download URL."
          },
          "kind": {
            "type": "string"
          },
          "menu": {
            "type": "string"
          }
        },
        "required": [
          "family",
          "category",
          "variants",
          "subsets",
          "version",
          "lastModified",
          "files"
        ],
        "description": "One entry from the Google Fonts catalog.\nhttps://developers.google.com/fonts/docs/developer_api#APIResponses"
      },
      "GoogleFontsListQuery": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "offset": {
            "type": "number"
          }
        }
      },
      "StoreCustomFontWithUrl": {
        "type": "object",
        "properties": {
          "downloadUrl": {
            "type": "string"
          },
          "familyName": {
            "type": "string"
          },
          "storagePath": {
            "type": "string"
          },
          "licenseAttestedAt": {
            "type": "string",
            "format": "date-time"
          },
          "licenseAttestedByUserId": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "downloadUrl",
          "familyName",
          "storagePath",
          "licenseAttestedAt",
          "licenseAttestedByUserId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "`StoreCustomFont` enriched with a short-lived signed download URL — used by\nthe admin UI's font library to render a real preview of the uploaded font\nvia `@font-face`. The URL is regenerated each fetch and expires."
      },
      "StoreCustomFont": {
        "type": "object",
        "properties": {
          "familyName": {
            "type": "string"
          },
          "storagePath": {
            "type": "string"
          },
          "licenseAttestedAt": {
            "type": "string",
            "format": "date-time"
          },
          "licenseAttestedByUserId": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "familyName",
          "storagePath",
          "licenseAttestedAt",
          "licenseAttestedByUserId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Merchant-uploaded font binary (per-store pool)."
      },
      "CustomFontUploadBody": {
        "type": "object",
        "properties": {
          "familyName": {
            "type": "string",
            "title": "Display family name to register the font under",
            "description": "Display family name to register the font under."
          },
          "filename": {
            "type": "string",
            "title": "Original filename (must end in `.ttf` or `.otf`)",
            "description": "Original filename (must end in `.ttf` or `.otf`)."
          },
          "fileBase64": {
            "type": "string",
            "title": "Base64-encoded font binary (no data URI prefix)",
            "description": "Base64-encoded font binary (no data URI prefix)."
          },
          "licenseAttestedByUserId": {
            "type": "string",
            "title": "Firebase UID of the user who attested they have rights to use this font",
            "description": "Firebase UID of the user who attested they have rights to use this font."
          }
        },
        "required": [
          "familyName",
          "filename",
          "fileBase64",
          "licenseAttestedByUserId"
        ]
      },
      "StoreGoogleFontWithUrls": {
        "type": "object",
        "properties": {
          "cssUrl": {
            "type": "string",
            "title": "CSS API URL for browser display (e.g. `https://fonts.googleapis.com/css2?...`)",
            "description": "CSS API URL for browser display (e.g. `https://fonts.googleapis.com/css2?...`)."
          },
          "downloadUrl": {
            "type": "string",
            "title": "Direct binary URL on `fonts.gstatic.com`",
            "description": "Direct binary URL on `fonts.gstatic.com`."
          },
          "family": {
            "type": "string",
            "title": "Google Font family name (e.g. \"Roboto\")",
            "description": "Google Font family name (e.g. \"Roboto\")."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "cssUrl",
          "downloadUrl",
          "family",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "`StoreGoogleFont` enriched with resolved CDN/CSS URLs — returned by the\nlist endpoint so the admin UI can render a live preview without a second\nround-trip."
      },
      "StoreGoogleFont": {
        "type": "object",
        "properties": {
          "family": {
            "type": "string",
            "title": "Google Font family name (e.g. \"Roboto\")",
            "description": "Google Font family name (e.g. \"Roboto\")."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "family",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A Google Font that the merchant has pinned to their store's curated pool.\nThe per-config font picker filters to this pool instead of the full catalog."
      },
      "StoreGoogleFontAddBody": {
        "type": "object",
        "properties": {
          "family": {
            "type": "string",
            "title": "Google Font family name to pin to the store pool (e.g. \"Roboto\")",
            "description": "Google Font family name to pin to the store pool (e.g. \"Roboto\")."
          }
        },
        "required": [
          "family"
        ]
      },
      "StoreCustomTextureWithUrl": {
        "type": "object",
        "properties": {
          "customSvgUrl": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "storagePath": {
            "type": "string"
          },
          "mimeType": {
            "type": "string",
            "title": "MIME type of the uploaded file (`image/svg+xml` or `image/png`)",
            "description": "MIME type of the uploaded file (`image/svg+xml` or `image/png`)."
          },
          "viewBox": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Raw `viewBox` string copied from the uploaded SVG. Null for PNGs",
            "description": "Raw `viewBox` string copied from the uploaded SVG. Null for PNGs."
          },
          "opacity": {
            "type": "number",
            "title": "Tile rendering opacity in the customer UI (0..1)",
            "description": "Tile rendering opacity in the customer UI (0..1)."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "customSvgUrl",
          "name",
          "storagePath",
          "mimeType",
          "viewBox",
          "opacity",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "`StoreCustomTexture` enriched with a short-lived signed download URL —\nused by the admin UI library and by the public config response when\nresolving per-config visible textures."
      },
      "CustomizerStoreTextureUploadBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Display name shown in the customer UI for this texture",
            "description": "Display name shown in the customer UI for this texture."
          },
          "filename": {
            "type": "string",
            "title": "Original filename (must end in `.svg` or `.png`)",
            "description": "Original filename (must end in `.svg` or `.png`)."
          },
          "fileBase64": {
            "type": "string",
            "title": "Base64-encoded payload (no data URI prefix)",
            "description": "Base64-encoded payload (no data URI prefix)."
          }
        },
        "required": [
          "name",
          "filename",
          "fileBase64"
        ]
      },
      "CustomizerStoreTextureUpdateBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "opacity": {
            "type": "number",
            "title": "Tile rendering opacity in [0, 1]",
            "description": "Tile rendering opacity in [0, 1]."
          }
        },
        "description": "Patch body for an existing store texture. Both fields are optional —\nomit one to leave it unchanged. Empty string for `name` is rejected."
      },
      "TelemetryResponse": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "fuse"
              },
              {
                "const": "gateway"
              }
            ],
            "title": "Source actually rendered; null when no telemetry artifact exists yet",
            "description": "Source actually rendered; null when no telemetry artifact exists yet."
          },
          "available": {
            "type": "object",
            "properties": {
              "gateway": {
                "type": "boolean"
              },
              "fuse": {
                "type": "boolean"
              }
            },
            "required": [
              "gateway",
              "fuse"
            ],
            "title": "Which artifacts exist for this attempt, so the UI can offer a toggle",
            "description": "Which artifacts exist for this attempt, so the UI can offer a toggle."
          },
          "attempt": {
            "$ref": "#/components/schemas/TelemetryAttemptMeta"
          },
          "samples": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelemetrySample"
            }
          },
          "layerMarkers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LayerMarker"
            }
          },
          "frames": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FrameMarker"
            },
            "description": "Timelapse frames for this attempt, oldest first. Empty unless the attempt\nhas a Fuse recording (the gateway series carries no frames) and timelapse\ncapture was on."
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelemetryEvent"
            }
          },
          "materials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MaterialUsageEntry"
            },
            "title": "Filament used per slot/color for the attempt",
            "description": "Filament used per slot/color for the attempt."
          },
          "totalUsedGrams": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "skippedObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SkippedObject"
            },
            "title": "Objects skipped during this job (with the layer they were skipped at)",
            "description": "Objects skipped during this job (with the layer they were skipped at)."
          }
        },
        "required": [
          "jobId",
          "source",
          "available",
          "attempt",
          "samples",
          "layerMarkers",
          "frames",
          "events",
          "materials",
          "totalUsedGrams",
          "skippedObjects"
        ]
      },
      "TelemetryAttemptMeta": {
        "type": "object",
        "properties": {
          "attemptNumber": {
            "type": "number"
          },
          "taskId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "startedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Epoch milliseconds",
            "description": "Epoch milliseconds."
          },
          "endedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "durationSeconds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Measured wall-clock print time (start → finish)",
            "description": "Measured wall-clock print time (start → finish)."
          },
          "estimatedDurationSeconds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Slicer's predicted print time, for a measured-vs-estimate comparison",
            "description": "Slicer's predicted print time, for a measured-vs-estimate comparison."
          },
          "totalLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "completedLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "finalStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "outcome": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "errorMessage": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "attemptNumber",
          "taskId",
          "startedAt",
          "endedAt",
          "durationSeconds",
          "estimatedDurationSeconds",
          "totalLayers",
          "completedLayers",
          "finalStatus",
          "outcome",
          "errorMessage"
        ]
      },
      "TelemetrySample": {
        "type": "object",
        "properties": {
          "t": {
            "type": "number",
            "title": "Epoch milliseconds",
            "description": "Epoch milliseconds."
          },
          "layer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "totalLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "percent": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "timeRemaining": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "state": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "error": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Printer-reported print-error code (0/absent = none)",
            "description": "Printer-reported print-error code (0/absent = none)."
          },
          "temps": {
            "type": "object",
            "properties": {
              "nozzle": {
                "$ref": "#/components/schemas/TempReading"
              },
              "bed": {
                "$ref": "#/components/schemas/TempReading"
              },
              "chamber": {
                "$ref": "#/components/schemas/TempReading"
              }
            }
          },
          "fans": {
            "$ref": "#/components/schemas/Recordstringnumber"
          }
        },
        "required": [
          "t",
          "layer",
          "totalLayers",
          "percent",
          "timeRemaining",
          "state",
          "error",
          "temps",
          "fans"
        ]
      },
      "TempReading": {
        "type": "object",
        "properties": {
          "c": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Current temperature in °C, or null when the printer didn't report one",
            "description": "Current temperature in °C, or null when the printer didn't report one."
          },
          "tgt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Target temperature in °C, or null when unset",
            "description": "Target temperature in °C, or null when unset."
          }
        },
        "required": [
          "c",
          "tgt"
        ]
      },
      "LayerMarker": {
        "type": "object",
        "properties": {
          "layer": {
            "type": "number"
          },
          "t": {
            "type": "number",
            "title": "Epoch milliseconds",
            "description": "Epoch milliseconds."
          }
        },
        "required": [
          "layer",
          "t"
        ]
      },
      "FrameMarker": {
        "type": "object",
        "properties": {
          "t": {
            "type": "number",
            "title": "Epoch milliseconds when the frame was captured",
            "description": "Epoch milliseconds when the frame was captured."
          },
          "idx": {
            "type": "number",
            "title": "Zero-based index of the frame within the timelapse",
            "description": "Zero-based index of the frame within the timelapse."
          },
          "videoSeconds": {
            "type": "number",
            "title": "Playback position of the frame in the encoded MP4",
            "description": "Playback position of the frame in the encoded MP4."
          },
          "layer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Layer being printed when the frame was captured, when known",
            "description": "Layer being printed when the frame was captured, when known."
          }
        },
        "required": [
          "t",
          "idx",
          "videoSeconds",
          "layer"
        ],
        "description": "A timelapse frame, tying a moment of the print to a position in the encoded\nvideo so the UI can show what the bed looked like at a point on the chart.\n\nFuse writes one of these each time it captures a frame, so the mapping comes\nfrom the recording itself rather than being inferred. `videoSeconds` is\nresolved server-side: the browser should not have to know the encode frame\nrate to seek."
      },
      "TelemetryEvent": {
        "type": "object",
        "properties": {
          "t": {
            "type": "number",
            "title": "Epoch milliseconds",
            "description": "Epoch milliseconds."
          },
          "type": {
            "type": "string",
            "title": "Raw `printer-events.*` type string",
            "description": "Raw `printer-events.*` type string."
          },
          "code": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Extracted salient code (HMS/print-error hex, new state, …) when present",
            "description": "Extracted salient code (HMS/print-error hex, new state, …) when present."
          },
          "severity": {
            "oneOf": [
              {
                "const": "info"
              },
              {
                "const": "error"
              },
              {
                "const": "warning"
              }
            ]
          },
          "message": {
            "type": "string",
            "title": "Human-readable one-line summary for the timeline/tooltip",
            "description": "Human-readable one-line summary for the timeline/tooltip."
          }
        },
        "required": [
          "t",
          "type",
          "code",
          "severity",
          "message"
        ],
        "description": "A discrete printer event flattened for chart/timeline rendering."
      },
      "MaterialUsageEntry": {
        "type": "object",
        "properties": {
          "slotLabel": {
            "type": "string",
            "title": "Human slot label, e.g. \"AMS 1 · Slot 2\" or \"External spool\"",
            "description": "Human slot label, e.g. \"AMS 1 · Slot 2\" or \"External spool\"."
          },
          "materialName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "materialType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "variantId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Ids so the client can render names the same way the rest of the app does",
            "description": "Ids so the client can render names the same way the rest of the app does."
          },
          "materialId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "colorHex": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Hex (may include alpha or be a `;`-joined gradient); null → unknown",
            "description": "Hex (may include alpha or be a `;`-joined gradient); null → unknown."
          },
          "usedGrams": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "usedMm": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Millimetres extruded, shown when a grams conversion wasn't available",
            "description": "Millimetres extruded, shown when a grams conversion wasn't available."
          }
        },
        "required": [
          "slotLabel",
          "materialName",
          "materialType",
          "variantId",
          "materialId",
          "colorHex",
          "usedGrams",
          "usedMm"
        ],
        "description": "Filament actually consumed on one slot/color during the attempt."
      },
      "SkippedObject": {
        "type": "object",
        "properties": {
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "identifyId": {
            "type": "string"
          },
          "layer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Printer layer at skip; null = excluded before printing, -1 also = up front",
            "description": "Printer layer at skip; null = excluded before printing, -1 also = up front."
          }
        },
        "required": [
          "name",
          "identifyId",
          "layer"
        ],
        "description": "An object that was skipped (excluded up front or mid-print)."
      },
      "TelemetryQuery": {
        "type": "object",
        "properties": {
          "attempt": {
            "type": "number",
            "title": "Attempt number to render; defaults to the latest attempt",
            "description": "Attempt number to render; defaults to the latest attempt."
          },
          "source": {
            "oneOf": [
              {
                "const": "fuse"
              },
              {
                "const": "auto"
              },
              {
                "const": "gateway"
              }
            ],
            "title": "Which telemetry series to render; defaults to `auto`",
            "description": "Which telemetry series to render; defaults to `auto`."
          }
        }
      },
      "TelemetryAttemptSummary": {
        "type": "object",
        "properties": {
          "attemptNumber": {
            "type": "number"
          },
          "outcome": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "finalStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "endedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Epoch milliseconds",
            "description": "Epoch milliseconds."
          },
          "durationSeconds": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "totalLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "completedLayers": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "hasGateway": {
            "type": "boolean"
          },
          "hasFuse": {
            "type": "boolean"
          },
          "cameraThumbnailUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "timelapseUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "logsUri": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "inProgress": {
            "type": "boolean",
            "title": "True for the live in-flight attempt that has no history row yet",
            "description": "True for the live in-flight attempt that has no history row yet."
          }
        },
        "required": [
          "attemptNumber",
          "outcome",
          "finalStatus",
          "endedAt",
          "durationSeconds",
          "totalLayers",
          "completedLayers",
          "hasGateway",
          "hasFuse",
          "cameraThumbnailUri",
          "timelapseUri",
          "logsUri",
          "inProgress"
        ],
        "description": "One row of a job's attempt history, for the attempt selector + per-attempt media."
      },
      "TelemetryDownloadUrl": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "expiresAt": {
            "type": "number",
            "title": "Epoch milliseconds at which the signed URL expires",
            "description": "Epoch milliseconds at which the signed URL expires."
          }
        },
        "required": [
          "url",
          "expiresAt"
        ]
      },
      "RawTelemetryDownloadQuery": {
        "type": "object",
        "properties": {
          "attempt": {
            "type": "number"
          },
          "kind": {
            "oneOf": [
              {
                "const": "fuse"
              },
              {
                "const": "gateway"
              }
            ],
            "title": "Which raw artifact to sign a download URL for",
            "description": "Which raw artifact to sign a download URL for."
          }
        },
        "required": [
          "kind"
        ]
      },
      "PrintHistoryQuery": {
        "type": "object",
        "properties": {
          "printJobId": {
            "type": "string"
          },
          "attemptNumber": {
            "type": "string"
          },
          "taskId": {
            "type": "string"
          },
          "finalStatus": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "partBuildId": {
            "type": "string"
          },
          "partId": {
            "type": "string"
          },
          "partName": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "skuName": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "orderItemId": {
            "type": "string"
          },
          "quantityIndex": {
            "type": "string"
          },
          "quantityTotal": {
            "type": "string"
          },
          "printerId": {
            "type": "string"
          },
          "printerDeviceId": {
            "type": "string"
          },
          "printerProvider": {
            "type": "string"
          },
          "printerName": {
            "type": "string"
          },
          "printerModelName": {
            "type": "string"
          },
          "printerVendorName": {
            "type": "string"
          },
          "queuedAt": {
            "type": "string"
          },
          "assignmentStartedAt": {
            "type": "string"
          },
          "assignmentCompletedAt": {
            "type": "string"
          },
          "printingStartedAt": {
            "type": "string"
          },
          "printingCompletedAt": {
            "type": "string"
          },
          "cancelledAt": {
            "type": "string"
          },
          "endedAt": {
            "type": "string"
          },
          "printDurationSeconds": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "materialUsageId": {
            "type": "string"
          },
          "totalUsed": {
            "type": "string"
          },
          "totalUsedGrams": {
            "type": "string"
          },
          "usedBySlot": {
            "type": "string",
            "title": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded",
            "description": "Flat slot id (amsIndex*4+slotIndex, negative for spools) -> mm extruded."
          },
          "usedGramsBySlot": {
            "type": "string",
            "title": "Flat slot id -> grams extruded, when a grams conversion was available",
            "description": "Flat slot id -> grams extruded, when a grams conversion was available."
          },
          "slotMaterials": {
            "type": "string",
            "description": "Flat slot id -> what was loaded there at capture time. Deliberately open:\nit is a verbatim snapshot of `material_usage.slot_materials`, whose shape\nhas gained fields over time and must survive round-tripping unchanged."
          },
          "materialMapping": {
            "type": "string"
          },
          "totalLayers": {
            "type": "string"
          },
          "completedLayers": {
            "type": "string"
          },
          "skippedObjects": {
            "type": "string"
          },
          "estimatedPrintTimeSeconds": {
            "type": "string"
          },
          "estimatedTotalWeightGrams": {
            "type": "string"
          },
          "estimatedMaterials": {
            "type": "string"
          },
          "slicerVersion": {
            "type": "string"
          },
          "overriddenProcessProfileId": {
            "type": "string"
          },
          "gcodeAnalysisSha256": {
            "type": "string"
          },
          "slicedGcodeUri": {
            "type": "string"
          },
          "thumbnailUri": {
            "type": "string"
          },
          "coloredThumbnailUri": {
            "type": "string"
          },
          "cameraThumbnailUri": {
            "type": "string"
          },
          "timelapseUri": {
            "type": "string"
          },
          "logsUri": {
            "type": "string"
          },
          "gatewayTelemetryUri": {
            "type": "string"
          },
          "fuseTelemetryUri": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "GcodeMacro": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "type": {
            "oneOf": [
              {
                "const": "bed_clearing"
              },
              {
                "const": "purge"
              },
              {
                "const": "maintenance"
              },
              {
                "const": "generic"
              }
            ]
          },
          "gcode": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "description",
          "type",
          "gcode",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "namestringundefineddescriptionstringundefinedtypestringundefinedgcodestringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "gcode": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoGcodeMacro": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionGcodeMacro",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionGcodeMacro": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionGcodeMacro"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionGcodeMacro"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "description": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "type": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "gcode": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "GcodeMacroPrinterModel": {
        "type": "object",
        "properties": {
          "adapter": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Null when the vendor has no adapter assignment in the capability data",
            "description": "Null when the vendor has no adapter assignment in the capability data."
          },
          "supportsGcode": {
            "type": "boolean",
            "title": "Whether the model's adapter supports raw GCODE delivery",
            "description": "Whether the model's adapter supports raw GCODE delivery."
          },
          "vendorName": {
            "type": "string"
          },
          "modelName": {
            "type": "string"
          }
        },
        "required": [
          "adapter",
          "supportsGcode",
          "vendorName",
          "modelName"
        ],
        "description": "A selectable printer model for the compatibility picker."
      },
      "EnhancedGcodeMacro": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "type": {
            "oneOf": [
              {
                "const": "bed_clearing"
              },
              {
                "const": "purge"
              },
              {
                "const": "maintenance"
              },
              {
                "const": "generic"
              }
            ]
          },
          "gcode": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "compatibilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GcodeMacroModelRef"
            }
          }
        },
        "required": [
          "name",
          "description",
          "type",
          "gcode",
          "id",
          "storeId",
          "createdAt",
          "updatedAt",
          "compatibilities"
        ]
      },
      "GcodeMacroModelRef": {
        "type": "object",
        "properties": {
          "vendorName": {
            "type": "string"
          },
          "modelName": {
            "type": "string"
          }
        },
        "required": [
          "vendorName",
          "modelName"
        ],
        "description": "A printer model reference, matching the key capability resolution uses."
      },
      "GcodeMacroInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "type": {
            "oneOf": [
              {
                "const": "bed_clearing"
              },
              {
                "const": "purge"
              },
              {
                "const": "maintenance"
              },
              {
                "const": "generic"
              }
            ]
          },
          "gcode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100000
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "maxLength": 1000
              }
            ]
          },
          "compatibilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GcodeMacroModelRefInput"
            },
            "maxItems": 500
          }
        },
        "required": [
          "name",
          "type",
          "gcode"
        ]
      },
      "GcodeMacroModelRefInput": {
        "type": "object",
        "properties": {
          "vendorName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "modelName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "vendorName",
          "modelName"
        ],
        "description": "Bounded input form of {@link GcodeMacroModelRef }."
      },
      "GcodeMacroUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "maxLength": 1000
              }
            ]
          },
          "gcode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100000
          },
          "compatibilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GcodeMacroModelRefInput"
            },
            "maxItems": 500
          }
        }
      },
      "GcodeMacroRunResult": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "sent": {
            "type": "boolean"
          },
          "reason": {
            "oneOf": [
              {
                "const": "incompatible"
              },
              {
                "const": "unsupported"
              },
              {
                "const": "offline"
              },
              {
                "const": "busy"
              },
              {
                "const": "not-found"
              },
              {
                "const": "unavailable"
              }
            ]
          }
        },
        "required": [
          "printerId",
          "sent"
        ]
      },
      "RunGcodeMacroRequest": {
        "type": "object",
        "properties": {
          "printerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "minItems": 1,
            "maxItems": 500,
            "title": "Target printers. Duplicates are collapsed server-side",
            "description": "Target printers. Duplicates are collapsed server-side."
          },
          "expectedUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "`updatedAt` of the macro the caller previewed. Required: the run is\nrejected with 409 if the macro has changed since, so a stale preview is\nnever executed."
          }
        },
        "required": [
          "printerIds",
          "expectedUpdatedAt"
        ]
      },
      "Card": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "entity": {
            "oneOf": [
              {
                "const": "printer"
              },
              {
                "const": "printJob"
              }
            ]
          },
          "formatVersion": {
            "type": "number"
          },
          "definition": {
            "$ref": "#/components/schemas/CardDocument"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "description",
          "entity",
          "formatVersion",
          "definition",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A stored card design: a declarative card document plus the metadata that\nlets it be listed, instantiated, and (in later phases) shared. `entity` and\n`formatVersion` are denormalized from the definition at write time so\npickers and future migrations can filter without parsing every document."
      },
      "CardDocument": {
        "type": "object",
        "properties": {
          "formatVersion": {
            "type": "number"
          },
          "entity": {
            "oneOf": [
              {
                "const": "printer"
              },
              {
                "const": "printJob"
              }
            ]
          },
          "size": {
            "oneOf": [
              {
                "const": "1x1"
              },
              {
                "const": "2x1"
              },
              {
                "const": "2x2"
              },
              {
                "const": "4x2"
              },
              {
                "const": "4x4"
              }
            ]
          },
          "layout": {
            "oneOf": [
              {
                "const": "stack"
              },
              {
                "const": "media-inset"
              },
              {
                "const": "media"
              }
            ],
            "title": "Omitted = `stack`, so every card authored before layouts still renders as it did",
            "description": "Omitted = `stack`, so every card authored before layouts still renders as it did."
          },
          "accent": {
            "oneOf": [
              {
                "const": "fill"
              },
              {
                "const": "border"
              }
            ],
            "title": "Omitted = `border`",
            "description": "Omitted = `border`."
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardChild"
            }
          }
        },
        "required": [
          "formatVersion",
          "entity",
          "size",
          "children"
        ],
        "description": "A card is a declarative schema, not code — a template bound to an entity type."
      },
      "CardChild": {
        "type": "object",
        "properties": {
          "c": {
            "type": "string"
          },
          "bind": {
            "type": "string"
          },
          "command": {
            "type": "string"
          },
          "variant": {
            "type": "string"
          },
          "density": {
            "oneOf": [
              {
                "const": "s"
              },
              {
                "const": "m"
              },
              {
                "const": "l"
              }
            ]
          },
          "slot": {
            "oneOf": [
              {
                "const": "header"
              },
              {
                "const": "body"
              },
              {
                "const": "footer"
              }
            ]
          }
        },
        "required": [
          "c"
        ],
        "description": "One mounted primitive. `c` names a primitive from the manifest (or a spec\nshorthand — \"dial\"/\"bar\" are progress variants); data primitives carry a\nregistry binding path in `bind`, the action primitive an allowlisted\ncommand id in `command`. `slot`/`density`/`variant` are optional styling\noverrides — omitted, the render plan picks them from the size class."
      },
      "namestringundefineddescriptionstringundefinedentitystringundefinedformatVersionstringundefineddefinitionstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "formatVersion": {
            "type": "string"
          },
          "definition": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoCard": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionCard",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionCard": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCard"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCard"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "description": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "entity": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "formatVersion": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "definition": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "CardInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "maxLength": 1000
              }
            ]
          },
          "definition": {
            "$ref": "#/components/schemas/CardDefinitionInput"
          }
        },
        "required": [
          "name",
          "definition"
        ]
      },
      "CardDefinitionInput": {
        "type": "object",
        "properties": {
          "formatVersion": {
            "type": "integer"
          },
          "entity": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "size": {
            "type": "string",
            "maxLength": 8
          },
          "layout": {
            "type": "string",
            "maxLength": 20
          },
          "accent": {
            "type": "string",
            "maxLength": 20
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardChildInput"
            },
            "maxItems": 32
          }
        },
        "required": [
          "entity",
          "children"
        ]
      },
      "CardChildInput": {
        "type": "object",
        "properties": {
          "c": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "bind": {
            "type": "string",
            "maxLength": 200
          },
          "command": {
            "type": "string",
            "maxLength": 40
          },
          "variant": {
            "type": "string",
            "maxLength": 40
          },
          "density": {
            "oneOf": [
              {
                "const": "s"
              },
              {
                "const": "m"
              },
              {
                "const": "l"
              }
            ]
          },
          "slot": {
            "oneOf": [
              {
                "const": "header"
              },
              {
                "const": "body"
              },
              {
                "const": "footer"
              }
            ]
          }
        },
        "required": [
          "c"
        ],
        "description": "Wire shape of one card child. Bounds only — deep validation (primitive ids,\nbindings, variants, the command allowlist) is normalizeCardDocument's job\nso the API and the importer reject/degrade identically."
      },
      "CardUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "description": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "maxLength": 1000
              }
            ]
          },
          "definition": {
            "$ref": "#/components/schemas/CardDefinitionInput"
          }
        }
      },
      "Sequence": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "nextValue": {
            "type": "number"
          },
          "prefix": {
            "type": "string"
          },
          "suffix": {
            "type": "string"
          },
          "padding": {
            "type": "number"
          },
          "numberStyle": {
            "oneOf": [
              {
                "const": "decimal"
              },
              {
                "const": "base32"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "nextValue",
          "prefix",
          "suffix",
          "padding",
          "numberStyle",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A named, store-scoped serial-number sequence. Uniqueness comes from the\nmonotonic `nextValue` counter alone; `prefix`/`suffix`/`padding`/\n`numberStyle` are a pure display formatter over the raw integer, so they can\nnever introduce collisions or gaps on their own."
      },
      "namestringundefinednextValuestringundefinedprefixstringundefinedsuffixstringundefinedpaddingstringundefinednumberStylestringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettin...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "nextValue": {
            "type": "string"
          },
          "prefix": {
            "type": "string"
          },
          "suffix": {
            "type": "string"
          },
          "padding": {
            "type": "string"
          },
          "numberStyle": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SequenceWithUsage": {
        "type": "object",
        "properties": {
          "issuedCount": {
            "type": "number"
          },
          "lastIssuedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "lastSerial": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "usedBySkuIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            },
            "title": "SKU ids whose linked parts bind a text parameter to this sequence",
            "description": "SKU ids whose linked parts bind a text parameter to this sequence."
          },
          "name": {
            "type": "string"
          },
          "nextValue": {
            "type": "number"
          },
          "prefix": {
            "type": "string"
          },
          "suffix": {
            "type": "string"
          },
          "padding": {
            "type": "number"
          },
          "numberStyle": {
            "oneOf": [
              {
                "const": "decimal"
              },
              {
                "const": "base32"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "issuedCount",
          "lastIssuedAt",
          "lastSerial",
          "usedBySkuIds",
          "name",
          "nextValue",
          "prefix",
          "suffix",
          "padding",
          "numberStyle",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A sequence plus usage facts for list pages."
      },
      "SearchQueryDtoSequence": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionSequence",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionSequence": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSequence"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSequence"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "nextValue": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "prefix": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "suffix": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "padding": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "numberStyle": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SequenceIssuance": {
        "type": "object",
        "properties": {
          "sequenceId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "value": {
            "type": "number"
          },
          "serial": {
            "type": "string"
          },
          "parameterName": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "partBuildId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "printJobId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "orderItemId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "target": {
            "$ref": "#/components/schemas/SerialStampTarget",
            "description": "Which physical item received this serial. The ledger table stores no\ntarget — it is read back from the linked part build's serial stamps at\nlist time, so rows predating stamps (or with a deleted build) omit it."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "sequenceId",
          "value",
          "serial",
          "parameterName",
          "partBuildId",
          "printJobId",
          "skuId",
          "orderId",
          "orderItemId",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "One issued serial from the ledger."
      },
      "SequenceInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "nextValue": {
            "type": "integer",
            "minimum": 1
          },
          "prefix": {
            "type": "string",
            "maxLength": 40
          },
          "suffix": {
            "type": "string",
            "maxLength": 40
          },
          "padding": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12
          },
          "numberStyle": {
            "oneOf": [
              {
                "const": "decimal"
              },
              {
                "const": "base32"
              }
            ]
          }
        },
        "required": [
          "name"
        ]
      },
      "SequenceUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "nextValue": {
            "type": "integer",
            "minimum": 1
          },
          "prefix": {
            "type": "string",
            "maxLength": 40
          },
          "suffix": {
            "type": "string",
            "maxLength": 40
          },
          "padding": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12
          },
          "numberStyle": {
            "oneOf": [
              {
                "const": "decimal"
              },
              {
                "const": "base32"
              }
            ]
          },
          "confirmRewind": {
            "type": "boolean",
            "description": "Required when `nextValue` moves backwards past a value that has already\nbeen issued: rewinding is the one deliberate way to break the\nnever-reissue guarantee, so it must be explicitly acknowledged."
          }
        }
      },
      "Layout": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "mode": {
            "const": "grid"
          },
          "formatVersion": {
            "type": "number"
          },
          "isDefault": {
            "type": "boolean"
          },
          "definition": {
            "$ref": "#/components/schemas/LayoutDocument"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "userId",
          "mode",
          "formatVersion",
          "isDefault",
          "definition",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A saved dashboard layout: a declarative arrangement of card instances plus\nthe metadata that lets it be listed, switched between, and (in later\nphases) shared. Layouts are personal — each user keeps their own named set\nwithin a store. `mode` and `formatVersion` are denormalized from the\ndefinition at write time so switchers and future migrations can filter\nwithout parsing every document."
      },
      "LayoutDocument": {
        "type": "object",
        "properties": {
          "formatVersion": {
            "type": "number"
          },
          "mode": {
            "const": "grid"
          },
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LayoutCardPlacement"
            }
          }
        },
        "required": [
          "formatVersion",
          "mode",
          "cards"
        ],
        "description": "A layout is a declarative arrangement of card instances, not code."
      },
      "LayoutCardPlacement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "card": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "w": {
            "type": "number"
          },
          "h": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "card",
          "x",
          "y",
          "w",
          "h"
        ],
        "description": "One card placed on the grid. `card` names a builtin template\n(`builtin:...`) or a stored card id; `entityId` is the concrete entity the\ntemplate is instantiated for (export swaps these for slots in Phase 5).\n`x/y/w/h` are grid units — `w`x`h` is constrained to the card size classes\nso primitives reflow per class instead of stretching freeform."
      },
      "namestringundefineduserIdstringundefinedmodestringundefinedformatVersionstringundefinedisDefaultstringundefineddefinitionstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySet...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "mode": {
            "type": "string"
          },
          "formatVersion": {
            "type": "string"
          },
          "isDefault": {
            "type": "string"
          },
          "definition": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoLayout": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionLayout",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionLayout": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionLayout"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionLayout"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "userId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "mode": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "formatVersion": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isDefault": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "definition": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "LayoutInsert": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "definition": {
            "$ref": "#/components/schemas/LayoutDefinitionInput"
          },
          "isDefault": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "definition"
        ]
      },
      "LayoutDefinitionInput": {
        "type": "object",
        "properties": {
          "formatVersion": {
            "type": "integer"
          },
          "mode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LayoutCardPlacementInput"
            },
            "maxItems": 200
          }
        },
        "required": [
          "mode",
          "cards"
        ]
      },
      "LayoutCardPlacementInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "card": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "entityId": {
            "type": "string",
            "maxLength": 40
          },
          "x": {
            "type": "integer"
          },
          "y": {
            "type": "integer"
          },
          "w": {
            "type": "integer"
          },
          "h": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "card",
          "x",
          "y",
          "w",
          "h"
        ],
        "description": "Wire shape of one placed card. Bounds only — deep validation (placement\nintegrity, size-class snapping, grid clamping) is normalizeLayoutDocument's\njob so the API and the importer reject/degrade identically."
      },
      "LayoutUpdate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "definition": {
            "$ref": "#/components/schemas/LayoutDefinitionInput"
          },
          "isDefault": {
            "type": "boolean"
          }
        }
      },
      "ReportsSummary": {
        "type": "object",
        "properties": {
          "range": {
            "$ref": "#/components/schemas/ReportDateRange"
          },
          "kpis": {
            "type": "object",
            "properties": {
              "jobsPerDay": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "successRate": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "wastedGrams": {
                "type": "number"
              },
              "wastedCost": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "marginPct": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "required": [
              "jobsPerDay",
              "successRate",
              "wastedGrams",
              "wastedCost",
              "marginPct"
            ]
          },
          "groups": {
            "type": "object",
            "properties": {
              "reliability": {
                "type": "object",
                "properties": {
                  "successRate": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "failedAttempts": {
                    "type": "number"
                  },
                  "wastedGrams": {
                    "type": "number"
                  },
                  "topFailureCode": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  }
                },
                "required": [
                  "successRate",
                  "failedAttempts",
                  "wastedGrams",
                  "topFailureCode"
                ]
              },
              "jobs": {
                "type": "object",
                "properties": {
                  "perDay": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "queueP95Minutes": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "timeMedianRatio": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "backlog": {
                    "type": "number"
                  }
                },
                "required": [
                  "perDay",
                  "queueP95Minutes",
                  "timeMedianRatio",
                  "backlog"
                ]
              },
              "printers": {
                "type": "object",
                "properties": {
                  "avgPrintingHoursPerDay": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "medianIdleGapMinutes": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "topPrinterName": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "maintenanceOverdue": {
                    "type": "number"
                  }
                },
                "required": [
                  "avgPrintingHoursPerDay",
                  "medianIdleGapMinutes",
                  "topPrinterName",
                  "maintenanceOverdue"
                ]
              },
              "materials": {
                "type": "object",
                "properties": {
                  "grams": {
                    "type": "number"
                  },
                  "cost": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "wasteRatio": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "lowestDaysOfCover": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "required": [
                  "grams",
                  "cost",
                  "wasteRatio",
                  "lowestDaysOfCover"
                ]
              },
              "profit": {
                "type": "object",
                "properties": {
                  "revenue": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "marginPct": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "costOfFailure": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "required": [
                  "revenue",
                  "marginPct",
                  "costOfFailure"
                ]
              }
            },
            "required": [
              "reliability",
              "jobs",
              "printers",
              "materials",
              "profit"
            ]
          }
        },
        "required": [
          "range",
          "kpis",
          "groups"
        ]
      },
      "ReportDateRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "days": {
            "type": "number"
          }
        },
        "required": [
          "start",
          "end",
          "timezone",
          "days"
        ]
      },
      "ReportRangeQuery": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          },
          "printerIds": {
            "type": "string",
            "title": "Comma-separated printer ids; omitted = all printers",
            "description": "Comma-separated printer ids; omitted = all printers."
          }
        },
        "required": [
          "start",
          "end"
        ],
        "description": "Date-range query shared by all report endpoints.\n`start`/`end` are YYYY-MM-DD calendar dates, inclusive, interpreted in the\nstore's timezone (UTC when the store has none set)."
      },
      "ReliabilityReport": {
        "type": "object",
        "properties": {
          "range": {
            "$ref": "#/components/schemas/ReportDateRange"
          },
          "coverage": {
            "$ref": "#/components/schemas/ReportCoverage"
          },
          "attemptsByDay": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutcomeByDay"
            }
          },
          "wasteByDay": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WasteByDay"
            },
            "title": "Grams + machine-hours on failed/cancelled attempts, per day",
            "description": "Grams + machine-hours on failed/cancelled attempts, per day."
          },
          "yield": {
            "type": "object",
            "properties": {
              "jobsFinished": {
                "type": "number",
                "title": "Distinct jobs in range whose final attempt completed",
                "description": "Distinct jobs in range whose final attempt completed."
              },
              "jobsFirstTry": {
                "type": "number",
                "title": "Jobs that completed on attempt 1 with no retries",
                "description": "Jobs that completed on attempt 1 with no retries."
              },
              "retriedJobs": {
                "type": "number"
              },
              "retryGrams": {
                "type": "number",
                "title": "Grams burned on non-final attempts of eventually-completed jobs",
                "description": "Grams burned on non-final attempts of eventually-completed jobs."
              }
            },
            "required": [
              "jobsFinished",
              "jobsFirstTry",
              "retriedJobs",
              "retryGrams"
            ]
          },
          "failurePareto": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "count": {
                  "type": "number"
                }
              },
              "required": [
                "code",
                "count"
              ]
            },
            "title": "health-error / print-error event codes, descending count",
            "description": "health-error / print-error event codes, descending count."
          },
          "layerHistogram": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "bucketStart": {
                  "type": "number"
                },
                "count": {
                  "type": "number"
                }
              },
              "required": [
                "bucketStart",
                "count"
              ]
            },
            "title": "Failed attempts bucketed by completedLayers/totalLayers",
            "description": "Failed attempts bucketed by completedLayers/totalLayers.\nbucketStart is the inclusive lower bound in percent (0, 5, … 95)."
          },
          "mtbf": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "printerDeviceId": {
                  "type": "string"
                },
                "printerName": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "printingHours": {
                  "type": "number"
                },
                "failures": {
                  "type": "number"
                },
                "mtbfHours": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "printerDeviceId",
                "printerName",
                "printingHours",
                "failures",
                "mtbfHours"
              ]
            }
          },
          "totals": {
            "type": "object",
            "properties": {
              "attempts": {
                "type": "number"
              },
              "completed": {
                "type": "number"
              },
              "failed": {
                "type": "number"
              },
              "cancelled": {
                "type": "number"
              },
              "wastedGrams": {
                "type": "number"
              },
              "wastedHours": {
                "type": "number"
              }
            },
            "required": [
              "attempts",
              "completed",
              "failed",
              "cancelled",
              "wastedGrams",
              "wastedHours"
            ]
          }
        },
        "required": [
          "range",
          "coverage",
          "attemptsByDay",
          "wasteByDay",
          "yield",
          "failurePareto",
          "layerHistogram",
          "mtbf",
          "totals"
        ]
      },
      "ReportCoverage": {
        "type": "object",
        "properties": {
          "attempts": {
            "type": "number"
          },
          "withGrams": {
            "type": "number"
          },
          "withLayers": {
            "type": "number"
          },
          "withTimeEstimate": {
            "type": "number"
          },
          "withWeightEstimate": {
            "type": "number"
          },
          "withQueueTimes": {
            "type": "number"
          }
        },
        "required": [
          "attempts",
          "withGrams",
          "withLayers",
          "withTimeEstimate",
          "withWeightEstimate",
          "withQueueTimes"
        ],
        "description": "Denominators for the coverage indicator every report panel shows.\nprint_history material/estimate fields are snapshots that can be absent;\ncharts must state what fraction of attempts they actually cover."
      },
      "OutcomeByDay": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "completed": {
            "type": "number"
          },
          "failed": {
            "type": "number"
          },
          "cancelled": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "completed",
          "failed",
          "cancelled"
        ]
      },
      "WasteByDay": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "grams": {
            "type": "number"
          },
          "hours": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "grams",
          "hours"
        ]
      },
      "JobsReport": {
        "type": "object",
        "properties": {
          "range": {
            "$ref": "#/components/schemas/ReportDateRange"
          },
          "coverage": {
            "$ref": "#/components/schemas/ReportCoverage"
          },
          "queueLatencyByDay": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "p50Minutes": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "p95Minutes": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "started": {
                  "type": "number"
                }
              },
              "required": [
                "date",
                "p50Minutes",
                "p95Minutes",
                "started"
              ]
            },
            "title": "queuedAt -> printingStartedAt for attempts that started that day",
            "description": "queuedAt -> printingStartedAt for attempts that started that day."
          },
          "estimateAccuracyByDay": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "timeMedianRatio": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "weightMedianRatio": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "samples": {
                  "type": "number"
                }
              },
              "required": [
                "date",
                "timeMedianRatio",
                "weightMedianRatio",
                "samples"
              ]
            },
            "title": "actual/estimated ratios; 1.0 = estimate exact, >1 = estimate was light",
            "description": "actual/estimated ratios; 1.0 = estimate exact, >1 = estimate was light."
          },
          "backlogByDay": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "queued": {
                  "type": "number"
                }
              },
              "required": [
                "date",
                "queued"
              ]
            },
            "title": "Jobs queued but not yet printing as of each day's end (store tz)",
            "description": "Jobs queued but not yet printing as of each day's end (store tz)."
          },
          "orderCycle": {
            "type": "object",
            "properties": {
              "shipped": {
                "type": "number"
              },
              "deadlineMisses": {
                "type": "number"
              },
              "p50Hours": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "p95Hours": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "byDay": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "shipped": {
                      "type": "number"
                    },
                    "p50Hours": {
                      "oneOf": [
                        {
                          "type": "null"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "required": [
                    "date",
                    "shipped",
                    "p50Hours"
                  ]
                }
              }
            },
            "required": [
              "shipped",
              "deadlineMisses",
              "p50Hours",
              "p95Hours",
              "byDay"
            ]
          },
          "totals": {
            "type": "object",
            "properties": {
              "started": {
                "type": "number"
              },
              "queueP50Minutes": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "queueP95Minutes": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "timeMedianRatio": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "weightMedianRatio": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "required": [
              "started",
              "queueP50Minutes",
              "queueP95Minutes",
              "timeMedianRatio",
              "weightMedianRatio"
            ]
          }
        },
        "required": [
          "range",
          "coverage",
          "queueLatencyByDay",
          "estimateAccuracyByDay",
          "backlogByDay",
          "orderCycle",
          "totals"
        ]
      },
      "PrintersReport": {
        "type": "object",
        "properties": {
          "range": {
            "$ref": "#/components/schemas/ReportDateRange"
          },
          "printers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "printerDeviceId": {
                  "type": "string"
                },
                "printerName": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "printerDeviceId",
                "printerName"
              ]
            }
          },
          "utilizationByDay": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterDayUtilization"
            }
          },
          "idleGaps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "printerDeviceId": {
                  "type": "string"
                },
                "printerName": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "medianGapMinutes": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "p95GapMinutes": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "gaps": {
                  "type": "number"
                }
              },
              "required": [
                "printerDeviceId",
                "printerName",
                "medianGapMinutes",
                "p95GapMinutes",
                "gaps"
              ]
            },
            "title": "job-finished -> next printing-assigned-job, per physical machine",
            "description": "job-finished -> next printing-assigned-job, per physical machine."
          },
          "leaderboard": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "printerDeviceId": {
                  "type": "string"
                },
                "printerName": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "prints": {
                  "type": "number"
                },
                "completed": {
                  "type": "number"
                },
                "failed": {
                  "type": "number"
                },
                "grams": {
                  "type": "number"
                },
                "hours": {
                  "type": "number"
                },
                "failureRate": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "printerDeviceId",
                "printerName",
                "prints",
                "completed",
                "failed",
                "grams",
                "hours",
                "failureRate"
              ]
            }
          },
          "maintenance": {
            "type": "object",
            "properties": {
              "enrolled": {
                "type": "number"
              },
              "due": {
                "type": "number"
              },
              "overdue": {
                "type": "number"
              }
            },
            "required": [
              "enrolled",
              "due",
              "overdue"
            ]
          },
          "foreignJobEvents": {
            "type": "number",
            "title": "printing-foreign-job events in range — machines driven outside Printago",
            "description": "printing-foreign-job events in range — machines driven outside Printago."
          }
        },
        "required": [
          "range",
          "printers",
          "utilizationByDay",
          "idleGaps",
          "leaderboard",
          "maintenance",
          "foreignJobEvents"
        ]
      },
      "PrinterDayUtilization": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "printerDeviceId": {
            "type": "string"
          },
          "printingHours": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "printerDeviceId",
          "printingHours"
        ]
      },
      "MaterialsReport": {
        "type": "object",
        "properties": {
          "range": {
            "$ref": "#/components/schemas/ReportDateRange"
          },
          "coverage": {
            "$ref": "#/components/schemas/ReportCoverage"
          },
          "usageByDay": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "grams": {
                  "type": "number"
                },
                "cost": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "date",
                "type",
                "grams",
                "cost"
              ]
            },
            "title": "Stacked by material type; top types kept, tail folded into \"Other\"",
            "description": "Stacked by material type; top types kept, tail folded into \"Other\"."
          },
          "byMaterial": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "brand": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "grams": {
                  "type": "number"
                },
                "wastedGrams": {
                  "type": "number"
                },
                "wasteRatio": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "cost": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "type",
                "brand",
                "grams",
                "wastedGrams",
                "wasteRatio",
                "cost"
              ]
            }
          },
          "spools": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "instanceId": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "color": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "remainingGrams": {
                  "type": "number"
                },
                "dailyRunRateGrams": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "daysOfCover": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "instanceId",
                "name",
                "type",
                "color",
                "remainingGrams",
                "dailyRunRateGrams",
                "daysOfCover"
              ]
            }
          }
        },
        "required": [
          "range",
          "coverage",
          "usageByDay",
          "byMaterial",
          "spools"
        ]
      },
      "ProfitReport": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "revenue": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              },
              "bySource": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string"
                    },
                    "amount": {
                      "type": "number"
                    },
                    "orders": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "source",
                    "amount",
                    "orders"
                  ]
                }
              }
            },
            "required": [
              "total",
              "bySource"
            ]
          },
          "costs": {
            "type": "object",
            "properties": {
              "filamentGrams": {
                "type": "number"
              },
              "filamentCost": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "machineHours": {
                "type": "number"
              },
              "machineRate": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "machineCost": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "laborCost": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "total": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "required": [
              "filamentGrams",
              "filamentCost",
              "machineHours",
              "machineRate",
              "machineCost",
              "laborCost",
              "total"
            ]
          },
          "costOfFailure": {
            "type": "object",
            "properties": {
              "grams": {
                "type": "number"
              },
              "hours": {
                "type": "number"
              },
              "attempts": {
                "type": "number"
              },
              "cost": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "required": [
              "grams",
              "hours",
              "attempts",
              "cost"
            ]
          },
          "marginBySku": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "skuId": {
                  "type": "string"
                },
                "skuName": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "units": {
                  "type": "number"
                },
                "revenue": {
                  "type": "number"
                },
                "cost": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "marginPct": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "skuId",
                "skuName",
                "units",
                "revenue",
                "cost",
                "marginPct"
              ]
            }
          },
          "caveats": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "revenue-evenly-allocated"
                },
                {
                  "const": "no-electricity-model"
                },
                {
                  "const": "rates-current-value"
                },
                {
                  "const": "orders-missing-price"
                },
                {
                  "const": "no-cost-components"
                }
              ]
            }
          }
        },
        "required": [
          "month",
          "timezone",
          "currency",
          "revenue",
          "costs",
          "costOfFailure",
          "marginBySku",
          "caveats"
        ]
      },
      "ProfitReportQuery": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string",
            "title": "YYYY-MM, interpreted in the store's timezone",
            "description": "YYYY-MM, interpreted in the store's timezone."
          }
        },
        "required": [
          "month"
        ]
      },
      "ApiKey": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string"
          },
          "salt": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "managed": {
            "type": "boolean"
          },
          "managedBy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalRef": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "description": "Optional link to integration - when integration is deleted, this API key is also deleted"
          },
          "fullAccess": {
            "type": "boolean"
          },
          "ipAllowlist": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "createdBy": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "lastUsedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "expiresAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "hash",
          "salt",
          "name",
          "active",
          "managed",
          "fullAccess",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "hashstringundefinedsaltstringundefinednamestringundefinedactivestringundefinedmanagedstringundefinedmanagedBystringundefinedexternalRefstringundefined...9more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "hash": {
            "type": "string"
          },
          "salt": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "string"
          },
          "managed": {
            "type": "string"
          },
          "managedBy": {
            "type": "string"
          },
          "externalRef": {
            "type": "string"
          },
          "integrationId": {
            "type": "string",
            "description": "Optional link to integration - when integration is deleted, this API key is also deleted"
          },
          "fullAccess": {
            "type": "string"
          },
          "ipAllowlist": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "lastUsedAt": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoApiKey": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionApiKey",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionApiKey": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionApiKey"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionApiKey"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "hash": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "salt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "active": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "managed": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "managedBy": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalRef": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "integrationId": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Optional link to integration - when integration is deleted, this API key is also deleted"
          },
          "fullAccess": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "ipAllowlist": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdBy": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "lastUsedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "expiresAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "OneTimeApiKeyInfo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "key"
        ]
      },
      "CreateApiKeyRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "fullAccess": {
            "type": "boolean"
          },
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ipAllowlist": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name"
        ]
      },
      "UpdateApiKeyRequest": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "fullAccess": {
            "type": "boolean"
          },
          "ipAllowlist": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "permissions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "organization.owner"
                },
                {
                  "const": "organization.edit"
                },
                {
                  "const": "organization.delete"
                },
                {
                  "const": "user.view"
                },
                {
                  "const": "user.invite"
                },
                {
                  "const": "user.edit"
                },
                {
                  "const": "user.delete"
                },
                {
                  "const": "permission.view"
                },
                {
                  "const": "permission.grant"
                },
                {
                  "const": "permission.revoke"
                },
                {
                  "const": "part.view"
                },
                {
                  "const": "part.create"
                },
                {
                  "const": "part.edit"
                },
                {
                  "const": "part.delete"
                },
                {
                  "const": "part.export"
                },
                {
                  "const": "sku.view"
                },
                {
                  "const": "sku.create"
                },
                {
                  "const": "sku.edit"
                },
                {
                  "const": "sku.delete"
                },
                {
                  "const": "material.view"
                },
                {
                  "const": "material.create"
                },
                {
                  "const": "material.edit"
                },
                {
                  "const": "material.delete"
                },
                {
                  "const": "material.instance.view"
                },
                {
                  "const": "material.instance.create"
                },
                {
                  "const": "material.instance.edit"
                },
                {
                  "const": "material.instance.delete"
                },
                {
                  "const": "printer.view"
                },
                {
                  "const": "printer.create"
                },
                {
                  "const": "printer.edit"
                },
                {
                  "const": "printer.delete"
                },
                {
                  "const": "printer.control"
                },
                {
                  "const": "printer.ready"
                },
                {
                  "const": "printer.config"
                },
                {
                  "const": "printer.stats"
                },
                {
                  "const": "printer.camera"
                },
                {
                  "const": "profile.view"
                },
                {
                  "const": "profile.create"
                },
                {
                  "const": "profile.edit"
                },
                {
                  "const": "profile.delete"
                },
                {
                  "const": "queue.view"
                },
                {
                  "const": "queue.manage"
                },
                {
                  "const": "queue.override"
                },
                {
                  "const": "job.create"
                },
                {
                  "const": "job.edit.own"
                },
                {
                  "const": "job.edit.all"
                },
                {
                  "const": "job.delete.own"
                },
                {
                  "const": "job.delete.all"
                },
                {
                  "const": "build.view"
                },
                {
                  "const": "build.create"
                },
                {
                  "const": "build.edit"
                },
                {
                  "const": "build.delete"
                },
                {
                  "const": "settings.view"
                },
                {
                  "const": "settings.edit"
                },
                {
                  "const": "integration.view"
                },
                {
                  "const": "integration.manage"
                },
                {
                  "const": "subscription.view"
                },
                {
                  "const": "subscription.manage"
                },
                {
                  "const": "analytics.view"
                },
                {
                  "const": "reports.generate"
                },
                {
                  "const": "audit.log.view"
                },
                {
                  "const": "audit.logs.configure"
                },
                {
                  "const": "order.view"
                },
                {
                  "const": "order.create"
                },
                {
                  "const": "order.edit"
                },
                {
                  "const": "order.delete"
                },
                {
                  "const": "order.print"
                },
                {
                  "const": "apiKey.view"
                },
                {
                  "const": "apiKey.create"
                },
                {
                  "const": "apiKey.edit"
                },
                {
                  "const": "apiKey.delete"
                },
                {
                  "const": "file.download"
                },
                {
                  "const": "maintenance.view"
                },
                {
                  "const": "maintenance.create"
                },
                {
                  "const": "maintenance.edit"
                },
                {
                  "const": "maintenance.delete"
                },
                {
                  "const": "maintenance.complete"
                },
                {
                  "const": "routing.manage"
                },
                {
                  "const": "customizer.manage"
                },
                {
                  "const": "macro.view"
                },
                {
                  "const": "macro.create"
                },
                {
                  "const": "macro.edit"
                },
                {
                  "const": "macro.delete"
                },
                {
                  "const": "macro.run"
                },
                {
                  "const": "card.view"
                },
                {
                  "const": "card.create"
                },
                {
                  "const": "card.edit"
                },
                {
                  "const": "card.delete"
                },
                {
                  "const": "layout.view"
                },
                {
                  "const": "layout.create"
                },
                {
                  "const": "layout.edit"
                },
                {
                  "const": "layout.delete"
                },
                {
                  "const": "sequence.view"
                },
                {
                  "const": "sequence.edit"
                },
                {
                  "const": "internal.shopify"
                },
                {
                  "const": "queue.admin"
                },
                {
                  "const": "part.viewer"
                },
                {
                  "const": "part.editor"
                },
                {
                  "const": "sku.viewer"
                },
                {
                  "const": "sku.editor"
                },
                {
                  "const": "orders.admin"
                },
                {
                  "const": "material.viewer"
                },
                {
                  "const": "material.editor"
                },
                {
                  "const": "printer.viewer"
                },
                {
                  "const": "printer.editor"
                },
                {
                  "const": "profile.viewer"
                },
                {
                  "const": "profile.editor"
                },
                {
                  "const": "settings.admin"
                },
                {
                  "const": "subscription.admin"
                }
              ]
            }
          },
          "roleIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Subscription": {
        "type": "object",
        "properties": {
          "concurrencySlots": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number",
                "minimum": 1
              }
            ]
          },
          "plan": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "core"
              },
              {
                "const": "personal"
              }
            ]
          },
          "trialEndsAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "term": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "year"
              },
              {
                "const": "month"
              }
            ]
          },
          "isCommercial": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "concurrencySlots",
          "plan",
          "trialEndsAt",
          "term",
          "isCommercial",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "SetAuditLogsEnabledRequest": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "SearchQueryDtoSubscription": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionSubscription",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionSubscription": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSubscription"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionSubscription"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "concurrencySlots": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "plan": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "trialEndsAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "term": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "isCommercial": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "Addon": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "addonType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "requiresCommercial": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "metadata": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "addonType",
          "name",
          "requiresCommercial",
          "isActive",
          "metadata",
          "createdAt",
          "updatedAt"
        ]
      },
      "AddonWithTiers": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "addonType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "requiresCommercial": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "metadata": {
            "$ref": "#/components/schemas/Recordstringany"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "tiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddonTier"
            }
          }
        },
        "required": [
          "id",
          "addonType",
          "name",
          "requiresCommercial",
          "isActive",
          "metadata",
          "createdAt",
          "updatedAt",
          "tiers"
        ]
      },
      "AddonTier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "addonId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "tierKey": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "stripePriceIdMonthly": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "stripePriceIdYearly": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "amountMonthly": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "amountYearly": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "billingType": {
            "oneOf": [
              {
                "const": "subscription"
              },
              {
                "const": "usage"
              }
            ]
          },
          "stripePriceIdUsage": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "unitPrice": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "usageAggregation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "sum"
              },
              {
                "const": "last_during_period"
              },
              {
                "const": "max"
              }
            ]
          },
          "displayOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "addonId",
          "tierKey",
          "name",
          "stripePriceIdMonthly",
          "stripePriceIdYearly",
          "amountMonthly",
          "amountYearly",
          "billingType",
          "stripePriceIdUsage",
          "unitPrice",
          "usageAggregation",
          "displayOrder",
          "isActive",
          "createdAt",
          "updatedAt"
        ]
      },
      "AddonSubscription": {
        "type": "object",
        "properties": {
          "addonType": {
            "type": "string"
          },
          "tierKey": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "tierId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "term": {
            "oneOf": [
              {
                "const": "year"
              },
              {
                "const": "month"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "addonType",
          "tierKey",
          "tierId",
          "term",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "addonTypestringundefinedtierKeystringundefinedtierIdstringundefinedtermstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "addonType": {
            "type": "string"
          },
          "tierKey": {
            "type": "string"
          },
          "tierId": {
            "type": "string"
          },
          "term": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoAddonSubscription": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionAddonSubscription",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionAddonSubscription": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionAddonSubscription"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionAddonSubscription"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "addonType": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "tierKey": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "tierId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "term": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "SignedUrlsResponse": {
        "type": "object",
        "properties": {
          "signedUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "signedUrls"
        ]
      },
      "SignedUrlsRequest": {
        "type": "object",
        "properties": {
          "paths": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "duration": {
            "type": "number"
          }
        },
        "required": [
          "paths"
        ]
      },
      "SignedUploadUrlsResponse": {
        "type": "object",
        "properties": {
          "signedUrls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string"
                },
                "uploadUrl": {
                  "type": "string"
                },
                "method": {
                  "oneOf": [
                    {
                      "const": "PUT"
                    },
                    {
                      "const": "POST"
                    }
                  ],
                  "description": "HTTP method to use for the upload. Production GCS signed write URLs are\n'PUT'; the Firebase Storage emulator's REST simple-upload endpoint is\n'POST'. Optional for backwards compatibility — older clients can fall\nback to 'PUT' (or sniff the URL)."
                }
              },
              "required": [
                "path",
                "uploadUrl"
              ]
            }
          }
        },
        "required": [
          "signedUrls"
        ]
      },
      "SignedUploadUrlsRequest": {
        "type": "object",
        "properties": {
          "filenames": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        },
        "required": [
          "filenames"
        ]
      },
      "Order": {
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string",
            "minLength": 1
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "open"
              },
              {
                "const": "closed"
              }
            ]
          },
          "cancelledAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "shippedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "customerId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "priceBucket": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "price": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "sourceRef": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "note": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "deadline": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "syncDisabled": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "orderNumber",
          "status",
          "syncDisabled",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Order entity representing a retail order"
      },
      "orderNumberstringundefinedsourcestringundefinedstatusstringundefinedcancelledAtstringundefinedshippedAtstringundefinedcustomerIdstringundefined...15more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "cancelledAt": {
            "type": "string"
          },
          "shippedAt": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "integrationId": {
            "type": "string"
          },
          "priceBucket": {
            "type": "string"
          },
          "price": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "externalUrl": {
            "type": "string"
          },
          "sourceRef": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "deadline": {
            "type": "string"
          },
          "processedAt": {
            "type": "string"
          },
          "syncDisabled": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "OrderItem": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "quantity": {
            "type": "number",
            "minimum": 1
          },
          "inputs": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringany"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalOrderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalProductId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "originalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "ignored": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "processedStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "unprocessed"
              },
              {
                "const": "processed"
              }
            ]
          },
          "skuConfig": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OrderItemSkuConfig"
              }
            ]
          },
          "resolutionNote": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ResolutionNote"
              }
            ],
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "orderId",
          "skuId",
          "quantity",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "OrderItem entity representing an item in a retail order"
      },
      "OrderItemSkuConfig": {
        "type": "object",
        "properties": {
          "linkedPartConfigs": {
            "$ref": "#/components/schemas/RecordCuid2LinkedPartConfigV2"
          },
          "selectedOptions": {
            "$ref": "#/components/schemas/Recordstringstringnull"
          }
        },
        "description": "SKU configuration stored with order items\nContains only the configuration overrides, not the SKU reference"
      },
      "ResolutionNote": {
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "const": "variant_enrichment_failed"
              },
              {
                "const": "sku_not_found"
              },
              {
                "const": "ambiguous_match"
              }
            ]
          },
          "message": {
            "type": "string"
          },
          "retriable": {
            "type": "boolean",
            "description": "Whether this failure can be retried (e.g., API errors are retriable, missing SKUs are not)"
          },
          "occurredAt": {
            "type": "number",
            "description": "Timestamp of when this failure occurred"
          }
        },
        "required": [
          "type",
          "message",
          "retriable",
          "occurredAt"
        ],
        "description": "Structured note describing why SKU or variant resolution failed.\nStored as a dedicated column on order_items for easy querying."
      },
      "Customer": {
        "type": "object",
        "properties": {
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "email": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "phone": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "countryCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "provinceCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "zipCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Customer entity representing a retail customer"
      },
      "OrderDetailsResponse": {
        "type": "object",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/Order"
          },
          "customer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Customer"
              }
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItem"
            }
          }
        },
        "required": [
          "order",
          "customer",
          "items"
        ]
      },
      "CreateOrderDto": {
        "type": "object",
        "properties": {
          "order": {
            "$ref": "#/components/schemas/OrderInsert"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerInsert"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateOrderItemInput"
            }
          }
        },
        "required": [
          "order"
        ]
      },
      "OrderInsert": {
        "type": "object",
        "properties": {
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "orderNumber": {
            "type": "string",
            "minLength": 1
          },
          "customerId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "shippedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "priceBucket": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "price": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "note": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "deadline": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "sourceRef": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "orderNumber"
        ]
      },
      "CustomerInsert": {
        "type": "object",
        "properties": {
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "email": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "phone": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "countryCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "provinceCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "zipCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        }
      },
      "CreateOrderItemInput": {
        "type": "object",
        "properties": {
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Internal SKU ID (Cuid2). Takes precedence over `sku` if both provided",
            "description": "Internal SKU ID (Cuid2). Takes precedence over `sku` if both provided."
          },
          "sku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "SKU code (e.g., \"SSP00214\"). Will be resolved to skuId if skuId not provided",
            "description": "SKU code (e.g., \"SSP00214\"). Will be resolved to skuId if skuId not provided."
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "quantity": {
            "type": "number",
            "minimum": 1
          },
          "inputs": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringany"
              }
            ]
          },
          "externalOrderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalProductId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "originalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          "processedStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "unprocessed"
              },
              {
                "const": "processed"
              }
            ]
          },
          "ignored": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "skuConfig": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OrderItemSkuConfig"
              }
            ]
          },
          "resolutionNote": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ResolutionNote"
              }
            ],
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          }
        },
        "required": [
          "quantity"
        ],
        "description": "Order item input for creating orders via API.\nAccepts either `skuId` (internal ID) or `sku` (SKU code) to identify the SKU.\nIf `sku` is provided and `skuId` is not, the system will look up the SKU by code."
      },
      "IgnoredSku": {
        "type": "object",
        "properties": {
          "skus": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "skus",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ]
      },
      "CheckIgnoredSkusResponse": {
        "type": "object",
        "properties": {},
        "additionalProperties": {
          "type": "boolean"
        }
      },
      "CheckIgnoredSkusRequest": {
        "type": "object",
        "properties": {
          "skus": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        },
        "required": [
          "skus"
        ]
      },
      "EditIgnoredSkusRequest": {
        "type": "object",
        "properties": {
          "add": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          },
          "remove": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          }
        }
      },
      "ReconcileJobsResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "ReconcileJobsRequest": {
        "type": "object",
        "properties": {
          "skuIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "orderIds": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]{24}$"
            }
          },
          "printerTags": {
            "$ref": "#/components/schemas/PartialRecordstringstring"
          },
          "priority": {
            "oneOf": [
              {
                "const": 100
              },
              {
                "const": 1000
              }
            ]
          },
          "position": {
            "oneOf": [
              {
                "const": "front"
              },
              {
                "const": "back"
              }
            ]
          },
          "consolidation": {
            "$ref": "#/components/schemas/BuildConsolidation",
            "title": "Build-time plate consolidation applied to the generated builds (issue #437)",
            "description": "Build-time plate consolidation applied to the generated builds (issue #437)."
          }
        },
        "required": [
          "skuIds"
        ]
      },
      "PartialRecordstringstring": {
        "type": "object",
        "properties": {},
        "description": "Make all properties in T optional",
        "additionalProperties": {
          "type": "string"
        }
      },
      "CreateCustomerDto": {
        "type": "object",
        "properties": {
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "email": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "phone": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/CustomMetadataValues"
          }
        }
      },
      "OmitOrderItemInsertorderId": {
        "type": "object",
        "properties": {
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "quantity": {
            "type": "number",
            "minimum": 1
          },
          "inputs": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringany"
              }
            ]
          },
          "externalOrderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalProductId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "originalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          "processedStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "unprocessed"
              },
              {
                "const": "processed"
              }
            ]
          },
          "ignored": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "skuConfig": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OrderItemSkuConfig"
              }
            ]
          },
          "resolutionNote": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ResolutionNote"
              }
            ],
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          }
        },
        "required": [
          "skuId",
          "quantity"
        ],
        "description": "Construct a type with the properties of T except for those in type K."
      },
      "PartialOrderItemUpdate": {
        "type": "object",
        "properties": {
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "quantity": {
            "type": "number",
            "minimum": 1
          },
          "inputs": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Recordstringany"
              }
            ]
          },
          "externalOrderId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalProductId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "originalSku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          "processedStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "unprocessed"
              },
              {
                "const": "processed"
              }
            ]
          },
          "ignored": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "boolean"
              }
            ]
          },
          "skuConfig": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OrderItemSkuConfig"
              }
            ]
          },
          "resolutionNote": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ResolutionNote"
              }
            ],
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          }
        },
        "description": "Make all properties in T optional"
      },
      "PartialOrder": {
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string",
            "minLength": 1
          },
          "source": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy"
              },
              {
                "const": "shopify"
              },
              {
                "const": "manual"
              },
              {
                "const": "ebay"
              },
              {
                "const": "tiktok-shop"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "open"
              },
              {
                "const": "closed"
              }
            ]
          },
          "cancelledAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "shippedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "customerId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "integrationId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "priceBucket": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "price": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ]
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "externalUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "sourceRef": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "note": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "deadline": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "processedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "string"
              }
            ]
          },
          "syncDisabled": {
            "type": "boolean"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/Recordstringunknown"
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Make all properties in T optional"
      },
      "SearchQueryDtoOrder": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionOrder",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionOrder": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionOrder"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionOrder"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "orderNumber": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "status": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "cancelledAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "shippedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customerId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "integrationId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "priceBucket": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "price": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "currency": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalUrl": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "sourceRef": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "note": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "deadline": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "processedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "syncDisabled": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "orderIdstringundefinedskuIdstringundefinedsourcestringundefinedquantitystringundefinedinputsstringundefinedstatusstringundefinedexternalIdstringundefined...13more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string"
          },
          "skuId": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "quantity": {
            "type": "string"
          },
          "inputs": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "externalOrderId": {
            "type": "string"
          },
          "externalProductId": {
            "type": "string"
          },
          "externalSku": {
            "type": "string"
          },
          "originalSku": {
            "type": "string",
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          "processedAt": {
            "type": "string"
          },
          "ignored": {
            "type": "string"
          },
          "processedStatus": {
            "type": "string"
          },
          "skuConfig": {
            "type": "string"
          },
          "resolutionNote": {
            "type": "string",
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoOrderItem": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionOrderItem",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionOrderItem": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionOrderItem"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionOrderItem"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "orderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "quantity": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "inputs": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "status": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalOrderId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalProductId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalSku": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "originalSku": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Original SKU identifier sent when creating the order item (sku or externalSku), null if skuId was provided directly"
          },
          "processedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "ignored": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "processedStatus": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "skuConfig": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "resolutionNote": {
            "$ref": "#/components/schemas/FieldOperators",
            "description": "Describes why SKU or variant resolution failed, null when resolved successfully"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "namestringundefinedemailstringundefinedphonestringundefinedcountryCodestringundefinedprovinceCodestringundefinedzipCodestringundefined...6more...updatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "provinceCode": {
            "type": "string"
          },
          "zipCode": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "customMetadata": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoCustomer": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionCustomer",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionCustomer": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCustomer"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionCustomer"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "name": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "email": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "phone": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "countryCode": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "provinceCode": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "zipCode": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "externalId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "source": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "customMetadata": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "skusstringundefinedidstringundefinedstoreIdstringundefinedcreatedAtstringundefinedupdatedAtstringundefinedQuerySettings...": {
        "type": "object",
        "properties": {
          "skus": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        }
      },
      "SearchQueryDtoIgnoredSku": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/FilterConditionIgnoredSku",
            "title": "Filter",
            "description": "Complex filter conditions using logical and field operators.\nAvailable field operators: eq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, between.\nUsage example: {\"filter\": {\"and\": [{\"name\": {\"contains\": \"benchy\"}}, {\"or\": [{\"type\": {\"eq\": \"3mf\"}}, {\"type\": {\"eq\": \"gcode3mf\"}}]}}}"
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "description": "Sort specification in format \"field:asc,field2:desc\""
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "title": "Limit",
            "description": "Maximum number of results to return (default: 100, max: 1000)"
          },
          "offset": {
            "type": "number",
            "minimum": 0,
            "title": "Offset",
            "description": "Number of results to skip for pagination"
          },
          "fields": {
            "type": "string",
            "title": "Fields",
            "description": "Comma-separated list of fields to return"
          },
          "include": {
            "type": "string",
            "title": "Include",
            "description": "Comma-separated list of relations to include (max 4, max 2 levels deep).\nExample: \"linkedParts,linkedParts.part,folder\""
          },
          "meta": {
            "type": "boolean",
            "title": "Meta",
            "description": "If true, returns response with metadata (total, count, hasMore, etc.)"
          },
          "hints": {
            "type": "boolean",
            "title": "Hints",
            "description": "If true, returns AI-friendly hints about available actions. Implies meta=true."
          }
        },
        "title": "Search Query",
        "description": "Complete search request with filter conditions and query settings"
      },
      "FilterConditionIgnoredSku": {
        "type": "object",
        "properties": {
          "and": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionIgnoredSku"
            },
            "title": "AND Conditions",
            "description": "All conditions must be true"
          },
          "or": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilterConditionIgnoredSku"
            },
            "title": "OR Conditions",
            "description": "At least one condition must be true"
          },
          "skus": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "id": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "storeId": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "createdAt": {
            "$ref": "#/components/schemas/FieldOperators"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/FieldOperators"
          }
        },
        "title": "Filter Condition",
        "description": "Root filter condition that can be either a logical condition (AND/OR) or field-based condition"
      },
      "CustomizerPublicationState": {
        "type": "object",
        "properties": {
          "publication": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomizerConfigPublication"
              }
            ]
          },
          "integration": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "integrationId": {
                    "type": "string"
                  },
                  "shop": {
                    "type": "string"
                  },
                  "shopName": {
                    "type": "string"
                  }
                },
                "required": [
                  "integrationId",
                  "shop",
                  "shopName"
                ]
              }
            ]
          },
          "skuId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ]
          },
          "skuCode": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "productCandidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizerProductCandidate"
            }
          },
          "directUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Storefront URL for the direct-to-customizer page (app proxy)",
            "description": "Storefront URL for the direct-to-customizer page (app proxy)."
          },
          "themeEditorUrl": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Theme-editor deep link that pre-adds the customizer block",
            "description": "Theme-editor deep link that pre-adds the customizer block."
          }
        },
        "required": [
          "publication",
          "integration",
          "skuId",
          "skuCode",
          "productCandidates",
          "directUrl",
          "themeEditorUrl"
        ]
      },
      "CustomizerConfigPublication": {
        "type": "object",
        "properties": {
          "configId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "integrationId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "mode": {
            "oneOf": [
              {
                "const": "embed_product_page"
              },
              {
                "const": "direct_page"
              }
            ]
          },
          "shopifyProductId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "shopifyProductHandle": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "const": "error"
              },
              {
                "const": "published"
              },
              {
                "const": "unpublished"
              }
            ]
          },
          "metafieldSetAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ]
          },
          "lastError": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "configId",
          "integrationId",
          "mode",
          "shopifyProductId",
          "shopifyProductHandle",
          "status",
          "metafieldSetAt",
          "lastError",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "Shopify publishing state for a customizer config on one integration.\nEmbed mode writes the `printago.sku_id` product metafield the theme app\nextension block reads; direct mode exposes the app-proxy customizer URL\nas a standalone storefront page."
      },
      "CustomizerProductCandidate": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "handle": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "productId",
          "title",
          "handle",
          "status"
        ]
      },
      "CustomizerPublishBody": {
        "type": "object",
        "properties": {
          "mode": {
            "oneOf": [
              {
                "const": "embed_product_page"
              },
              {
                "const": "direct_page"
              }
            ]
          },
          "integrationId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "shopifyProductId": {
            "type": "string"
          },
          "shopifyProductHandle": {
            "type": "string"
          }
        },
        "required": [
          "mode"
        ]
      },
      "UsageStats.o1": {
        "type": "object",
        "properties": {
          "tier": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "const": "etsy-starter"
              },
              {
                "const": "etsy-pro"
              }
            ]
          },
          "orders": {
            "type": "object",
            "properties": {
              "current": {
                "type": "number"
              },
              "limit": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "remaining": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "required": [
              "current",
              "limit",
              "remaining"
            ]
          },
          "listings": {
            "type": "object",
            "properties": {
              "current": {
                "type": "number"
              },
              "limit": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "remaining": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            },
            "required": [
              "current",
              "limit",
              "remaining"
            ]
          },
          "cycleStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "cycleEndDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "tier",
          "orders",
          "listings",
          "cycleStartDate",
          "cycleEndDate"
        ],
        "description": "Usage statistics for an Etsy integration"
      },
      "TikTokShopSyncOrdersResult": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          },
          "totalSynced": {
            "type": "number"
          },
          "totalAvailable": {
            "type": "number"
          },
          "skipped": {
            "type": "number"
          }
        },
        "required": [
          "orders",
          "totalSynced",
          "totalAvailable",
          "skipped"
        ],
        "description": "Result of a sync-orders run (named for the same SDK reason as the request)."
      },
      "TikTokShopSyncOrdersRequest": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "number",
            "title": "Cap on orders imported in this run",
            "description": "Cap on orders imported in this run."
          },
          "daysBack": {
            "type": "number",
            "title": "Only sync orders created within this many days",
            "description": "Only sync orders created within this many days."
          },
          "statusGroups": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "const": "completed"
                },
                {
                  "const": "awaiting"
                },
                {
                  "const": "in_transit"
                }
              ]
            },
            "description": "Which fulfillment stages to include. Maps to TikTok order_status:\n - 'awaiting'   → AWAITING_SHIPMENT + AWAITING_COLLECTION (needs action)\n - 'in_transit' → IN_TRANSIT (shipped)\n - 'completed'  → DELIVERED + COMPLETED"
          }
        },
        "description": "Request body for POST /v1/integrations/tiktok-shop/:integrationId/sync-orders.\n\nThis is a NAMED interface on purpose: an inline `@TypedBody()` object type\nmakes Nestia emit an anonymous `__type` in the generated SDK, which then\ncollides with the anonymous `__type` it emits for the response — producing a\nfile that imports `__type` twice and fails to compile. Naming both ends\ngives the SDK stable, non-colliding type identifiers."
      },
      "CloudStorageSyncStatus": {
        "type": "object",
        "properties": {
          "connected": {
            "type": "boolean"
          },
          "provider": {
            "oneOf": [
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "watchedFolder": {
            "type": "object",
            "properties": {
              "id": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "name": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string"
                  }
                ]
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "syncStatus": {
            "oneOf": [
              {
                "const": "idle"
              },
              {
                "const": "syncing"
              }
            ]
          },
          "lastSyncedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "syncedFileCount": {
            "type": "number"
          },
          "authError": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "settings": {
            "type": "object",
            "properties": {
              "keepPartsOnRemoteDelete": {
                "type": "boolean"
              },
              "autoSync": {
                "type": "boolean"
              },
              "syncFileTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "keepPartsOnRemoteDelete",
              "autoSync",
              "syncFileTypes"
            ]
          }
        },
        "required": [
          "connected",
          "provider",
          "watchedFolder",
          "syncStatus",
          "lastSyncedAt",
          "syncedFileCount",
          "authError",
          "settings"
        ],
        "description": "Response describing the current sync status of an integration."
      },
      "CloudStorageFolderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "description": "A folder listing from a cloud storage provider (normalized across providers)."
      },
      "SelectFolderRequest": {
        "type": "object",
        "properties": {
          "folderId": {
            "type": "string"
          },
          "folderName": {
            "type": "string"
          }
        },
        "required": [
          "folderId",
          "folderName"
        ],
        "description": "Request body for selecting a folder to watch."
      },
      "CloudStorageSync": {
        "type": "object",
        "properties": {
          "integrationId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "provider": {
            "oneOf": [
              {
                "const": "google-drive"
              },
              {
                "const": "onedrive"
              }
            ]
          },
          "remoteFileId": {
            "type": "string",
            "title": "The remote file ID from the cloud provider",
            "description": "The remote file ID from the cloud provider."
          },
          "remoteFileName": {
            "type": "string",
            "title": "The remote file name",
            "description": "The remote file name."
          },
          "remoteFolderId": {
            "type": "string",
            "title": "The remote folder ID that actually contains the file",
            "description": "The remote folder ID that actually contains the file."
          },
          "remoteFolderPath": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "description": "Folder names between the watched folder and the file, joined with \"/\"\n(e.g. \"Prototypes/Brackets\"). Null or empty for a file sitting directly in\nthe watched folder. Lets the UI show where a file lives, which the opaque\nremoteFolderId cannot."
          },
          "partId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "pattern": "^[a-z0-9]{24}$"
              }
            ],
            "title": "The Printago part ID this file is synced to",
            "description": "The Printago part ID this file is synced to."
          },
          "remoteFileHash": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Provider-supplied opaque hash of the remote file for change detection",
            "description": "Provider-supplied opaque hash of the remote file for change detection."
          },
          "remoteFileSize": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "number"
              }
            ],
            "title": "Size in bytes of the remote file",
            "description": "Size in bytes of the remote file."
          },
          "remoteModifiedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ],
            "title": "Last modified timestamp from the remote provider",
            "description": "Last modified timestamp from the remote provider."
          },
          "status": {
            "oneOf": [
              {
                "const": "synced"
              },
              {
                "const": "pending"
              },
              {
                "const": "error"
              },
              {
                "const": "deleted_remotely"
              },
              {
                "const": "removed_locally",
                "title": "The part was deleted inside Printago while the file still exists remotely",
                "description": "The part was deleted inside Printago while the file still exists remotely.\nSync deliberately does not recreate it — re-importing on the next run would\nfight a user who deleted it on purpose, and deleting a mirrored folder\nremoves every part inside it at once. Re-import is an explicit action."
              }
            ],
            "title": "Current sync status",
            "description": "Current sync status."
          },
          "lastError": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ],
            "title": "Error message if status is 'error'",
            "description": "Error message if status is 'error'."
          },
          "lastSyncedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string",
                "format": "date-time"
              }
            ],
            "title": "Timestamp of last successful sync",
            "description": "Timestamp of last successful sync."
          },
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "storeId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "integrationId",
          "provider",
          "remoteFileId",
          "remoteFileName",
          "remoteFolderId",
          "remoteFolderPath",
          "partId",
          "remoteFileHash",
          "remoteFileSize",
          "remoteModifiedAt",
          "status",
          "lastError",
          "lastSyncedAt",
          "id",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "description": "A record tracking the sync state of a single file between a cloud provider and Printago."
      },
      "CloudStorageSettingsUpdate": {
        "type": "object",
        "properties": {
          "keepPartsOnRemoteDelete": {
            "type": "boolean"
          },
          "autoSync": {
            "type": "boolean"
          },
          "syncFileTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "description": "Request body for updating cloud-storage sync settings."
      },
      "PasskeySummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          },
          "credentialDeviceType": {
            "type": "string"
          },
          "credentialBackedUp": {
            "type": "boolean"
          },
          "transports": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "lastUsedAt": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "credentialDeviceType",
          "credentialBackedUp",
          "transports",
          "createdAt",
          "lastUsedAt"
        ]
      },
      "UpdatePasskeyRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "PrinterHistoryLastResponse": {
        "type": "object",
        "properties": {
          "printerId": {
            "type": "string",
            "pattern": "^[a-z0-9]{24}$"
          },
          "last": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterHistoryLastEntry"
            }
          }
        },
        "required": [
          "printerId",
          "last"
        ]
      },
      "PrinterHistoryLastEntry": {
        "type": "object",
        "properties": {
          "job": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PrintJob"
              }
            ]
          },
          "part": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Part"
              }
            ]
          },
          "sku": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Sku"
              }
            ]
          },
          "order": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Order"
              }
            ]
          },
          "orderItem": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OrderItem"
              }
            ]
          }
        }
      },
      "PrinterHistoryLastQuery": {
        "type": "object",
        "properties": {
          "refs": {
            "type": "string",
            "pattern": "^(part|sku|job|order|orderItem)(?:,(part|sku|job|order|orderItem))*$",
            "description": "Comma-separated subset of: part, sku, job, order, orderItem. Defaults\nto job when omitted."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "title": "Number of recent terminal jobs to return, 1 to 25. Defaults to 1",
            "description": "Number of recent terminal jobs to return, 1 to 25. Defaults to 1."
          }
        }
      }
    },
    "securitySchemes": {
      "bearer": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Parts"
    },
    {
      "name": "SKUs"
    },
    {
      "name": "Printers"
    },
    {
      "name": "Linked_Parts"
    },
    {
      "name": "Profiles"
    },
    {
      "name": "Print_Jobs"
    },
    {
      "name": "Stores"
    },
    {
      "name": "Printing"
    },
    {
      "name": "Part_Builds"
    },
    {
      "name": "Users"
    },
    {
      "name": "Integrations"
    },
    {
      "name": "SKU_Builds"
    },
    {
      "name": "Folders"
    },
    {
      "name": "Entitlements"
    },
    {
      "name": "Permissions"
    },
    {
      "name": "Settings"
    },
    {
      "name": "Materials"
    },
    {
      "name": "Material_Variants"
    },
    {
      "name": "Material_Groups"
    },
    {
      "name": "Material_Instances"
    },
    {
      "name": "Printer_Slots"
    },
    {
      "name": "SKU_Variants"
    },
    {
      "name": "Cost_Catalog"
    },
    {
      "name": "SKU_Costs"
    },
    {
      "name": "Custom_Fields"
    },
    {
      "name": "Hints"
    },
    {
      "name": "Audit_Logs"
    },
    {
      "name": "Maintenance"
    },
    {
      "name": "Staggered_Start"
    },
    {
      "name": "Print_History"
    },
    {
      "name": "Customizer"
    },
    {
      "name": "Macros"
    },
    {
      "name": "Cards"
    },
    {
      "name": "Sequences"
    },
    {
      "name": "Layouts"
    },
    {
      "name": "Reports"
    },
    {
      "name": "API_Keys"
    },
    {
      "name": "Subscriptions"
    },
    {
      "name": "Files"
    },
    {
      "name": "Orders"
    },
    {
      "name": "Order_Items"
    },
    {
      "name": "Customers"
    },
    {
      "name": "Shopify"
    },
    {
      "name": "Etsy"
    },
    {
      "name": "eBay"
    },
    {
      "name": "TikTok",
      "description": "Shop"
    },
    {
      "name": "Cloud",
      "description": "Storage"
    },
    {
      "name": "Passkeys"
    }
  ],
  "x-samchon-emended": true
}
