{
  "openapi": "3.1.0",
  "info": {
    "title": "ultraquick.tools API",
    "version": "1.0.0",
    "description": "Free online utility tools exposed as a JSON API. No auth. POST a JSON body; GET returns the schema."
  },
  "servers": [
    {
      "url": "https://ultraquick.tools"
    }
  ],
  "paths": {
    "/api/age-calculator": {
      "post": {
        "operationId": "calculate-age",
        "summary": "Calculate exact age between a birth date and a target date (defaults to today).",
        "tags": [
          "Age Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "birthDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Date of birth in YYYY-MM-DD format"
                  },
                  "targetDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Age-at date in YYYY-MM-DD format. Defaults to today if omitted."
                  }
                },
                "required": [
                  "birthDate"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "years": {
                          "type": "integer"
                        },
                        "months": {
                          "type": "integer"
                        },
                        "days": {
                          "type": "integer"
                        },
                        "totalDays": {
                          "type": "integer",
                          "description": "Total days alive"
                        },
                        "nextBirthdayDays": {
                          "type": "integer",
                          "description": "Days until next birthday"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-age_schema",
        "summary": "Schema and example for calculate-age",
        "tags": [
          "Age Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/bmi-calculator": {
      "post": {
        "operationId": "calculate-bmi",
        "summary": "Calculate Body Mass Index from height and weight.",
        "tags": [
          "BMI Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "unit": {
                    "type": "string",
                    "enum": [
                      "metric",
                      "imperial"
                    ],
                    "description": "metric uses cm and kg; imperial uses inches and pounds"
                  },
                  "height": {
                    "type": "number",
                    "description": "Height in cm (metric) or inches (imperial)"
                  },
                  "weight": {
                    "type": "number",
                    "description": "Weight in kg (metric) or pounds (imperial)"
                  },
                  "feet": {
                    "type": "number",
                    "description": "Optional: height in feet (imperial only, combined with inches)"
                  },
                  "inches": {
                    "type": "number",
                    "description": "Optional: additional inches (imperial only)"
                  }
                },
                "required": [
                  "unit",
                  "height",
                  "weight"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "bmi": {
                          "type": "number"
                        },
                        "category": {
                          "type": "string",
                          "enum": [
                            "Underweight",
                            "Normal weight",
                            "Overweight",
                            "Obese"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-bmi_schema",
        "summary": "Schema and example for calculate-bmi",
        "tags": [
          "BMI Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/percentage-of": {
      "post": {
        "operationId": "percentage-of",
        "summary": "Calculate X% of Y.",
        "tags": [
          "Percentage Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number",
                    "description": "The percentage (e.g. 20 for 20%)"
                  },
                  "y": {
                    "type": "number",
                    "description": "The value to take the percentage of"
                  }
                },
                "required": [
                  "x",
                  "y"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number",
                          "description": "x% of y"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "percentage-of_schema",
        "summary": "Schema and example for percentage-of",
        "tags": [
          "Percentage Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/percentage-change": {
      "post": {
        "operationId": "percentage-change",
        "summary": "Calculate the percentage change from value A to value B.",
        "tags": [
          "Percentage Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "number",
                    "description": "Original value (A)"
                  },
                  "to": {
                    "type": "number",
                    "description": "New value (B)"
                  }
                },
                "required": [
                  "from",
                  "to"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "percentChange": {
                          "type": "number"
                        },
                        "direction": {
                          "type": "string",
                          "enum": [
                            "increase",
                            "decrease",
                            "none"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "percentage-change_schema",
        "summary": "Schema and example for percentage-change",
        "tags": [
          "Percentage Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/word-counter": {
      "post": {
        "operationId": "count-words",
        "summary": "Count words, characters, sentences, paragraphs and estimate reading time for given text.",
        "tags": [
          "Word Counter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text to analyze"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "words": {
                          "type": "integer"
                        },
                        "characters": {
                          "type": "integer"
                        },
                        "sentences": {
                          "type": "integer"
                        },
                        "paragraphs": {
                          "type": "integer"
                        },
                        "readingTimeSeconds": {
                          "type": "integer",
                          "description": "Estimated reading time at 200 wpm"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "count-words_schema",
        "summary": "Schema and example for count-words",
        "tags": [
          "Word Counter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/qr-code-generator": {
      "post": {
        "operationId": "generate-qr",
        "summary": "Generate a QR code as an SVG string for the given text or URL.",
        "tags": [
          "QR Code Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Content to encode (URL, text, etc.)"
                  },
                  "size": {
                    "type": "integer",
                    "minimum": 64,
                    "maximum": 1024,
                    "default": 256,
                    "description": "Output size in pixels"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "svg": {
                          "type": "string",
                          "description": "QR code as an SVG image"
                        },
                        "size": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-qr_schema",
        "summary": "Schema and example for generate-qr",
        "tags": [
          "QR Code Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/length-converter": {
      "post": {
        "operationId": "convert-length",
        "summary": "Convert a length value from one unit to all supported units.",
        "tags": [
          "Length Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "m",
                      "km",
                      "cm",
                      "mm",
                      "mi",
                      "ft",
                      "in",
                      "yd",
                      "nmi"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "object"
                        },
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value",
                          "additionalProperties": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-length_schema",
        "summary": "Schema and example for convert-length",
        "tags": [
          "Length Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/loan-calculator": {
      "post": {
        "operationId": "calculate-loan",
        "summary": "Calculate monthly payment, total paid, and total interest for a fixed-rate loan.",
        "tags": [
          "Loan Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "principal": {
                    "type": "number",
                    "description": "Loan amount (principal)"
                  },
                  "annualRate": {
                    "type": "number",
                    "description": "Annual interest rate as a percentage (e.g. 5 for 5 percent)"
                  },
                  "years": {
                    "type": "number",
                    "description": "Loan term in years"
                  }
                },
                "required": [
                  "principal",
                  "annualRate",
                  "years"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "monthlyPayment": {
                          "type": "number"
                        },
                        "totalPaid": {
                          "type": "number"
                        },
                        "totalInterest": {
                          "type": "number"
                        },
                        "numberOfPayments": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-loan_schema",
        "summary": "Schema and example for calculate-loan",
        "tags": [
          "Loan Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/tip-calculator": {
      "post": {
        "operationId": "calculate-tip",
        "summary": "Calculate tip amount, total bill, and per-person cost when splitting.",
        "tags": [
          "Tip Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bill": {
                    "type": "number",
                    "description": "Bill amount before tip"
                  },
                  "tipPercent": {
                    "type": "number",
                    "description": "Tip percentage (e.g. 18 for 18 percent)"
                  },
                  "split": {
                    "type": "integer",
                    "description": "Number of people splitting the bill (default 1, minimum 1)"
                  }
                },
                "required": [
                  "bill",
                  "tipPercent"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "tipAmount": {
                          "type": "number"
                        },
                        "total": {
                          "type": "number"
                        },
                        "perPerson": {
                          "type": "number"
                        },
                        "tipPerPerson": {
                          "type": "number"
                        },
                        "split": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-tip_schema",
        "summary": "Schema and example for calculate-tip",
        "tags": [
          "Tip Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/color-converter": {
      "post": {
        "operationId": "convert-color",
        "summary": "Convert a color between hex, RGB, and HSL formats.",
        "tags": [
          "Color Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "color": {
                    "type": "string",
                    "description": "The color value to convert (hex like #ff8000 or rgb like 255,128,0)"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "hex",
                      "rgb"
                    ],
                    "description": "Format of the input color"
                  }
                },
                "required": [
                  "color",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "hex": {
                          "type": "string"
                        },
                        "rgb": {
                          "type": "string"
                        },
                        "hsl": {
                          "type": "string"
                        },
                        "r": {
                          "type": "integer"
                        },
                        "g": {
                          "type": "integer"
                        },
                        "b": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-color_schema",
        "summary": "Schema and example for convert-color",
        "tags": [
          "Color Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/case-converter": {
      "post": {
        "operationId": "convert-case",
        "summary": "Convert text to a different case style (upper, lower, title, sentence, camel, snake, kebab).",
        "tags": [
          "Case Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text to convert"
                  },
                  "to": {
                    "type": "string",
                    "enum": [
                      "upper",
                      "lower",
                      "title",
                      "sentence",
                      "camel",
                      "snake",
                      "kebab"
                    ],
                    "description": "Target case style"
                  }
                },
                "required": [
                  "text",
                  "to"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-case_schema",
        "summary": "Schema and example for convert-case",
        "tags": [
          "Case Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/date-difference": {
      "post": {
        "operationId": "date-difference",
        "summary": "Calculate the difference between two dates in days, weeks, hours, and approximate months/years.",
        "tags": [
          "Date Difference Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "startDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Start date (YYYY-MM-DD)"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date",
                    "description": "End date (YYYY-MM-DD)"
                  }
                },
                "required": [
                  "startDate",
                  "endDate"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "days": {
                          "type": "integer"
                        },
                        "weeks": {
                          "type": "integer"
                        },
                        "remainingDays": {
                          "type": "integer"
                        },
                        "totalHours": {
                          "type": "integer"
                        },
                        "totalMinutes": {
                          "type": "integer"
                        },
                        "years": {
                          "type": "integer"
                        },
                        "months": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "date-difference_schema",
        "summary": "Schema and example for date-difference",
        "tags": [
          "Date Difference Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/base64-encoder": {
      "post": {
        "operationId": "base64-encode",
        "summary": "Encode text to Base64 or decode Base64 to text.",
        "tags": [
          "Base64 Encoder & Decoder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text to encode or the Base64 string to decode"
                  },
                  "decode": {
                    "type": "boolean",
                    "description": "Set to true to decode Base64 (default false = encode)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "base64-encode_schema",
        "summary": "Schema and example for base64-encode",
        "tags": [
          "Base64 Encoder & Decoder"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/json-formatter": {
      "post": {
        "operationId": "format-json",
        "summary": "Format and validate a JSON string with proper indentation.",
        "tags": [
          "JSON Formatter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "json": {
                    "type": "string",
                    "description": "The JSON string to format"
                  },
                  "indent": {
                    "type": "integer",
                    "description": "Number of spaces for indentation (default 2)"
                  }
                },
                "required": [
                  "json"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "valid": {
                          "type": "boolean"
                        },
                        "error": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "format-json_schema",
        "summary": "Schema and example for format-json",
        "tags": [
          "JSON Formatter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/temperature-converter": {
      "post": {
        "operationId": "convert-temperature",
        "summary": "Convert a temperature between Celsius, Fahrenheit, and Kelvin.",
        "tags": [
          "Temperature Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "Temperature value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "c",
                      "f",
                      "k"
                    ],
                    "description": "Source unit (c=Celsius, f=Fahrenheit, k=Kelvin)"
                  },
                  "to": {
                    "type": "string",
                    "enum": [
                      "c",
                      "f",
                      "k"
                    ],
                    "description": "Target unit"
                  }
                },
                "required": [
                  "value",
                  "from",
                  "to"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number"
                        },
                        "to": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-temperature_schema",
        "summary": "Schema and example for convert-temperature",
        "tags": [
          "Temperature Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/weight-converter": {
      "post": {
        "operationId": "convert-weight",
        "summary": "Convert a weight value from one unit to all supported units.",
        "tags": [
          "Weight Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "kg",
                      "g",
                      "mg",
                      "lb",
                      "oz",
                      "ton",
                      "stone"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-weight_schema",
        "summary": "Schema and example for convert-weight",
        "tags": [
          "Weight Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/hash-generator": {
      "post": {
        "operationId": "generate-hash",
        "summary": "Generate a cryptographic hash (SHA-1, SHA-256, SHA-384, SHA-512) from text.",
        "tags": [
          "Hash Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to hash"
                  },
                  "algorithm": {
                    "type": "string",
                    "enum": [
                      "sha-1",
                      "sha-256",
                      "sha-384",
                      "sha-512"
                    ],
                    "description": "Hash algorithm (default sha-256)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "algorithm": {
                          "type": "string"
                        },
                        "hash": {
                          "type": "string"
                        },
                        "length": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-hash_schema",
        "summary": "Schema and example for generate-hash",
        "tags": [
          "Hash Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/url-encoder": {
      "post": {
        "operationId": "encode-url",
        "summary": "URL-encode or URL-decode a string.",
        "tags": [
          "URL Encoder & Decoder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to encode or URL to decode"
                  },
                  "decode": {
                    "type": "boolean",
                    "description": "Set to true to decode (default false = encode)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "encode-url_schema",
        "summary": "Schema and example for encode-url",
        "tags": [
          "URL Encoder & Decoder"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/number-to-words": {
      "post": {
        "operationId": "number-to-words",
        "summary": "Convert an integer to its English word representation.",
        "tags": [
          "Number to Words"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "integer",
                    "description": "The integer to convert to words"
                  }
                },
                "required": [
                  "number"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "number-to-words_schema",
        "summary": "Schema and example for number-to-words",
        "tags": [
          "Number to Words"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/lorem-ipsum-generator": {
      "post": {
        "operationId": "generate-lorem",
        "summary": "Generate Lorem Ipsum placeholder text.",
        "tags": [
          "Lorem Ipsum Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paragraphs": {
                    "type": "integer",
                    "description": "Number of paragraphs (1-20, default 1)"
                  },
                  "wordsPerParagraph": {
                    "type": "integer",
                    "description": "Words per paragraph (5-500, default 50)"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "paragraphs": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-lorem_schema",
        "summary": "Schema and example for generate-lorem",
        "tags": [
          "Lorem Ipsum Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/data-size-converter": {
      "post": {
        "operationId": "convert-data-size",
        "summary": "Convert a data size between bytes, KB, MB, GB, TB, PB (binary 1024-based).",
        "tags": [
          "Data Size Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "B",
                      "KB",
                      "MB",
                      "GB",
                      "TB",
                      "PB"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-data-size_schema",
        "summary": "Schema and example for convert-data-size",
        "tags": [
          "Data Size Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/random-number-generator": {
      "post": {
        "operationId": "generate-random-number",
        "summary": "Generate random number(s) within a range using crypto RNG.",
        "tags": [
          "Random Number Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "integer",
                    "description": "Minimum value (default 1)"
                  },
                  "max": {
                    "type": "integer",
                    "description": "Maximum value (default 100)"
                  },
                  "count": {
                    "type": "integer",
                    "description": "How many numbers to generate (default 1)"
                  },
                  "unique": {
                    "type": "boolean",
                    "description": "If true, no duplicates (default false)"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "results": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          }
                        },
                        "min": {
                          "type": "integer"
                        },
                        "max": {
                          "type": "integer"
                        },
                        "count": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-random-number_schema",
        "summary": "Schema and example for generate-random-number",
        "tags": [
          "Random Number Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/markdown-to-html": {
      "post": {
        "operationId": "markdown-to-html",
        "summary": "Convert Markdown text to HTML.",
        "tags": [
          "Markdown to HTML Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "markdown": {
                    "type": "string",
                    "description": "Markdown text to convert"
                  }
                },
                "required": [
                  "markdown"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "html": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "markdown-to-html_schema",
        "summary": "Schema and example for markdown-to-html",
        "tags": [
          "Markdown to HTML Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/text-reverser": {
      "post": {
        "operationId": "reverse-text",
        "summary": "Reverse text by characters, words, or lines.",
        "tags": [
          "Text Reverser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to reverse"
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "chars",
                      "words",
                      "lines"
                    ],
                    "description": "Reversal mode (default chars)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "mode": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "reverse-text_schema",
        "summary": "Schema and example for reverse-text",
        "tags": [
          "Text Reverser"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/slug-generator": {
      "post": {
        "operationId": "generate-slug",
        "summary": "Generate a URL-friendly slug from text.",
        "tags": [
          "Slug Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to convert to a slug"
                  },
                  "separator": {
                    "type": "string",
                    "enum": [
                      "-",
                      "_"
                    ],
                    "description": "Separator character (default -)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "slug": {
                          "type": "string"
                        },
                        "separator": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-slug_schema",
        "summary": "Schema and example for generate-slug",
        "tags": [
          "Slug Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/html-entity-encoder": {
      "post": {
        "operationId": "encode-html-entities",
        "summary": "Encode text to HTML entities or decode HTML entities to text.",
        "tags": [
          "HTML Entity Encoder & Decoder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to encode or HTML entities to decode"
                  },
                  "decode": {
                    "type": "boolean",
                    "description": "Set to true to decode entities (default false = encode)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "encode-html-entities_schema",
        "summary": "Schema and example for encode-html-entities",
        "tags": [
          "HTML Entity Encoder & Decoder"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/compound-interest-calculator": {
      "post": {
        "operationId": "calculate-compound-interest",
        "summary": "Calculate compound interest with optional regular contributions.",
        "tags": [
          "Compound Interest Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "principal": {
                    "type": "number",
                    "description": "Initial investment amount"
                  },
                  "annualRate": {
                    "type": "number",
                    "description": "Annual interest rate as a percentage"
                  },
                  "years": {
                    "type": "number",
                    "description": "Investment term in years"
                  },
                  "compoundsPerYear": {
                    "type": "integer",
                    "description": "Compounding frequency per year (default 12)"
                  },
                  "contributions": {
                    "type": "number",
                    "description": "Regular contribution amount (default 0)"
                  },
                  "contributionFreq": {
                    "type": "string",
                    "enum": [
                      "monthly"
                    ],
                    "description": "Contribution frequency (default monthly)"
                  }
                },
                "required": [
                  "principal",
                  "annualRate",
                  "years"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "totalBalance": {
                          "type": "number"
                        },
                        "totalContributions": {
                          "type": "number"
                        },
                        "totalInterest": {
                          "type": "number"
                        },
                        "years": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-compound-interest_schema",
        "summary": "Schema and example for calculate-compound-interest",
        "tags": [
          "Compound Interest Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/discount-calculator": {
      "post": {
        "operationId": "calculate-discount",
        "summary": "Calculate the final price and savings after a percentage discount.",
        "tags": [
          "Discount Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "originalPrice": {
                    "type": "number",
                    "description": "Original price before discount"
                  },
                  "discountPercent": {
                    "type": "number",
                    "description": "Discount percentage (0-100)"
                  }
                },
                "required": [
                  "originalPrice",
                  "discountPercent"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "savings": {
                          "type": "number"
                        },
                        "finalPrice": {
                          "type": "number"
                        },
                        "originalPrice": {
                          "type": "number"
                        },
                        "discountPercent": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-discount_schema",
        "summary": "Schema and example for calculate-discount",
        "tags": [
          "Discount Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/sales-tax-calculator": {
      "post": {
        "operationId": "calculate-sales-tax",
        "summary": "Calculate sales tax on a price (add or extract).",
        "tags": [
          "Sales Tax Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "price": {
                    "type": "number",
                    "description": "Price amount"
                  },
                  "taxRate": {
                    "type": "number",
                    "description": "Tax rate as a percentage"
                  },
                  "taxIncluded": {
                    "type": "boolean",
                    "description": "If true, the price already includes tax (default false)"
                  }
                },
                "required": [
                  "price",
                  "taxRate"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "priceBeforeTax": {
                          "type": "number"
                        },
                        "taxAmount": {
                          "type": "number"
                        },
                        "finalPrice": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-sales-tax_schema",
        "summary": "Schema and example for calculate-sales-tax",
        "tags": [
          "Sales Tax Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/volume-converter": {
      "post": {
        "operationId": "convert-volume",
        "summary": "Convert a volume between liters, gallons, cups, ml, and more.",
        "tags": [
          "Volume Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "l",
                      "ml",
                      "gal",
                      "qt",
                      "pt",
                      "cup",
                      "floz",
                      "tbsp",
                      "tsp",
                      "m3",
                      "cm3"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-volume_schema",
        "summary": "Schema and example for convert-volume",
        "tags": [
          "Volume Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/area-converter": {
      "post": {
        "operationId": "convert-area",
        "summary": "Convert an area between square meters, square feet, acres, hectares, and more.",
        "tags": [
          "Area Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "m2",
                      "km2",
                      "cm2",
                      "mm2",
                      "mi2",
                      "ft2",
                      "in2",
                      "yd2",
                      "ha",
                      "acre"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-area_schema",
        "summary": "Schema and example for convert-area",
        "tags": [
          "Area Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/speed-converter": {
      "post": {
        "operationId": "convert-speed",
        "summary": "Convert a speed between mph, km/h, knots, m/s, ft/s, and Mach.",
        "tags": [
          "Speed Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "ms",
                      "kmh",
                      "mph",
                      "kn",
                      "fts",
                      "mach"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-speed_schema",
        "summary": "Schema and example for convert-speed",
        "tags": [
          "Speed Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/time-converter": {
      "post": {
        "operationId": "convert-time",
        "summary": "Convert time between seconds, minutes, hours, days, weeks, months, and years.",
        "tags": [
          "Time Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "s",
                      "ms",
                      "min",
                      "h",
                      "d",
                      "w",
                      "mo",
                      "y"
                    ],
                    "description": "Source unit"
                  }
                },
                "required": [
                  "value",
                  "from"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "conversions": {
                          "type": "object",
                          "description": "Map of unit code to converted value"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-time_schema",
        "summary": "Schema and example for convert-time",
        "tags": [
          "Time Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/uuid-generator": {
      "post": {
        "operationId": "generate-uuid",
        "summary": "Generate random version 4 UUIDs.",
        "tags": [
          "UUID Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "description": "Number of UUIDs to generate (1-100, default 1)"
                  },
                  "version": {
                    "type": "integer",
                    "description": "UUID version (only 4 supported)"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "uuids": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "version": {
                          "type": "integer"
                        },
                        "count": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-uuid_schema",
        "summary": "Schema and example for generate-uuid",
        "tags": [
          "UUID Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/fraction-calculator": {
      "post": {
        "operationId": "convert-fraction",
        "summary": "Convert a fraction to decimal and simplify it.",
        "tags": [
          "Fraction to Decimal Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numerator": {
                    "type": "number",
                    "description": "The numerator (top)"
                  },
                  "denominator": {
                    "type": "number",
                    "description": "The denominator (bottom)"
                  }
                },
                "required": [
                  "numerator",
                  "denominator"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "decimal": {
                          "type": "number"
                        },
                        "simplified": {
                          "type": "string"
                        },
                        "numerator": {
                          "type": "number"
                        },
                        "denominator": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-fraction_schema",
        "summary": "Schema and example for convert-fraction",
        "tags": [
          "Fraction to Decimal Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/gcd-calculator": {
      "post": {
        "operationId": "calculate-gcd",
        "summary": "Calculate the GCD of two or more integers.",
        "tags": [
          "GCD Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Two or more integers"
                  }
                },
                "required": [
                  "numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "gcd": {
                          "type": "integer"
                        },
                        "numbers": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-gcd_schema",
        "summary": "Schema and example for calculate-gcd",
        "tags": [
          "GCD Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/prime-checker": {
      "post": {
        "operationId": "check-prime",
        "summary": "Check if a number is prime.",
        "tags": [
          "Prime Number Checker"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "integer",
                    "description": "The integer to check"
                  }
                },
                "required": [
                  "number"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "number": {
                          "type": "integer"
                        },
                        "isPrime": {
                          "type": "boolean"
                        },
                        "smallestFactor": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "check-prime_schema",
        "summary": "Schema and example for check-prime",
        "tags": [
          "Prime Number Checker"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/average-calculator": {
      "post": {
        "operationId": "calculate-average",
        "summary": "Calculate mean, median, or mode of a set of numbers.",
        "tags": [
          "Average Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numbers": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    },
                    "description": "List of numbers"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "mean",
                      "median",
                      "mode"
                    ],
                    "description": "Type of average to calculate (default mean)"
                  }
                },
                "required": [
                  "numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "result": {
                          "type": "number"
                        },
                        "numbers": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-average_schema",
        "summary": "Schema and example for calculate-average",
        "tags": [
          "Average Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/roman-numeral-converter": {
      "post": {
        "operationId": "convert-roman",
        "summary": "Convert between numbers and Roman numerals.",
        "tags": [
          "Roman Numeral Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "description": "A number (for to-roman) or a Roman numeral string (for from-roman)"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "to-roman",
                      "from-roman"
                    ],
                    "description": "Conversion direction (default to-roman)"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "roman": {
                          "type": "string"
                        },
                        "number": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-roman_schema",
        "summary": "Schema and example for convert-roman",
        "tags": [
          "Roman Numeral Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/character-counter": {
      "post": {
        "operationId": "count-characters",
        "summary": "Count total characters, unique characters, and frequency of each character.",
        "tags": [
          "Character Counter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to analyze"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "totalChars": {
                          "type": "integer"
                        },
                        "uniqueChars": {
                          "type": "integer"
                        },
                        "frequencies": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "char": {
                                "type": "string"
                              },
                              "count": {
                                "type": "integer"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "count-characters_schema",
        "summary": "Schema and example for count-characters",
        "tags": [
          "Character Counter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/lcm-calculator": {
      "post": {
        "operationId": "calculate-lcm",
        "summary": "Calculate the LCM of two or more integers.",
        "tags": [
          "LCM Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numbers": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Two or more integers"
                  }
                },
                "required": [
                  "numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "lcm": {
                          "type": "integer"
                        },
                        "numbers": {
                          "type": "array",
                          "items": {
                            "type": "integer"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-lcm_schema",
        "summary": "Schema and example for calculate-lcm",
        "tags": [
          "LCM Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/factorial-calculator": {
      "post": {
        "operationId": "calculate-factorial",
        "summary": "Calculate the factorial of a non-negative integer.",
        "tags": [
          "Factorial Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "number": {
                    "type": "integer",
                    "description": "Non-negative integer (max 170)"
                  }
                },
                "required": [
                  "number"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number"
                        },
                        "number": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-factorial_schema",
        "summary": "Schema and example for calculate-factorial",
        "tags": [
          "Factorial Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/exponent-calculator": {
      "post": {
        "operationId": "calculate-exponent",
        "summary": "Calculate base raised to the power of exponent.",
        "tags": [
          "Exponent Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "base": {
                    "type": "number",
                    "description": "The base number"
                  },
                  "exponent": {
                    "type": "number",
                    "description": "The exponent (power)"
                  }
                },
                "required": [
                  "base",
                  "exponent"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number"
                        },
                        "base": {
                          "type": "number"
                        },
                        "exponent": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-exponent_schema",
        "summary": "Schema and example for calculate-exponent",
        "tags": [
          "Exponent Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/ratio-calculator": {
      "post": {
        "operationId": "calculate-ratio",
        "summary": "Calculate and simplify the ratio of two numbers.",
        "tags": [
          "Ratio Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value1": {
                    "type": "number",
                    "description": "First value"
                  },
                  "value2": {
                    "type": "number",
                    "description": "Second value"
                  }
                },
                "required": [
                  "value1",
                  "value2"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "ratio": {
                          "type": "number"
                        },
                        "simplified": {
                          "type": "string"
                        },
                        "value1": {
                          "type": "number"
                        },
                        "value2": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-ratio_schema",
        "summary": "Schema and example for calculate-ratio",
        "tags": [
          "Ratio Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/circle-calculator": {
      "post": {
        "operationId": "calculate-circle",
        "summary": "Calculate area, circumference, or diameter of a circle.",
        "tags": [
          "Circle Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "radius": {
                    "type": "number",
                    "description": "The radius of the circle"
                  },
                  "calculation": {
                    "type": "string",
                    "enum": [
                      "area",
                      "circumference",
                      "diameter"
                    ],
                    "description": "What to calculate (default area)"
                  }
                },
                "required": [
                  "radius"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "area": {
                          "type": "number"
                        },
                        "circumference": {
                          "type": "number"
                        },
                        "diameter": {
                          "type": "number"
                        },
                        "radius": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-circle_schema",
        "summary": "Schema and example for calculate-circle",
        "tags": [
          "Circle Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/savings-goal-calculator": {
      "post": {
        "operationId": "calculate-savings-goal",
        "summary": "Project savings growth toward a goal.",
        "tags": [
          "Savings Goal Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "goal": {
                    "type": "number",
                    "description": "Target savings amount"
                  },
                  "currentSavings": {
                    "type": "number",
                    "description": "Current savings (default 0)"
                  },
                  "monthlyContribution": {
                    "type": "number",
                    "description": "Monthly contribution amount"
                  },
                  "annualRate": {
                    "type": "number",
                    "description": "Annual interest rate as percentage (default 0)"
                  },
                  "months": {
                    "type": "number",
                    "description": "Maximum months to simulate"
                  }
                },
                "required": [
                  "goal",
                  "months"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "monthlyContribution": {
                          "type": "number"
                        },
                        "monthsToGoal": {
                          "type": "number"
                        },
                        "finalBalance": {
                          "type": "number"
                        },
                        "goalMet": {
                          "type": "boolean"
                        },
                        "shortfall": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-savings-goal_schema",
        "summary": "Schema and example for calculate-savings-goal",
        "tags": [
          "Savings Goal Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/net-worth-calculator": {
      "post": {
        "operationId": "calculate-net-worth",
        "summary": "Calculate net worth from assets and liabilities.",
        "tags": [
          "Net Worth Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assets": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    },
                    "description": "List of asset values"
                  },
                  "liabilities": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    },
                    "description": "List of liability values"
                  }
                },
                "required": [
                  "assets",
                  "liabilities"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "totalAssets": {
                          "type": "number"
                        },
                        "totalLiabilities": {
                          "type": "number"
                        },
                        "netWorth": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-net-worth_schema",
        "summary": "Schema and example for calculate-net-worth",
        "tags": [
          "Net Worth Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/token-counter": {
      "post": {
        "operationId": "count-tokens",
        "summary": "Estimate token count for LLM prompts.",
        "tags": [
          "Token Counter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to count tokens for"
                  },
                  "model": {
                    "type": "string",
                    "description": "LLM model name (e.g. gpt-4, claude-3.5-sonnet)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "tokens": {
                          "type": "integer"
                        },
                        "characters": {
                          "type": "integer"
                        },
                        "words": {
                          "type": "integer"
                        },
                        "contextWindow": {
                          "type": "integer"
                        },
                        "percentOfContext": {
                          "type": "number"
                        },
                        "remainingTokens": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "count-tokens_schema",
        "summary": "Schema and example for count-tokens",
        "tags": [
          "Token Counter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/regex-tester": {
      "post": {
        "operationId": "test-regex",
        "summary": "Test a regular expression against text.",
        "tags": [
          "Regex Tester"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pattern": {
                    "type": "string",
                    "description": "Regular expression pattern"
                  },
                  "flags": {
                    "type": "string",
                    "description": "Regex flags (e.g. g, gi, gm)"
                  },
                  "testString": {
                    "type": "string",
                    "description": "Text to test against"
                  }
                },
                "required": [
                  "pattern",
                  "testString"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "valid": {
                          "type": "boolean"
                        },
                        "matches": {
                          "type": "array"
                        },
                        "matchCount": {
                          "type": "integer"
                        },
                        "error": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "test-regex_schema",
        "summary": "Schema and example for test-regex",
        "tags": [
          "Regex Tester"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/jwt-decoder": {
      "post": {
        "operationId": "decode-jwt",
        "summary": "Decode a JWT and inspect header, payload, and expiry.",
        "tags": [
          "JWT Decoder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "token": {
                    "type": "string",
                    "description": "The JWT string to decode"
                  }
                },
                "required": [
                  "token"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "header": {
                          "type": "object"
                        },
                        "payload": {
                          "type": "object"
                        },
                        "isExpired": {
                          "type": "boolean"
                        },
                        "expiresAt": {
                          "type": "string"
                        },
                        "issuedAt": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "decode-jwt_schema",
        "summary": "Schema and example for decode-jwt",
        "tags": [
          "JWT Decoder"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/cron-generator": {
      "post": {
        "operationId": "generate-cron",
        "summary": "Generate a cron expression from schedule fields.",
        "tags": [
          "Cron Expression Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "minute": {
                    "type": "string",
                    "description": "Minute field (default *)"
                  },
                  "hour": {
                    "type": "string",
                    "description": "Hour field (default *)"
                  },
                  "day": {
                    "type": "string",
                    "description": "Day of month (default *)"
                  },
                  "month": {
                    "type": "string",
                    "description": "Month (default *)"
                  },
                  "weekday": {
                    "type": "string",
                    "description": "Day of week (default *)"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "cron": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-cron_schema",
        "summary": "Schema and example for generate-cron",
        "tags": [
          "Cron Expression Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/gradient-generator": {
      "post": {
        "operationId": "generate-gradient",
        "summary": "Generate a CSS gradient.",
        "tags": [
          "CSS Gradient Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "linear",
                      "radial",
                      "conic"
                    ],
                    "description": "Gradient type (default linear)"
                  },
                  "from": {
                    "type": "string",
                    "description": "Starting hex color"
                  },
                  "to": {
                    "type": "string",
                    "description": "Ending hex color"
                  },
                  "angle": {
                    "type": "number",
                    "description": "Angle in degrees (default 90)"
                  }
                },
                "required": [
                  "from",
                  "to"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "css": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        },
                        "from": {
                          "type": "string"
                        },
                        "to": {
                          "type": "string"
                        },
                        "angle": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-gradient_schema",
        "summary": "Schema and example for generate-gradient",
        "tags": [
          "CSS Gradient Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/meta-tag-generator": {
      "post": {
        "operationId": "generate-meta-tags",
        "summary": "Generate SEO meta tags, Open Graph, Twitter Cards, and JSON-LD.",
        "tags": [
          "Meta Tag Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Page title"
                  },
                  "description": {
                    "type": "string",
                    "description": "Meta description"
                  },
                  "url": {
                    "type": "string",
                    "description": "Canonical URL"
                  },
                  "image": {
                    "type": "string",
                    "description": "Social sharing image URL"
                  },
                  "siteName": {
                    "type": "string",
                    "description": "Site name for JSON-LD"
                  }
                },
                "required": [
                  "title",
                  "description"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "html": {
                          "type": "string"
                        },
                        "tags": {
                          "type": "array"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-meta-tags_schema",
        "summary": "Schema and example for generate-meta-tags",
        "tags": [
          "Meta Tag Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/hashtag-generator": {
      "post": {
        "operationId": "generate-hashtags",
        "summary": "Generate hashtags from text.",
        "tags": [
          "Hashtag Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to extract hashtags from"
                  },
                  "maxTags": {
                    "type": "integer",
                    "description": "Maximum number of hashtags (default 10)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "hashtags": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "count": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-hashtags_schema",
        "summary": "Schema and example for generate-hashtags",
        "tags": [
          "Hashtag Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/bmr-calculator": {
      "post": {
        "operationId": "calculate-bmr",
        "summary": "Estimate Basal Metabolic Rate from gender, age, weight, and height.",
        "tags": [
          "BMR Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gender": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ],
                    "description": "Biological sex"
                  },
                  "age": {
                    "type": "number",
                    "description": "Age in years"
                  },
                  "weight": {
                    "type": "number",
                    "description": "Weight in kilograms"
                  },
                  "height": {
                    "type": "number",
                    "description": "Height in centimetres"
                  },
                  "formula": {
                    "type": "string",
                    "enum": [
                      "mifflin",
                      "harris"
                    ],
                    "description": "Formula to use (default mifflin)"
                  }
                },
                "required": [
                  "gender",
                  "age",
                  "weight",
                  "height"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "bmr": {
                          "type": "number"
                        },
                        "formula": {
                          "type": "string"
                        },
                        "gender": {
                          "type": "string"
                        },
                        "age": {
                          "type": "number"
                        },
                        "weight": {
                          "type": "number"
                        },
                        "height": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-bmr_schema",
        "summary": "Schema and example for calculate-bmr",
        "tags": [
          "BMR Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/calorie-calculator": {
      "post": {
        "operationId": "calculate-calories",
        "summary": "Estimate daily calorie needs (TDEE) and goal targets from body metrics and activity.",
        "tags": [
          "Calorie Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gender": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ],
                    "description": "Biological sex"
                  },
                  "age": {
                    "type": "number",
                    "description": "Age in years"
                  },
                  "weight": {
                    "type": "number",
                    "description": "Weight in kilograms"
                  },
                  "height": {
                    "type": "number",
                    "description": "Height in centimetres"
                  },
                  "activity": {
                    "type": "string",
                    "enum": [
                      "sedentary",
                      "light",
                      "moderate",
                      "active",
                      "very_active"
                    ],
                    "description": "Activity level (default moderate)"
                  }
                },
                "required": [
                  "gender",
                  "age",
                  "weight",
                  "height"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "bmr": {
                          "type": "number"
                        },
                        "activity": {
                          "type": "string"
                        },
                        "activityFactor": {
                          "type": "number"
                        },
                        "maintenance": {
                          "type": "number"
                        },
                        "mildLoss": {
                          "type": "number"
                        },
                        "loss": {
                          "type": "number"
                        },
                        "mildGain": {
                          "type": "number"
                        },
                        "gain": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-calories_schema",
        "summary": "Schema and example for calculate-calories",
        "tags": [
          "Calorie Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/ideal-weight-calculator": {
      "post": {
        "operationId": "calculate-ideal-weight",
        "summary": "Estimate ideal body weight from gender and height using four medical formulas.",
        "tags": [
          "Ideal Weight Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gender": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ],
                    "description": "Biological sex"
                  },
                  "heightCm": {
                    "type": "number",
                    "description": "Height in centimetres"
                  }
                },
                "required": [
                  "gender",
                  "heightCm"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "gender": {
                          "type": "string"
                        },
                        "heightCm": {
                          "type": "number"
                        },
                        "heightInches": {
                          "type": "number"
                        },
                        "formulas": {
                          "type": "object",
                          "properties": {
                            "devine": {
                              "type": "number"
                            },
                            "robinson": {
                              "type": "number"
                            },
                            "hamwi": {
                              "type": "number"
                            },
                            "miller": {
                              "type": "number"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-ideal-weight_schema",
        "summary": "Schema and example for calculate-ideal-weight",
        "tags": [
          "Ideal Weight Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/simple-interest-calculator": {
      "post": {
        "operationId": "calculate-simple-interest",
        "summary": "Calculate simple interest and total amount from principal, rate, and time.",
        "tags": [
          "Simple Interest Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "principal": {
                    "type": "number",
                    "description": "Principal amount"
                  },
                  "rate": {
                    "type": "number",
                    "description": "Annual interest rate as a percentage"
                  },
                  "time": {
                    "type": "number",
                    "description": "Time period"
                  },
                  "timeUnit": {
                    "type": "string",
                    "enum": [
                      "years",
                      "months",
                      "days"
                    ],
                    "description": "Unit of time (default years)"
                  }
                },
                "required": [
                  "principal",
                  "rate",
                  "time"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "principal": {
                          "type": "number"
                        },
                        "rate": {
                          "type": "number"
                        },
                        "time": {
                          "type": "number"
                        },
                        "timeUnit": {
                          "type": "string"
                        },
                        "interest": {
                          "type": "number"
                        },
                        "total": {
                          "type": "number"
                        },
                        "years": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-simple-interest_schema",
        "summary": "Schema and example for calculate-simple-interest",
        "tags": [
          "Simple Interest Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/roi-calculator": {
      "post": {
        "operationId": "calculate-roi",
        "summary": "Calculate return on investment and optional annualized ROI.",
        "tags": [
          "ROI Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cost": {
                    "type": "number",
                    "description": "Initial investment amount"
                  },
                  "returnValue": {
                    "type": "number",
                    "description": "Current or final value"
                  },
                  "years": {
                    "type": "number",
                    "description": "Holding period in years (optional, enables annualized ROI)"
                  }
                },
                "required": [
                  "cost",
                  "returnValue"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "cost": {
                          "type": "number"
                        },
                        "currentValue": {
                          "type": "number"
                        },
                        "netProfit": {
                          "type": "number"
                        },
                        "roi": {
                          "type": "number"
                        },
                        "years": {
                          "type": "number"
                        },
                        "annualizedRoi": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-roi_schema",
        "summary": "Schema and example for calculate-roi",
        "tags": [
          "ROI Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/time-zone-converter": {
      "post": {
        "operationId": "convert-time-zone",
        "summary": "Convert a wall-clock date and time from one IANA time zone to another.",
        "tags": [
          "Time Zone Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "datetime": {
                    "type": "string",
                    "description": "Date and time as YYYY-MM-DDTHH:mm (wall-clock in fromZone)"
                  },
                  "fromZone": {
                    "type": "string",
                    "description": "Source IANA time zone (e.g. America/New_York)"
                  },
                  "toZone": {
                    "type": "string",
                    "description": "Target IANA time zone (e.g. Europe/London)"
                  }
                },
                "required": [
                  "datetime",
                  "fromZone",
                  "toZone"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "fromZone": {
                          "type": "string"
                        },
                        "toZone": {
                          "type": "string"
                        },
                        "fromTime": {
                          "type": "string"
                        },
                        "toTime": {
                          "type": "string"
                        },
                        "fromOffset": {
                          "type": "string"
                        },
                        "toOffset": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-time-zone_schema",
        "summary": "Schema and example for convert-time-zone",
        "tags": [
          "Time Zone Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/mortgage-calculator": {
      "post": {
        "operationId": "calculate-mortgage",
        "summary": "Calculate a fixed-rate mortgage monthly payment, total paid, and total interest.",
        "tags": [
          "Mortgage Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "principal": {
                    "type": "number",
                    "description": "Home price"
                  },
                  "annualRate": {
                    "type": "number",
                    "description": "Annual interest rate as a percentage"
                  },
                  "years": {
                    "type": "number",
                    "description": "Loan term in years"
                  },
                  "downPayment": {
                    "type": "number",
                    "description": "Down payment (default 0)"
                  }
                },
                "required": [
                  "principal",
                  "annualRate",
                  "years"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "principal": {
                          "type": "number"
                        },
                        "downPayment": {
                          "type": "number"
                        },
                        "loanAmount": {
                          "type": "number"
                        },
                        "annualRate": {
                          "type": "number"
                        },
                        "years": {
                          "type": "number"
                        },
                        "months": {
                          "type": "number"
                        },
                        "monthlyPayment": {
                          "type": "number"
                        },
                        "totalPaid": {
                          "type": "number"
                        },
                        "totalInterest": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-mortgage_schema",
        "summary": "Schema and example for calculate-mortgage",
        "tags": [
          "Mortgage Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/inflation-calculator": {
      "post": {
        "operationId": "calculate-inflation",
        "summary": "Calculate future value, purchasing power, and inflation factor from a constant inflation rate.",
        "tags": [
          "Inflation Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number",
                    "description": "Starting amount"
                  },
                  "startRate": {
                    "type": "number",
                    "description": "Optional discount/return rate as a percentage (for real value)"
                  },
                  "endRate": {
                    "type": "number",
                    "description": "Annual inflation rate as a percentage"
                  },
                  "years": {
                    "type": "number",
                    "description": "Number of years"
                  }
                },
                "required": [
                  "amount",
                  "endRate",
                  "years"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "amount": {
                          "type": "number"
                        },
                        "futureValue": {
                          "type": "number"
                        },
                        "purchasingPower": {
                          "type": "number"
                        },
                        "realValue": {
                          "type": "number"
                        },
                        "inflationFactor": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-inflation_schema",
        "summary": "Schema and example for calculate-inflation",
        "tags": [
          "Inflation Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/salary-calculator": {
      "post": {
        "operationId": "calculate-salary",
        "summary": "Convert an hourly wage to annual, monthly, weekly, and daily salary.",
        "tags": [
          "Salary Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hourlyRate": {
                    "type": "number",
                    "description": "Hourly wage"
                  },
                  "hoursPerWeek": {
                    "type": "number",
                    "description": "Hours worked per week (default 40)"
                  },
                  "weeksPerYear": {
                    "type": "number",
                    "description": "Weeks worked per year (default 52)"
                  }
                },
                "required": [
                  "hourlyRate"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "hourlyRate": {
                          "type": "number"
                        },
                        "annual": {
                          "type": "number"
                        },
                        "monthly": {
                          "type": "number"
                        },
                        "weekly": {
                          "type": "number"
                        },
                        "daily": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-salary_schema",
        "summary": "Schema and example for calculate-salary",
        "tags": [
          "Salary Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/hex-to-rgb-converter": {
      "post": {
        "operationId": "convert-hex-to-rgb",
        "summary": "Convert a hex color code to RGB and HSL values.",
        "tags": [
          "Hex to RGB Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hex": {
                    "type": "string",
                    "description": "Hex color, with or without leading #, 3 or 6 digits"
                  }
                },
                "required": [
                  "hex"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "hex": {
                          "type": "string"
                        },
                        "rgb": {
                          "type": "string"
                        },
                        "r": {
                          "type": "number"
                        },
                        "g": {
                          "type": "number"
                        },
                        "b": {
                          "type": "number"
                        },
                        "hsl": {
                          "type": "string"
                        },
                        "hslValues": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-hex-to-rgb_schema",
        "summary": "Schema and example for convert-hex-to-rgb",
        "tags": [
          "Hex to RGB Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/binary-converter": {
      "post": {
        "operationId": "convert-binary",
        "summary": "Convert a number between binary, octal, decimal, and hexadecimal.",
        "tags": [
          "Binary Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "The number to convert, as text"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "binary",
                      "octal",
                      "decimal",
                      "hex"
                    ],
                    "description": "Source base (default decimal)"
                  },
                  "to": {
                    "type": "string",
                    "enum": [
                      "binary",
                      "octal",
                      "decimal",
                      "hex"
                    ],
                    "description": "Target base (default binary)"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "from": {
                          "type": "string"
                        },
                        "to": {
                          "type": "string"
                        },
                        "decimal": {
                          "type": "number"
                        },
                        "binary": {
                          "type": "string"
                        },
                        "octal": {
                          "type": "string"
                        },
                        "hex": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-binary_schema",
        "summary": "Schema and example for convert-binary",
        "tags": [
          "Binary Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/standard-deviation-calculator": {
      "post": {
        "operationId": "calculate-standard-deviation",
        "summary": "Calculate standard deviation, variance, mean, median, and range of a dataset.",
        "tags": [
          "Standard Deviation Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numbers": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    },
                    "description": "List of numbers, or a string of numbers separated by commas or spaces"
                  },
                  "sample": {
                    "type": "boolean",
                    "description": "Sample (n−1) vs population (n); default true"
                  }
                },
                "required": [
                  "numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "count": {
                          "type": "number"
                        },
                        "mean": {
                          "type": "number"
                        },
                        "median": {
                          "type": "number"
                        },
                        "sum": {
                          "type": "number"
                        },
                        "min": {
                          "type": "number"
                        },
                        "max": {
                          "type": "number"
                        },
                        "range": {
                          "type": "number"
                        },
                        "variance": {
                          "type": "number"
                        },
                        "standardDeviation": {
                          "type": "number"
                        },
                        "sample": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-standard-deviation_schema",
        "summary": "Schema and example for calculate-standard-deviation",
        "tags": [
          "Standard Deviation Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/permutation-combination-calculator": {
      "post": {
        "operationId": "calculate-permutation-combination",
        "summary": "Calculate permutation (nPr) and/or combination (nCr) of n items taken r at a time.",
        "tags": [
          "Permutation and Combination Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "n": {
                    "type": "number",
                    "description": "Total number of items"
                  },
                  "r": {
                    "type": "number",
                    "description": "Number of items to choose"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "both",
                      "permutation",
                      "combination"
                    ],
                    "description": "What to compute (default both)"
                  }
                },
                "required": [
                  "n",
                  "r"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "n": {
                          "type": "number"
                        },
                        "r": {
                          "type": "number"
                        },
                        "permutation": {
                          "type": "number"
                        },
                        "combination": {
                          "type": "number"
                        },
                        "result": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-permutation-combination_schema",
        "summary": "Schema and example for calculate-permutation-combination",
        "tags": [
          "Permutation and Combination Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/quadratic-equation-solver": {
      "post": {
        "operationId": "solve-quadratic",
        "summary": "Solve ax² + bx + c = 0, returning discriminant, nature, and roots.",
        "tags": [
          "Quadratic Equation Solver"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "a": {
                    "type": "number",
                    "description": "Coefficient of x² (must be non-zero)"
                  },
                  "b": {
                    "type": "number",
                    "description": "Coefficient of x"
                  },
                  "c": {
                    "type": "number",
                    "description": "Constant term"
                  }
                },
                "required": [
                  "a",
                  "b",
                  "c"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "a": {
                          "type": "number"
                        },
                        "b": {
                          "type": "number"
                        },
                        "c": {
                          "type": "number"
                        },
                        "discriminant": {
                          "type": "number"
                        },
                        "roots": {
                          "type": "array"
                        },
                        "nature": {
                          "type": "string"
                        },
                        "equation": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "solve-quadratic_schema",
        "summary": "Schema and example for solve-quadratic",
        "tags": [
          "Quadratic Equation Solver"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/triangle-calculator": {
      "post": {
        "operationId": "calculate-triangle",
        "summary": "Solve a triangle from three sides: area, perimeter, angles, and classification.",
        "tags": [
          "Triangle Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "a": {
                    "type": "number",
                    "description": "Side a"
                  },
                  "b": {
                    "type": "number",
                    "description": "Side b"
                  },
                  "c": {
                    "type": "number",
                    "description": "Side c"
                  }
                },
                "required": [
                  "a",
                  "b",
                  "c"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "area": {
                          "type": "number"
                        },
                        "perimeter": {
                          "type": "number"
                        },
                        "semiPerimeter": {
                          "type": "number"
                        },
                        "angles": {
                          "type": "object"
                        },
                        "type": {
                          "type": "string"
                        },
                        "angleType": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-triangle_schema",
        "summary": "Schema and example for calculate-triangle",
        "tags": [
          "Triangle Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/css-box-shadow-generator": {
      "post": {
        "operationId": "generate-box-shadow",
        "summary": "Generate a CSS box-shadow string from offset, blur, spread, color, and inset.",
        "tags": [
          "CSS Box Shadow Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hOffset": {
                    "type": "number",
                    "description": "Horizontal offset in px (default 4)"
                  },
                  "vOffset": {
                    "type": "number",
                    "description": "Vertical offset in px (default 4)"
                  },
                  "blur": {
                    "type": "number",
                    "description": "Blur radius in px (default 10)"
                  },
                  "spread": {
                    "type": "number",
                    "description": "Spread radius in px (default 0)"
                  },
                  "color": {
                    "type": "string",
                    "description": "Hex or rgb()/rgba() color (default #00000040)"
                  },
                  "inset": {
                    "type": "boolean",
                    "description": "Inset shadow (default false)"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "hOffset": {
                          "type": "number"
                        },
                        "vOffset": {
                          "type": "number"
                        },
                        "blur": {
                          "type": "number"
                        },
                        "spread": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "inset": {
                          "type": "boolean"
                        },
                        "css": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-box-shadow_schema",
        "summary": "Schema and example for generate-box-shadow",
        "tags": [
          "CSS Box Shadow Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/dice-roller": {
      "post": {
        "operationId": "roll-dice",
        "summary": "Roll a given number of dice with a given number of sides.",
        "tags": [
          "Dice Roller"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "number",
                    "description": "Number of dice to roll (default 1)"
                  },
                  "sides": {
                    "type": "number",
                    "description": "Sides per die, at least 2 (default 6)"
                  },
                  "seed": {
                    "type": "number",
                    "description": "Optional seed for reproducible rolls"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "count": {
                          "type": "number"
                        },
                        "sides": {
                          "type": "number"
                        },
                        "rolls": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "total": {
                          "type": "number"
                        },
                        "average": {
                          "type": "number"
                        },
                        "min": {
                          "type": "number"
                        },
                        "max": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "roll-dice_schema",
        "summary": "Schema and example for roll-dice",
        "tags": [
          "Dice Roller"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/lottery-number-generator": {
      "post": {
        "operationId": "generate-lottery-numbers",
        "summary": "Generate a set of unique, sorted random lottery numbers from a range.",
        "tags": [
          "Lottery Number Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "number",
                    "description": "How many numbers to pick (default 6)"
                  },
                  "min": {
                    "type": "number",
                    "description": "Lowest number in the range (default 1)"
                  },
                  "max": {
                    "type": "number",
                    "description": "Highest number in the range (default 49)"
                  },
                  "seed": {
                    "type": "number",
                    "description": "Optional seed for reproducible picks"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "count": {
                          "type": "number"
                        },
                        "min": {
                          "type": "number"
                        },
                        "max": {
                          "type": "number"
                        },
                        "numbers": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-lottery-numbers_schema",
        "summary": "Schema and example for generate-lottery-numbers",
        "tags": [
          "Lottery Number Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/morse-code-translator": {
      "post": {
        "operationId": "translate-morse",
        "summary": "Translate text to Morse code, or Morse code back to text.",
        "tags": [
          "Morse Code Translator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text or Morse code to translate"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "to",
                      "from"
                    ],
                    "description": "\"to\" = text to Morse, \"from\" = Morse to text (default \"to\")"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "direction": {
                          "type": "string"
                        },
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "translate-morse_schema",
        "summary": "Schema and example for translate-morse",
        "tags": [
          "Morse Code Translator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/caesar-cipher": {
      "post": {
        "operationId": "caesar-cipher",
        "summary": "Encrypt or decrypt text with a Caesar shift cipher.",
        "tags": [
          "Caesar Cipher"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text to encipher"
                  },
                  "shift": {
                    "type": "number",
                    "description": "Number of positions to shift (default 3)"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "encrypt",
                      "decrypt"
                    ],
                    "description": "Encrypt or decrypt (default encrypt)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "shift": {
                          "type": "number"
                        },
                        "direction": {
                          "type": "string"
                        },
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "caesar-cipher_schema",
        "summary": "Schema and example for caesar-cipher",
        "tags": [
          "Caesar Cipher"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/pig-latin-translator": {
      "post": {
        "operationId": "translate-pig-latin",
        "summary": "Translate English text into Pig Latin.",
        "tags": [
          "Pig Latin Translator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "English text to translate"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "to"
                    ],
                    "description": "Only \"to\" is supported"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "direction": {
                          "type": "string"
                        },
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "translate-pig-latin_schema",
        "summary": "Schema and example for translate-pig-latin",
        "tags": [
          "Pig Latin Translator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/email-validator": {
      "post": {
        "operationId": "validate-email",
        "summary": "Validate the syntax of an email address and split it into parts.",
        "tags": [
          "Email Validator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "description": "The email address to validate"
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "email": {
                          "type": "string"
                        },
                        "valid": {
                          "type": "boolean"
                        },
                        "local": {
                          "type": "string"
                        },
                        "domain": {
                          "type": "string"
                        },
                        "hasTld": {
                          "type": "boolean"
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "validate-email_schema",
        "summary": "Schema and example for validate-email",
        "tags": [
          "Email Validator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/url-parser": {
      "post": {
        "operationId": "parse-url",
        "summary": "Parse a URL into protocol, host, port, path, query, and fragment.",
        "tags": [
          "URL Parser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "The URL to parse (https assumed if no scheme)"
                  }
                },
                "required": [
                  "url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "href": {
                          "type": "string"
                        },
                        "protocol": {
                          "type": "string"
                        },
                        "hostname": {
                          "type": "string"
                        },
                        "port": {
                          "type": "string"
                        },
                        "pathname": {
                          "type": "string"
                        },
                        "search": {
                          "type": "string"
                        },
                        "hash": {
                          "type": "string"
                        },
                        "origin": {
                          "type": "string"
                        },
                        "queryParams": {
                          "type": "object"
                        },
                        "hasQuery": {
                          "type": "boolean"
                        },
                        "hasFragment": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "parse-url_schema",
        "summary": "Schema and example for parse-url",
        "tags": [
          "URL Parser"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/scientific-notation-converter": {
      "post": {
        "operationId": "convert-scientific-notation",
        "summary": "Convert a decimal to scientific notation, or scientific notation back to decimal.",
        "tags": [
          "Scientific Notation Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "The number, as a decimal or scientific-notation string"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "to",
                      "from"
                    ],
                    "description": "\"to\" = decimal to scientific, \"from\" = scientific to decimal (default \"to\")"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "direction": {
                          "type": "string"
                        },
                        "result": {
                          "type": "string"
                        },
                        "scientific": {
                          "type": "string"
                        },
                        "numeric": {
                          "type": "number"
                        },
                        "mantissa": {
                          "type": "number"
                        },
                        "exponent": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-scientific-notation_schema",
        "summary": "Schema and example for convert-scientific-notation",
        "tags": [
          "Scientific Notation Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/decimal-to-fraction-converter": {
      "post": {
        "operationId": "convert-decimal-to-fraction",
        "summary": "Convert a decimal to a simplified fraction and mixed number.",
        "tags": [
          "Decimal to Fraction Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The decimal number to convert"
                  },
                  "maxDenominator": {
                    "type": "number",
                    "description": "Largest denominator to allow (default 10000)"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "decimal": {
                          "type": "number"
                        },
                        "numerator": {
                          "type": "number"
                        },
                        "denominator": {
                          "type": "number"
                        },
                        "fraction": {
                          "type": "string"
                        },
                        "mixed": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-decimal-to-fraction_schema",
        "summary": "Schema and example for convert-decimal-to-fraction",
        "tags": [
          "Decimal to Fraction Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/remove-duplicate-lines": {
      "post": {
        "operationId": "remove-duplicate-lines",
        "summary": "Remove duplicate lines from text, keeping the first occurrence.",
        "tags": [
          "Remove Duplicate Lines"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The input text"
                  },
                  "caseSensitive": {
                    "type": "boolean",
                    "description": "Treat lines differing only in case as duplicates (default true)"
                  },
                  "trimWhitespace": {
                    "type": "boolean",
                    "description": "Trim each line before comparing (default false)"
                  },
                  "keepEmptyLines": {
                    "type": "boolean",
                    "description": "Preserve blank lines (default false)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "originalCount": {
                          "type": "number"
                        },
                        "uniqueCount": {
                          "type": "number"
                        },
                        "removedCount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "remove-duplicate-lines_schema",
        "summary": "Schema and example for remove-duplicate-lines",
        "tags": [
          "Remove Duplicate Lines"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/find-and-replace-text": {
      "post": {
        "operationId": "find-and-replace",
        "summary": "Find and replace text using literal or regex matching.",
        "tags": [
          "Find and Replace Text"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The input text"
                  },
                  "find": {
                    "type": "string",
                    "description": "The string or regex to find"
                  },
                  "replace": {
                    "type": "string",
                    "description": "The replacement string (default empty)"
                  },
                  "useRegex": {
                    "type": "boolean",
                    "description": "Treat find as a regular expression (default false)"
                  },
                  "caseSensitive": {
                    "type": "boolean",
                    "description": "Case-sensitive match (default true)"
                  },
                  "global": {
                    "type": "boolean",
                    "description": "Replace all matches (default true)"
                  }
                },
                "required": [
                  "text",
                  "find"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "replacements": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "find-and-replace_schema",
        "summary": "Schema and example for find-and-replace",
        "tags": [
          "Find and Replace Text"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/json-to-csv-converter": {
      "post": {
        "operationId": "convert-json-to-csv",
        "summary": "Convert a JSON array of objects to CSV.",
        "tags": [
          "JSON to CSV Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "json": {
                    "type": "string",
                    "description": "A JSON string or already-parsed value"
                  },
                  "flatten": {
                    "type": "boolean",
                    "description": "Flatten nested objects with dot notation (default true)"
                  }
                },
                "required": [
                  "json"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "csv": {
                          "type": "string"
                        },
                        "rowCount": {
                          "type": "number"
                        },
                        "columns": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-json-to-csv_schema",
        "summary": "Schema and example for convert-json-to-csv",
        "tags": [
          "JSON to CSV Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/csv-to-json-converter": {
      "post": {
        "operationId": "convert-csv-to-json",
        "summary": "Convert CSV with a header row to a JSON array of objects.",
        "tags": [
          "CSV to JSON Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "csv": {
                    "type": "string",
                    "description": "The CSV text"
                  },
                  "headerRow": {
                    "type": "boolean",
                    "description": "Treat the first row as headers (default true)"
                  }
                },
                "required": [
                  "csv"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "json": {
                          "type": "array"
                        },
                        "jsonText": {
                          "type": "string"
                        },
                        "rowCount": {
                          "type": "number"
                        },
                        "headers": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-csv-to-json_schema",
        "summary": "Schema and example for convert-csv-to-json",
        "tags": [
          "CSV to JSON Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/color-contrast-checker": {
      "post": {
        "operationId": "check-color-contrast",
        "summary": "Compute the WCAG contrast ratio and AA/AAA pass results for two colors.",
        "tags": [
          "Color Contrast Checker"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "foreground": {
                    "type": "string",
                    "description": "Foreground (text) hex color"
                  },
                  "background": {
                    "type": "string",
                    "description": "Background hex color"
                  }
                },
                "required": [
                  "foreground",
                  "background"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "contrastRatio": {
                          "type": "number"
                        },
                        "wcag": {
                          "type": "object"
                        },
                        "passesAA": {
                          "type": "boolean"
                        },
                        "passesAAA": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "check-color-contrast_schema",
        "summary": "Schema and example for check-color-contrast",
        "tags": [
          "Color Contrast Checker"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/fraction-simplifier": {
      "post": {
        "operationId": "simplify-fraction",
        "summary": "Reduce a fraction to its simplest form.",
        "tags": [
          "Fraction Simplifier"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numerator": {
                    "type": "number",
                    "description": "The numerator (integer)"
                  },
                  "denominator": {
                    "type": "number",
                    "description": "The denominator (integer, non-zero)"
                  }
                },
                "required": [
                  "numerator",
                  "denominator"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "numerator": {
                          "type": "number"
                        },
                        "denominator": {
                          "type": "number"
                        },
                        "fraction": {
                          "type": "string"
                        },
                        "whole": {
                          "type": "number"
                        },
                        "isWhole": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "simplify-fraction_schema",
        "summary": "Schema and example for simplify-fraction",
        "tags": [
          "Fraction Simplifier"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/least-common-multiple-calculator": {
      "post": {
        "operationId": "calculate-lcm-multiple",
        "summary": "Calculate the least common multiple of two or more integers.",
        "tags": [
          "LCM Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numbers": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    },
                    "description": "List of integers, or a string of integers separated by commas or spaces"
                  }
                },
                "required": [
                  "numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "numbers": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "count": {
                          "type": "number"
                        },
                        "lcm": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-lcm-multiple_schema",
        "summary": "Schema and example for calculate-lcm-multiple",
        "tags": [
          "LCM Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/decimal-to-percent-converter": {
      "post": {
        "operationId": "convert-decimal-to-percent",
        "summary": "Convert a decimal to a percent, or a percent back to a decimal.",
        "tags": [
          "Decimal to Percent Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "The decimal or percent value (a trailing % is allowed)"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "to",
                      "from"
                    ],
                    "description": "\"to\" = decimal to percent, \"from\" = percent to decimal (default \"to\")"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "decimal": {
                          "type": "number"
                        },
                        "percent": {
                          "type": "number"
                        },
                        "percentString": {
                          "type": "string"
                        },
                        "result": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-decimal-to-percent_schema",
        "summary": "Schema and example for convert-decimal-to-percent",
        "tags": [
          "Decimal to Percent Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/aspect-ratio-calculator": {
      "post": {
        "operationId": "calculate-aspect-ratio",
        "summary": "Reduce width and height to a simple aspect ratio and identify the format.",
        "tags": [
          "Aspect Ratio Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "width": {
                    "type": "number",
                    "description": "Width"
                  },
                  "height": {
                    "type": "number",
                    "description": "Height"
                  }
                },
                "required": [
                  "width",
                  "height"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "ratio": {
                          "type": "string"
                        },
                        "ratioWidth": {
                          "type": "number"
                        },
                        "ratioHeight": {
                          "type": "number"
                        },
                        "decimal": {
                          "type": "number"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-aspect-ratio_schema",
        "summary": "Schema and example for calculate-aspect-ratio",
        "tags": [
          "Aspect Ratio Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/css-minifier": {
      "post": {
        "operationId": "minify-css",
        "summary": "Minify CSS by removing comments, whitespace, and unnecessary separators.",
        "tags": [
          "CSS Minifier"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "css": {
                    "type": "string",
                    "description": "The CSS to minify"
                  }
                },
                "required": [
                  "css"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "minified": {
                          "type": "string"
                        },
                        "originalLength": {
                          "type": "number"
                        },
                        "minifiedLength": {
                          "type": "number"
                        },
                        "saved": {
                          "type": "number"
                        },
                        "savedPercent": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "minify-css_schema",
        "summary": "Schema and example for minify-css",
        "tags": [
          "CSS Minifier"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/js-minifier": {
      "post": {
        "operationId": "minify-js",
        "summary": "Minify JavaScript by removing comments and whitespace while preserving keyword spacing.",
        "tags": [
          "JavaScript Minifier"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The JavaScript to minify"
                  }
                },
                "required": [
                  "code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "minified": {
                          "type": "string"
                        },
                        "originalLength": {
                          "type": "number"
                        },
                        "minifiedLength": {
                          "type": "number"
                        },
                        "saved": {
                          "type": "number"
                        },
                        "savedPercent": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "minify-js_schema",
        "summary": "Schema and example for minify-js",
        "tags": [
          "JavaScript Minifier"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/fraction-to-decimal-converter": {
      "post": {
        "operationId": "convert-fraction-to-decimal",
        "summary": "Convert a fraction to a decimal and detect repeating cycles.",
        "tags": [
          "Fraction to Decimal Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "numerator": {
                    "type": "number",
                    "description": "The numerator (integer)"
                  },
                  "denominator": {
                    "type": "number",
                    "description": "The denominator (integer, non-zero)"
                  },
                  "places": {
                    "type": "number",
                    "description": "Decimal places to round to (default 6)"
                  }
                },
                "required": [
                  "numerator",
                  "denominator"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "decimal": {
                          "type": "number"
                        },
                        "exact": {
                          "type": "number"
                        },
                        "repeating": {
                          "type": "string"
                        },
                        "isRepeating": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-fraction-to-decimal_schema",
        "summary": "Schema and example for convert-fraction-to-decimal",
        "tags": [
          "Fraction to Decimal Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/html-minifier": {
      "post": {
        "operationId": "minify-html",
        "summary": "Minify HTML by removing comments and whitespace while preserving pre/textarea/script/style content.",
        "tags": [
          "HTML Minifier"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "html": {
                    "type": "string",
                    "description": "The HTML to minify"
                  },
                  "removeComments": {
                    "type": "boolean",
                    "description": "Strip comments (default true)"
                  },
                  "collapseWhitespace": {
                    "type": "boolean",
                    "description": "Collapse inter-tag whitespace (default true)"
                  }
                },
                "required": [
                  "html"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "minified": {
                          "type": "string"
                        },
                        "originalLength": {
                          "type": "number"
                        },
                        "minifiedLength": {
                          "type": "number"
                        },
                        "saved": {
                          "type": "number"
                        },
                        "savedPercent": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "minify-html_schema",
        "summary": "Schema and example for minify-html",
        "tags": [
          "HTML Minifier"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/sql-formatter": {
      "post": {
        "operationId": "format-sql",
        "summary": "Format and beautify a SQL query.",
        "tags": [
          "SQL Formatter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sql": {
                    "type": "string",
                    "description": "The SQL to format"
                  },
                  "indent": {
                    "type": "number",
                    "description": "Indentation width in spaces (default 2)"
                  }
                },
                "required": [
                  "sql"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "formatted": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "format-sql_schema",
        "summary": "Schema and example for format-sql",
        "tags": [
          "SQL Formatter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/leap-year-checker": {
      "post": {
        "operationId": "check-leap-year",
        "summary": "Check whether a year is a leap year under Gregorian rules.",
        "tags": [
          "Leap Year Checker"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "year": {
                    "type": "number",
                    "description": "The year to check"
                  }
                },
                "required": [
                  "year"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "year": {
                          "type": "number"
                        },
                        "isLeapYear": {
                          "type": "boolean"
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "check-leap-year_schema",
        "summary": "Schema and example for check-leap-year",
        "tags": [
          "Leap Year Checker"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/html-to-text": {
      "post": {
        "operationId": "convert-html-to-text",
        "summary": "Strip HTML tags and return clean plain text.",
        "tags": [
          "HTML to Text Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "html": {
                    "type": "string",
                    "description": "The HTML to convert"
                  },
                  "preserveLineBreaks": {
                    "type": "boolean",
                    "description": "Insert line breaks for block elements (default true)"
                  }
                },
                "required": [
                  "html"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "length": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-html-to-text_schema",
        "summary": "Schema and example for convert-html-to-text",
        "tags": [
          "HTML to Text Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/word-frequency-counter": {
      "post": {
        "operationId": "count-word-frequency",
        "summary": "Count word frequencies in text, sorted by occurrence.",
        "tags": [
          "Word Frequency Counter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text to analyse"
                  },
                  "caseSensitive": {
                    "type": "boolean",
                    "description": "Treat words differing only in case as distinct (default false)"
                  },
                  "topN": {
                    "type": "number",
                    "description": "Optional limit to the top N most frequent words"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "totalWords": {
                          "type": "number"
                        },
                        "uniqueWords": {
                          "type": "number"
                        },
                        "frequencies": {
                          "type": "array"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "count-word-frequency_schema",
        "summary": "Schema and example for count-word-frequency",
        "tags": [
          "Word Frequency Counter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/time-duration-calculator": {
      "post": {
        "operationId": "calculate-time-duration",
        "summary": "Calculate the duration between two date-times.",
        "tags": [
          "Time Duration Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "description": "Start datetime (YYYY-MM-DDTHH:mm)"
                  },
                  "end": {
                    "type": "string",
                    "description": "End datetime (YYYY-MM-DDTHH:mm)"
                  }
                },
                "required": [
                  "start",
                  "end"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "totalSeconds": {
                          "type": "number"
                        },
                        "totalMinutes": {
                          "type": "number"
                        },
                        "totalHours": {
                          "type": "number"
                        },
                        "days": {
                          "type": "number"
                        },
                        "hours": {
                          "type": "number"
                        },
                        "minutes": {
                          "type": "number"
                        },
                        "formatted": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-time-duration_schema",
        "summary": "Schema and example for calculate-time-duration",
        "tags": [
          "Time Duration Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/week-number-calculator": {
      "post": {
        "operationId": "calculate-week-number",
        "summary": "Return the ISO 8601 week number, ISO year, day of week, and day of year for a date.",
        "tags": [
          "Week Number Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "description": "The date (YYYY-MM-DD)"
                  }
                },
                "required": [
                  "date"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "isoYear": {
                          "type": "number"
                        },
                        "isoWeek": {
                          "type": "number"
                        },
                        "dayOfWeek": {
                          "type": "string"
                        },
                        "dayOfYear": {
                          "type": "number"
                        },
                        "isLeapYear": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-week-number_schema",
        "summary": "Schema and example for calculate-week-number",
        "tags": [
          "Week Number Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/day-of-week-calculator": {
      "post": {
        "operationId": "calculate-day-of-week",
        "summary": "Return the day of the week and formatted date for a given date.",
        "tags": [
          "Day of Week Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "description": "The date (YYYY-MM-DD)"
                  }
                },
                "required": [
                  "date"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "dayOfWeek": {
                          "type": "string"
                        },
                        "dayOfWeekShort": {
                          "type": "string"
                        },
                        "dayOfMonth": {
                          "type": "number"
                        },
                        "month": {
                          "type": "string"
                        },
                        "year": {
                          "type": "number"
                        },
                        "ordinal": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-day-of-week_schema",
        "summary": "Schema and example for calculate-day-of-week",
        "tags": [
          "Day of Week Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/water-intake-calculator": {
      "post": {
        "operationId": "calculate-water-intake",
        "summary": "Estimate daily water intake from weight, activity, and climate.",
        "tags": [
          "Water Intake Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "weight": {
                    "type": "number",
                    "description": "Body weight"
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "metric",
                      "imperial"
                    ],
                    "description": "metric uses kg; imperial uses lb (default metric)"
                  },
                  "activityMinutes": {
                    "type": "number",
                    "description": "Daily exercise minutes (default 0)"
                  },
                  "climate": {
                    "type": "string",
                    "enum": [
                      "temperate",
                      "hot",
                      "cold"
                    ],
                    "description": "Climate adjustment (default temperate)"
                  }
                },
                "required": [
                  "weight"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "milliliters": {
                          "type": "number"
                        },
                        "liters": {
                          "type": "number"
                        },
                        "ounces": {
                          "type": "number"
                        },
                        "cups": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-water-intake_schema",
        "summary": "Schema and example for calculate-water-intake",
        "tags": [
          "Water Intake Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/body-fat-calculator": {
      "post": {
        "operationId": "calculate-body-fat",
        "summary": "Estimate body fat percentage and category using the US Navy method.",
        "tags": [
          "Body Fat Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gender": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ],
                    "description": "Biological sex"
                  },
                  "height": {
                    "type": "number",
                    "description": "Height in cm"
                  },
                  "neck": {
                    "type": "number",
                    "description": "Neck circumference in cm"
                  },
                  "waist": {
                    "type": "number",
                    "description": "Waist circumference in cm"
                  },
                  "hip": {
                    "type": "number",
                    "description": "Hip circumference in cm (required for females)"
                  }
                },
                "required": [
                  "gender",
                  "height",
                  "neck",
                  "waist"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "bodyFatPercent": {
                          "type": "number"
                        },
                        "category": {
                          "type": "string"
                        },
                        "method": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-body-fat_schema",
        "summary": "Schema and example for calculate-body-fat",
        "tags": [
          "Body Fat Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/calories-burned-calculator": {
      "post": {
        "operationId": "calculate-calories-burned",
        "summary": "Estimate calories burned for an activity using MET, weight, and duration.",
        "tags": [
          "Calories Burned Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "activity": {
                    "type": "string",
                    "enum": [
                      "walking",
                      "running",
                      "cycling",
                      "swimming",
                      "weight-lifting",
                      "yoga",
                      "dancing",
                      "hiking",
                      "basketball",
                      "jumping-rope",
                      "aerobics",
                      "elliptical",
                      "rowing",
                      "golf",
                      "tennis",
                      "soccer"
                    ],
                    "description": "The activity"
                  },
                  "weight": {
                    "type": "number",
                    "description": "Body weight"
                  },
                  "duration": {
                    "type": "number",
                    "description": "Duration in minutes"
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "metric",
                      "imperial"
                    ],
                    "description": "metric uses kg; imperial uses lb (default metric)"
                  }
                },
                "required": [
                  "activity",
                  "weight",
                  "duration"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "caloriesBurned": {
                          "type": "number"
                        },
                        "met": {
                          "type": "number"
                        },
                        "caloriesPerHour": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-calories-burned_schema",
        "summary": "Schema and example for calculate-calories-burned",
        "tags": [
          "Calories Burned Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/retirement-calculator": {
      "post": {
        "operationId": "calculate-retirement",
        "summary": "Project retirement savings and optionally the contribution needed to reach a target.",
        "tags": [
          "Retirement Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currentAge": {
                    "type": "number",
                    "description": "Current age"
                  },
                  "retirementAge": {
                    "type": "number",
                    "description": "Target retirement age (must be greater than currentAge)"
                  },
                  "currentSavings": {
                    "type": "number",
                    "description": "Existing savings (default 0)"
                  },
                  "monthlyContribution": {
                    "type": "number",
                    "description": "Monthly contribution (default 0)"
                  },
                  "annualReturn": {
                    "type": "number",
                    "description": "Expected annual return as a percentage (default 7)"
                  },
                  "targetNestEgg": {
                    "type": "number",
                    "description": "Optional target savings to compare against"
                  }
                },
                "required": [
                  "currentAge",
                  "retirementAge"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "projectedSavings": {
                          "type": "number"
                        },
                        "totalContributed": {
                          "type": "number"
                        },
                        "totalGrowth": {
                          "type": "number"
                        },
                        "meetsTarget": {
                          "type": "boolean"
                        },
                        "shortfall": {
                          "type": "number"
                        },
                        "requiredMonthlyContribution": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-retirement_schema",
        "summary": "Schema and example for calculate-retirement",
        "tags": [
          "Retirement Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/unit-price-calculator": {
      "post": {
        "operationId": "calculate-unit-price",
        "summary": "Compute the price per unit from a total price and quantity.",
        "tags": [
          "Unit Price Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "price": {
                    "type": "number",
                    "description": "Total price"
                  },
                  "quantity": {
                    "type": "number",
                    "description": "Quantity (positive)"
                  },
                  "unit": {
                    "type": "string",
                    "description": "Optional unit label for display"
                  }
                },
                "required": [
                  "price",
                  "quantity"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "unitPrice": {
                          "type": "number"
                        },
                        "pricePerUnit": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-unit-price_schema",
        "summary": "Schema and example for calculate-unit-price",
        "tags": [
          "Unit Price Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/date-adder": {
      "post": {
        "operationId": "add-to-date",
        "summary": "Add or subtract years, months, weeks, and days from a date.",
        "tags": [
          "Date Adder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "description": "Start date (YYYY-MM-DD)"
                  },
                  "years": {
                    "type": "number",
                    "description": "Years to add (default 0)"
                  },
                  "months": {
                    "type": "number",
                    "description": "Months to add (default 0)"
                  },
                  "weeks": {
                    "type": "number",
                    "description": "Weeks to add (default 0)"
                  },
                  "days": {
                    "type": "number",
                    "description": "Days to add (default 0)"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "add",
                      "subtract"
                    ],
                    "description": "Add or subtract (default add)"
                  }
                },
                "required": [
                  "date"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "startDate": {
                          "type": "string"
                        },
                        "resultDate": {
                          "type": "string"
                        },
                        "daysDifference": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "add-to-date_schema",
        "summary": "Schema and example for add-to-date",
        "tags": [
          "Date Adder"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/slope-calculator": {
      "post": {
        "operationId": "calculate-slope",
        "summary": "Compute the slope, intercept, angle, and length of a line through two points.",
        "tags": [
          "Slope Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "x1": {
                    "type": "number",
                    "description": "x of the first point"
                  },
                  "y1": {
                    "type": "number",
                    "description": "y of the first point"
                  },
                  "x2": {
                    "type": "number",
                    "description": "x of the second point"
                  },
                  "y2": {
                    "type": "number",
                    "description": "y of the second point"
                  }
                },
                "required": [
                  "x1",
                  "y1",
                  "x2",
                  "y2"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "slope": {
                          "type": "number"
                        },
                        "isVertical": {
                          "type": "boolean"
                        },
                        "angle": {
                          "type": "number"
                        },
                        "intercept": {
                          "type": "number"
                        },
                        "length": {
                          "type": "number"
                        },
                        "equation": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-slope_schema",
        "summary": "Schema and example for calculate-slope",
        "tags": [
          "Slope Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/logarithm-calculator": {
      "post": {
        "operationId": "calculate-logarithm",
        "summary": "Compute the logarithm of a value with a given base.",
        "tags": [
          "Logarithm Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The value to take the log of (must be positive)"
                  },
                  "base": {
                    "type": "number",
                    "description": "The logarithm base (positive, not 1; default 10)"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number"
                        },
                        "commonLog": {
                          "type": "number"
                        },
                        "naturalLog": {
                          "type": "number"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-logarithm_schema",
        "summary": "Schema and example for calculate-logarithm",
        "tags": [
          "Logarithm Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/ascii-text-converter": {
      "post": {
        "operationId": "convert-ascii",
        "summary": "Convert text to ASCII codes (and hex), or codes back to text.",
        "tags": [
          "ASCII Text Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text or list of codes"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "to",
                      "from"
                    ],
                    "description": "\"to\" = text to codes, \"from\" = codes to text (default \"to\")"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "codes": {
                          "type": "array"
                        },
                        "hex": {
                          "type": "array"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-ascii_schema",
        "summary": "Schema and example for convert-ascii",
        "tags": [
          "ASCII Text Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/line-sorter": {
      "post": {
        "operationId": "sort-lines",
        "summary": "Sort the lines of text ascending or descending.",
        "tags": [
          "Line Sorter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The input text"
                  },
                  "order": {
                    "type": "string",
                    "enum": [
                      "asc",
                      "desc"
                    ],
                    "description": "Sort order (default asc)"
                  },
                  "caseSensitive": {
                    "type": "boolean",
                    "description": "Case-sensitive sort (default false)"
                  },
                  "trimLines": {
                    "type": "boolean",
                    "description": "Trim each line before sorting (default false)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "lineCount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "sort-lines_schema",
        "summary": "Schema and example for sort-lines",
        "tags": [
          "Line Sorter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/reverse-words": {
      "post": {
        "operationId": "reverse-words",
        "summary": "Reverse the order of words in text, preserving whitespace.",
        "tags": [
          "Reverse Words"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The input text"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "wordCount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "reverse-words_schema",
        "summary": "Schema and example for reverse-words",
        "tags": [
          "Reverse Words"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/trim-whitespace": {
      "post": {
        "operationId": "trim-whitespace",
        "summary": "Normalize, trim, or remove whitespace from text.",
        "tags": [
          "Trim Whitespace"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The input text"
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "normalize",
                      "trim",
                      "remove"
                    ],
                    "description": "Cleanup mode (default normalize)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "originalLength": {
                          "type": "number"
                        },
                        "resultLength": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "trim-whitespace_schema",
        "summary": "Schema and example for trim-whitespace",
        "tags": [
          "Trim Whitespace"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/pressure-converter": {
      "post": {
        "operationId": "convert-pressure",
        "summary": "Convert a pressure value between supported units.",
        "tags": [
          "Pressure Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The pressure value"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "pa",
                      "hpa",
                      "kpa",
                      "mpa",
                      "bar",
                      "mbar",
                      "atm",
                      "psi",
                      "mmhg",
                      "torr",
                      "inh2o"
                    ],
                    "description": "Source unit"
                  },
                  "to": {
                    "type": "string",
                    "enum": [
                      "pa",
                      "hpa",
                      "kpa",
                      "mpa",
                      "bar",
                      "mbar",
                      "atm",
                      "psi",
                      "mmhg",
                      "torr",
                      "inh2o"
                    ],
                    "description": "Target unit"
                  }
                },
                "required": [
                  "value",
                  "from",
                  "to"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "pascals": {
                          "type": "number"
                        },
                        "result": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-pressure_schema",
        "summary": "Schema and example for convert-pressure",
        "tags": [
          "Pressure Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/angle-converter": {
      "post": {
        "operationId": "convert-angle",
        "summary": "Convert an angle between degrees, radians, gradians, and turns.",
        "tags": [
          "Angle Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The angle value"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "degrees",
                      "radians",
                      "gradians",
                      "turns"
                    ],
                    "description": "Source unit (default degrees)"
                  },
                  "to": {
                    "type": "string",
                    "enum": [
                      "degrees",
                      "radians",
                      "gradians",
                      "turns"
                    ],
                    "description": "Target unit (default radians)"
                  }
                },
                "required": [
                  "value"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-angle_schema",
        "summary": "Schema and example for convert-angle",
        "tags": [
          "Angle Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/probability-calculator": {
      "post": {
        "operationId": "calculate-probability",
        "summary": "Compute probability for coin, dice, or marble (hypergeometric) scenarios.",
        "tags": [
          "Probability Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "coin",
                      "dice",
                      "marble"
                    ],
                    "description": "Scenario type"
                  },
                  "flips": {
                    "type": "number",
                    "description": "Coin: number of flips"
                  },
                  "heads": {
                    "type": "number",
                    "description": "Coin: target number of heads"
                  },
                  "sides": {
                    "type": "number",
                    "description": "Dice: number of sides"
                  },
                  "target": {
                    "type": "number",
                    "description": "Dice: target value"
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "exact",
                      "atleast",
                      "atmost"
                    ],
                    "description": "Dice: comparison mode (default exact)"
                  },
                  "total": {
                    "type": "number",
                    "description": "Marble: total items"
                  },
                  "successTotal": {
                    "type": "number",
                    "description": "Marble: total successes"
                  },
                  "draws": {
                    "type": "number",
                    "description": "Marble: number drawn"
                  },
                  "successDraws": {
                    "type": "number",
                    "description": "Marble: target successes drawn"
                  }
                },
                "required": [
                  "type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "probability": {
                          "type": "number"
                        },
                        "probabilityPercent": {
                          "type": "number"
                        },
                        "odds": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-probability_schema",
        "summary": "Schema and example for calculate-probability",
        "tags": [
          "Probability Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/cooking-converter": {
      "post": {
        "operationId": "convert-cooking",
        "summary": "Convert a cooking volume between cups, tablespoons, teaspoons, ml, fl oz, pints, quarts, liters and gallons.",
        "tags": [
          "Cooking Converter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "number",
                    "description": "The quantity to convert"
                  },
                  "from": {
                    "type": "string",
                    "enum": [
                      "ml",
                      "teaspoon",
                      "tablespoon",
                      "floz",
                      "cup",
                      "pint",
                      "quart",
                      "liter",
                      "gallon"
                    ],
                    "description": "Source unit"
                  },
                  "to": {
                    "type": "string",
                    "enum": [
                      "ml",
                      "teaspoon",
                      "tablespoon",
                      "floz",
                      "cup",
                      "pint",
                      "quart",
                      "liter",
                      "gallon"
                    ],
                    "description": "Target unit"
                  }
                },
                "required": [
                  "value",
                  "from",
                  "to"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "number"
                        },
                        "ml": {
                          "type": "number"
                        },
                        "units": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "convert-cooking_schema",
        "summary": "Schema and example for convert-cooking",
        "tags": [
          "Cooking Converter"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/fuel-cost-calculator": {
      "post": {
        "operationId": "calculate-fuel-cost",
        "summary": "Estimate fuel cost from distance, fuel efficiency, and fuel price.",
        "tags": [
          "Fuel Cost Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "distance": {
                    "type": "number",
                    "description": "Trip distance"
                  },
                  "distanceUnit": {
                    "type": "string",
                    "enum": [
                      "miles",
                      "km"
                    ],
                    "description": "Distance unit"
                  },
                  "efficiency": {
                    "type": "number",
                    "description": "Fuel efficiency (MPG or L/100km)"
                  },
                  "efficiencyUnit": {
                    "type": "string",
                    "enum": [
                      "mpg",
                      "L/100km"
                    ],
                    "description": "Efficiency unit"
                  },
                  "fuelPrice": {
                    "type": "number",
                    "description": "Fuel price per gallon or per liter"
                  },
                  "priceUnit": {
                    "type": "string",
                    "enum": [
                      "gallon",
                      "liter"
                    ],
                    "description": "Price unit"
                  }
                },
                "required": [
                  "distance",
                  "efficiency",
                  "fuelPrice"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "cost": {
                          "type": "number"
                        },
                        "fuelUsedGallons": {
                          "type": "number"
                        },
                        "fuelUsedLiters": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-fuel-cost_schema",
        "summary": "Schema and example for calculate-fuel-cost",
        "tags": [
          "Fuel Cost Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/pace-calculator": {
      "post": {
        "operationId": "calculate-pace",
        "summary": "Calculate running pace and speed from distance and time.",
        "tags": [
          "Pace Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "distance": {
                    "type": "number",
                    "description": "Run distance"
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "km",
                      "mi"
                    ],
                    "description": "Distance unit"
                  },
                  "hours": {
                    "type": "number",
                    "description": "Finish time hours"
                  },
                  "minutes": {
                    "type": "number",
                    "description": "Finish time minutes"
                  },
                  "seconds": {
                    "type": "number",
                    "description": "Finish time seconds"
                  }
                },
                "required": [
                  "distance"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "pacePerKm": {
                          "type": "string"
                        },
                        "pacePerMi": {
                          "type": "string"
                        },
                        "speedKmh": {
                          "type": "number"
                        },
                        "speedMph": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-pace_schema",
        "summary": "Schema and example for calculate-pace",
        "tags": [
          "Pace Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/color-palette-generator": {
      "post": {
        "operationId": "generate-palette",
        "summary": "Generate color palettes (complementary, analogous, triadic, tetradic, monochromatic) from a base hex color.",
        "tags": [
          "Color Palette Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "color": {
                    "type": "string",
                    "description": "Base color as a hex string, e.g. #1a73e8"
                  },
                  "scheme": {
                    "type": "string",
                    "enum": [
                      "all",
                      "complementary",
                      "analogous",
                      "triadic",
                      "tetradic",
                      "monochromatic"
                    ],
                    "description": "Which palette scheme to return"
                  }
                },
                "required": [
                  "color"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "base": {
                          "type": "string"
                        },
                        "complementary": {
                          "type": "string"
                        },
                        "analogous": {
                          "type": "array"
                        },
                        "triadic": {
                          "type": "array"
                        },
                        "tetradic": {
                          "type": "array"
                        },
                        "shades": {
                          "type": "array"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-palette_schema",
        "summary": "Schema and example for generate-palette",
        "tags": [
          "Color Palette Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/gpa-calculator": {
      "post": {
        "operationId": "calculate-gpa",
        "summary": "Calculate GPA on a 4.0 scale from a list of courses and credit hours.",
        "tags": [
          "GPA Calculator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "input": {
                    "type": "string",
                    "description": "One course per line as \"grade credits\" (e.g. \"A 3\"). Credits default to 1 if omitted."
                  }
                },
                "required": [
                  "input"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "gpa": {
                          "type": "number"
                        },
                        "totalCredits": {
                          "type": "number"
                        },
                        "courseCount": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "calculate-gpa_schema",
        "summary": "Schema and example for calculate-gpa",
        "tags": [
          "GPA Calculator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/markdown-table-generator": {
      "post": {
        "operationId": "generate-markdown-table",
        "summary": "Convert delimited rows into a GitHub-flavored markdown table.",
        "tags": [
          "Markdown Table Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "input": {
                    "type": "string",
                    "description": "Rows separated by newlines"
                  },
                  "delimiter": {
                    "type": "string",
                    "enum": [
                      ",",
                      "tab",
                      "pipe",
                      "space"
                    ],
                    "description": "Column delimiter"
                  },
                  "hasHeader": {
                    "type": "boolean",
                    "description": "Whether the first row is a header"
                  }
                },
                "required": [
                  "input"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string"
                        },
                        "rows": {
                          "type": "number"
                        },
                        "columns": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-markdown-table_schema",
        "summary": "Schema and example for generate-markdown-table",
        "tags": [
          "Markdown Table Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/hmac-generator": {
      "post": {
        "operationId": "generate-hmac",
        "summary": "Generate an HMAC (SHA-256/SHA-1/SHA-384/SHA-512) from a message and secret key, as hex or base64.",
        "tags": [
          "HMAC Generator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message": {
                    "type": "string",
                    "description": "Text to authenticate"
                  },
                  "key": {
                    "type": "string",
                    "description": "Secret key used to sign the message"
                  },
                  "algorithm": {
                    "type": "string",
                    "enum": [
                      "sha-256",
                      "sha-1",
                      "sha-384",
                      "sha-512"
                    ],
                    "description": "Hash algorithm (default sha-256)"
                  },
                  "encoding": {
                    "type": "string",
                    "enum": [
                      "hex",
                      "base64"
                    ],
                    "description": "Output encoding (default hex)"
                  }
                },
                "required": [
                  "message",
                  "key"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "algorithm": {
                          "type": "string"
                        },
                        "encoding": {
                          "type": "string"
                        },
                        "hmac": {
                          "type": "string"
                        },
                        "length": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "generate-hmac_schema",
        "summary": "Schema and example for generate-hmac",
        "tags": [
          "HMAC Generator"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    },
    "/api/vigenere-cipher": {
      "post": {
        "operationId": "vigenere-cipher",
        "summary": "Encrypt or decrypt text with a Vigenere (polyalphabetic) keyword cipher.",
        "tags": [
          "Vigenère Cipher"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The text to encipher"
                  },
                  "key": {
                    "type": "string",
                    "description": "Alphabetic keyword (letters only) (default \"key\")"
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "encrypt",
                      "decrypt"
                    ],
                    "description": "Encrypt or decrypt (default encrypt)"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "direction": {
                          "type": "string"
                        },
                        "result": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "vigenere-cipher_schema",
        "summary": "Schema and example for vigenere-cipher",
        "tags": [
          "Vigenère Cipher"
        ],
        "responses": {
          "200": {
            "description": "Schema"
          }
        }
      }
    }
  }
}