{"openapi":"3.1.0","info":{"title":"WebDevSuite Enterprise Developer API & MCP Server","version":"1.2.0","description":"High-performance developer workspace providing **53+ REST APIs and MCP Server tools** across JSON, HTML, CSS, JavaScript, Data Converters, Security, Base64, XML, SQL, and Developer Utilities.\n\n**Dual Protocol Support: REST & MCP (Model Context Protocol)**\nEvery endpoint documented in this specification is available in two ways:\n1. **Standard REST API**: Invoke via HTTP POST with JSON payloads using Bearer token authentication (`Authorization: Bearer api_live_...` or `Authorization: Bearer api_test_...`).\n2. **MCP Tool Server**: Connect AI assistants (Cursor, Windsurf, Claude Desktop, Antigravity, or custom LLM agents) directly to the MCP endpoint at `/api/mcp` via **Streamable HTTP** with `Accept: application/json, text/event-stream`.\n\n**Authentication & Keys**\n- **Live Keys (`api_live_...`)**: Tracked against your organization's monthly production quota.\n- **Sandbox Test Keys (`api_test_...`)**: Safe evaluation environment with isolated mock quotas.\n- Pass keys in the `Authorization: Bearer <API_KEY>` header or the `x-api-key: <API_KEY>` header.","contact":{"name":"WebDevSuite Developer Support","url":"https://webdevsuite.dev/docs"}},"servers":[{"url":"https://webdevsuite.dev","description":"Production REST API Gateway"},{"url":"https://webdevsuite.dev/api/mcp","description":"Model Context Protocol (MCP) Streamable HTTP Server"}],"tags":[{"name":"HTML","description":"HTML beautifier, minifier, entity escape, Markdown & React JSX converters"},{"name":"CSS","description":"CSS formatters, minifiers, hex expanders, and 7-unit conversion matrix"},{"name":"JavaScript","description":"JavaScript formatters, minifiers, string/template-literal escaping, and regex testers"},{"name":"JSON","description":"JSON formatting, minification, syntax validation, schema generators, JSONPath evaluation, and mock dataset generators"},{"name":"XML","description":"XML formatters, minifiers, and entity escape/unescape tools"},{"name":"SQL","description":"Multi-dialect SQL query formatters, sanitizers, and string escape tools"},{"name":"Base64","description":"Text, URL-safe, data-uri Base64 encoding and strict decoding"},{"name":"Data Converters","description":"Bidirectional CSV, Excel, XML, YAML, JSON, SQL, and field escaping converters"},{"name":"Security","description":"JWT decode & signing generators, HMAC signature generators, secure token generators, and SSL certificate inspectors"},{"name":"Developer Utilities","description":"UUID, QR Code, Lorem Ipsum, 13-style text case, cron expression parser, timestamp converter, diff comparator, number base, and text analytics tools"},{"name":"Health","description":"Real-time gateway uptime diagnostics, subsystem operational status, and availability monitoring endpoints."}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"Enter your Pro API Key: `api_live_xxxxxxxxxxxxxxxxxxxxxxxx` or `api_test_xxxxxxxxxxxxxxxxxxxxxxxx`"}},"schemas":{"StandardError":{"type":"object","title":"Standard Error Response","description":"Standardized error envelope returned when request authentication fails, input parameters are invalid, or internal processing errors occur.","properties":{"success":{"type":"boolean","example":false,"description":"Always false for error responses."},"error":{"type":"object","description":"Detailed error information object","properties":{"code":{"type":"string","example":"INVALID_PARAMETER","description":"Machine-readable error identification code."},"message":{"type":"string","example":"Parameter \"input\" is required","description":"Human-readable error description."},"type":{"type":"string","example":"invalid_request_error","description":"Category: invalid_request_error, rate_limit_error, or api_error."},"doc_url":{"type":"string","example":"https://webdevsuite.dev/docs/errors#INVALID_PARAMETER","description":"Link to documentation for resolving this error code."}}}}},"RateLimitError":{"type":"object","title":"Rate Limit & Quota Error","description":"Returned when request quota or rate limit thresholds are exceeded.","properties":{"success":{"type":"boolean","example":false},"error":{"type":"object","properties":{"code":{"type":"string","example":"QUOTA_EXCEEDED_MONTHLY"},"message":{"type":"string","example":"Monthly request quota exceeded for Pro subscription tier."},"type":{"type":"string","example":"rate_limit_error"},"doc_url":{"type":"string","example":"https://webdevsuite.dev/docs/errors#QUOTA_EXCEEDED_MONTHLY"}}}}}}},"paths":{"/api/v1/html/format":{"post":{"operationId":"html-format","tags":["HTML"],"summary":"HTML Formatter","description":"Beautify HTML tags, clean up inline scripts, and format nested DOM node indentation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<main class=\"hero\"><header><h1>Enterprise API Platform</h1></header></main>","description":"Raw or unformatted HTML string."},"tabWidth":{"type":"integer","example":2,"description":"Number of spaces per indentation level."},"useTabs":{"type":"boolean","example":false,"description":"Use tabs instead of spaces."},"bracketSameLine":{"type":"boolean","example":false,"description":"Put the > of a multi-line element at the end of the last line instead of being alone on the next line."},"printWidth":{"type":"integer","example":80,"description":"Specify the line length that the printer will wrap on."},"wrapAttributes":{"type":"string","enum":["auto","force","force-aligned","force-expand-multiline"],"example":"auto","description":"HTML attribute wrapping strategy."},"htmlWhitespaceSensitivity":{"type":"string","enum":["css","strict","ignore"],"example":"css","description":"HTML whitespace sensitivity handling."},"validateOnly":{"type":"boolean","example":false,"description":"If true, only validate HTML syntax without formatting."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/html/minify":{"post":{"operationId":"html-minify","tags":["HTML"],"summary":"HTML Minifier & Transcoder","description":"Compress HTML documents by collapsing redundant whitespace, stripping comments, minifying embedded CSS/JS, and transcoding encodings.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<!-- Layout -->\n<div class=\"container\">\n  <h1>Title</h1>\n</div>","description":"Raw HTML markup string to minify."},"removeComments":{"type":"boolean","example":true,"description":"Strip HTML comments."},"collapseWhitespace":{"type":"boolean","example":true,"description":"Collapse contiguous whitespace characters."},"collapseBooleans":{"type":"boolean","example":true,"description":"Collapse boolean attributes (e.g. disabled=\"disabled\" to disabled)."},"minifyEmbedded":{"type":"boolean","example":true,"description":"Minify embedded <style> and <script> contents."},"removeRedundantAttributes":{"type":"boolean","example":true,"description":"Remove redundant type=\"text/javascript\" and type=\"text/css\" attributes."},"outputEncoding":{"type":"string","enum":["utf-8","base64","hex"],"example":"utf-8","description":"Output encoding for the minified payload."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/html/escape":{"post":{"operationId":"html-escape","tags":["HTML"],"summary":"HTML Entity Escape & Unescape","description":"Safely encode HTML special characters into HTML entities to prevent XSS vulnerabilities, or decode entity strings back to raw markup.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<script>alert(\"XSS Attack\");</script>","description":"HTML string to process."},"mode":{"type":"string","enum":["escape","unescape"],"example":"escape","description":"Operation mode: escape reserved characters or unescape entities."},"entityType":{"type":"string","enum":["essential","named","hex","decimal"],"example":"essential","description":"Entity encoding format: essential (&, <, >, \", '), named, hex (&#xHH;), or decimal (&#NN;)."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/html/to-markdown":{"post":{"operationId":"html-to-markdown","tags":["HTML"],"summary":"HTML to Markdown / Markdown to HTML Converter","description":"Bidirectionally transform between HTML markup documents and clean GitHub Flavored Markdown (GFM).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<h1>Technical Specification</h1><p>Visit <a href=\"https://webdevsuite.dev\">WebDevSuite</a>.</p>","description":"Content to convert."},"mode":{"type":"string","enum":["html-to-markdown","markdown-to-html"],"example":"html-to-markdown","description":"Conversion direction mode."},"headingStyle":{"type":"string","enum":["atx","setext"],"example":"atx","description":"Markdown heading format (# ATX vs Setext underline)."},"bulletListMarker":{"type":"string","enum":["-","*","+"],"example":"-","description":"Bullet list marker character."},"codeBlockStyle":{"type":"string","enum":["fenced","indented"],"example":"fenced","description":"Code block format style."},"emDelimiter":{"type":"string","enum":["_","*"],"example":"_","description":"Emphasis delimiter character."},"strongDelimiter":{"type":"string","enum":["**","__"],"example":"**","description":"Strong emphasis delimiter character."},"enableTables":{"type":"boolean","example":true,"description":"Enable GitHub Flavored Markdown tables."},"enableStrikethrough":{"type":"boolean","example":true,"description":"Enable GFM strikethrough (~~text~~)."},"ghCodeBlocks":{"type":"boolean","example":true,"description":"Use triple-backtick fenced code blocks."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/html/to-jsx":{"post":{"operationId":"html-to-jsx","tags":["HTML"],"summary":"HTML to React JSX Converter","description":"Convert standard HTML elements into valid React JSX syntax with component wrapping and TypeScript support.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<div class=\"user-card\" style=\"background-color: #0d1017; padding: 20px;\"><img src=\"/avatar.png\" alt=\"Profile\"></div>","description":"Raw HTML string."},"createFunctionComponent":{"type":"boolean","example":true,"description":"Wrap generated JSX in a functional React component snippet."},"wrapInComponent":{"type":"boolean","example":true,"description":"Alias for createFunctionComponent."},"componentName":{"type":"string","example":"UserProfileCard","description":"Name of the generated React functional component."},"useFragment":{"type":"boolean","example":false,"description":"Wrap the JSX output in a React Fragment (<>...</>)."},"asTypeScript":{"type":"boolean","example":false,"description":"Generate React TypeScript (.tsx) component definitions."},"convertStyleAttribute":{"type":"boolean","example":true,"description":"Convert inline CSS strings into React style objects."},"selfCloseTags":{"type":"boolean","example":true,"description":"Self-close void elements like <img />, <input />, <br />."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/css/format":{"post":{"operationId":"css-format","tags":["CSS"],"summary":"CSS Formatter & Beautifier","description":"Format, align, and organize CSS stylesheets with customizable indentation and quoting rules.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":".nav-bar{display:flex;align-items:center;background:#080a0f;padding:12px 24px}","description":"Raw CSS stylesheet content."},"tabWidth":{"type":"integer","example":2,"description":"Indentation spacing."},"useTabs":{"type":"boolean","example":false,"description":"Use tabs for indentation."},"singleQuote":{"type":"boolean","example":true,"description":"Use single quotes for string literals and font names in CSS."},"validateOnly":{"type":"boolean","example":false,"description":"If true, validate CSS syntax without returning formatted text."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/css/minify":{"post":{"operationId":"css-minify","tags":["CSS"],"summary":"CSS Minifier & Transcoder","description":"Compress CSS stylesheets by removing comments, collapsing whitespace, shortening hex codes, and stripping redundant units.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"/* Main Nav */\n.nav-bar {\n  display: flex;\n  background-color: #ffffff;\n  padding: 0px 10px;\n}","description":"Raw CSS code to minify."},"removeComments":{"type":"boolean","example":true,"description":"Strip block comments."},"shortenHexColors":{"type":"boolean","example":true,"description":"Shorten 6-character hex colors to 3 characters when possible."},"zeroUnits":{"type":"boolean","example":true,"description":"Strip units from zero values (0px -> 0)."},"cleanCharset":{"type":"boolean","example":true,"description":"Strip redundant @charset declarations."},"outputEncoding":{"type":"string","enum":["utf-8","base64","hex"],"example":"utf-8","description":"Encoding format for output payload."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/css/unit-converter":{"post":{"operationId":"css-unit-converter","tags":["CSS"],"summary":"CSS Unit Converter","description":"Convert CSS values bidirectionally across px, rem, em, pt, pc, vw, and vh with root font size and viewport context.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["value"],"properties":{"value":{"type":"number","example":16,"description":"Numeric value to convert."},"fromUnit":{"type":"string","enum":["px","rem","em","pt","pc","vw","vh"],"example":"px","description":"Source unit."},"toUnit":{"type":"string","enum":["px","rem","em","pt","pc","vw","vh"],"example":"rem","description":"Target unit."},"rootFontSize":{"type":"number","example":16,"description":"Root element font size in pixels (default: 16)."},"viewportWidth":{"type":"number","example":1920,"description":"Viewport reference width in pixels for vw calculations (default: 1920)."},"viewportHeight":{"type":"number","example":1080,"description":"Viewport reference height in pixels for vh calculations (default: 1080)."},"precision":{"type":"integer","example":4,"description":"Number of decimal places for converted output (default: 4)."},"matrixAll":{"type":"boolean","example":false,"description":"If true, returns conversions across all 7 CSS units simultaneously."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/javascript/format":{"post":{"operationId":"javascript-format","tags":["JavaScript"],"summary":"JavaScript & TypeScript Formatter","description":"Beautify and standardize JavaScript, JSX, and TypeScript codebases using AST-based formatting engine.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"const calculateTotal=(items,taxRate)=>{return items.reduce((acc,curr)=>acc+curr.price,0)*(1+taxRate);}","description":"JavaScript or TypeScript source code string."},"tabWidth":{"type":"integer","example":2,"description":"Spaces per indentation level."},"useTabs":{"type":"boolean","example":false,"description":"Use tabs for indentation."},"semi":{"type":"boolean","example":true,"description":"Print semicolons at the ends of statements."},"singleQuote":{"type":"boolean","example":true,"description":"Use single quotes instead of double quotes."},"jsxSingleQuote":{"type":"boolean","example":false,"description":"Use single quotes in JSX attributes."},"trailingComma":{"type":"string","enum":["none","es5","all"],"example":"es5","description":"Trailing comma formatting policy."},"bracketSpacing":{"type":"boolean","example":true,"description":"Print spaces between brackets in object literals."},"arrowParens":{"type":"string","enum":["always","avoid"],"example":"always","description":"Include parentheses around a sole arrow function parameter."},"parser":{"type":"string","enum":["babel","typescript"],"example":"babel","description":"Parser to use for parsing source code."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/javascript/minify":{"post":{"operationId":"javascript-minify","tags":["JavaScript"],"summary":"JavaScript Minifier & Compressor","description":"High-performance AST minification, variable name mangling, dead-code elimination, and console log removal.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"function computeHash(data) {\n  console.log(\"Processing payload\");\n  const temp = data.trim();\n  return temp.length;\n}","description":"JavaScript source code to minify."},"ecma":{"type":"integer","example":2020,"description":"Target ECMAScript version (e.g. 5, 2015, 2020)."},"mangle":{"type":"boolean","example":true,"description":"Mangle variable and function names to single letters."},"compress":{"type":"boolean","example":true,"description":"Enable AST code transformation passes and dead code elimination."},"toplevel":{"type":"boolean","example":false,"description":"Mangle variable and function names declared in the top level scope."},"dropConsole":{"type":"boolean","example":false,"description":"Strip all console.* function calls."},"dropDebugger":{"type":"boolean","example":true,"description":"Strip debugger statements."},"keepNames":{"type":"boolean","example":false,"description":"Prevent discarding or mangling of function/class names."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/javascript/escape":{"post":{"operationId":"javascript-escape","tags":["JavaScript"],"summary":"JavaScript String & Literal Escape","description":"Escape quotation marks, newlines, backslashes, template literals, and unicode characters for safe JavaScript embedding.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"Path: C:\\Program Files\\App\nWelcome \"Developer\" & let's start `${user}`","description":"String to escape or unescape."},"mode":{"type":"string","enum":["escape","unescape"],"example":"escape","description":"Operation mode."},"escapeType":{"type":"string","enum":["standard","template-literal","unicode","hex"],"example":"standard","description":"Target escaping format."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/javascript/regex-tester":{"post":{"operationId":"javascript-regex-tester","tags":["JavaScript"],"summary":"JavaScript Regex Tester & Replacer","description":"Compile regular expressions, test patterns against input strings, extract match groups, and preview regex replacements.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pattern"],"properties":{"pattern":{"type":"string","example":"([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})","description":"Regular expression pattern string."},"flags":{"type":"string","example":"gim","description":"Regex flags (g, i, m, s, u, y)."},"input":{"type":"string","example":"Contact support@webdevsuite.dev or billing@webdevsuite.dev for enterprise inquiries.","description":"Test corpus string."},"replacement":{"type":"string","example":"$1[at]$2","description":"Optional replacement pattern for test substitutions."},"extractMatchesOnly":{"type":"boolean","example":false,"description":"If true, returns only an array of matched strings."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/format":{"post":{"operationId":"json-format","tags":["JSON"],"summary":"JSON Formatter & Key Sorter","description":"Prettify and sort JSON keys recursively, format comments (JSONC), and auto-repair malformed syntax.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"{\"name\":\"WebDevSuite\",\"version\":\"1.0.0\",\"active\":true}","description":"JSON string."},"tabWidth":{"type":"integer","example":2,"description":"Indentation spacing."},"useTabs":{"type":"boolean","example":false,"description":"Use tabs for indentation."},"sortKeys":{"type":"boolean","example":true,"description":"Alphabetically sort object keys recursively."},"removeComments":{"type":"boolean","example":false,"description":"Strip JS-style comments (JSONC support)."},"repairJson":{"type":"boolean","example":false,"description":"Auto-repair trailing commas, unquoted keys, and single quotes before formatting."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/validate":{"post":{"operationId":"json-validate","tags":["JSON"],"summary":"JSON Syntax Validator","description":"High-speed JSON syntax validator providing exact line and column coordinates for syntax errors.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"{\n  \"service\": \"api-gateway\",\n  \"status\": \"online\"\n}","description":"JSON string to validate."},"repairJson":{"type":"boolean","example":false,"description":"Attempt syntax repair during validation."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/minify":{"post":{"operationId":"json-minify","tags":["JSON"],"summary":"JSON Minifier & Serializer","description":"Compress JSON payloads by stripping whitespace and comments, with unicode escaping and JS object serialization.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"{\n  \"service\": \"auth\",\n  \"port\": 8080\n}","description":"JSON string to minify."},"allowJsonc":{"type":"boolean","example":true,"description":"Allow and strip inline/block comments before minifying."},"escapeUnicode":{"type":"boolean","example":false,"description":"Escape non-ASCII unicode characters as \\uXXXX."},"serializeToJs":{"type":"boolean","example":false,"description":"Serialize to JavaScript object literal syntax with unquoted keys."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/escape":{"post":{"operationId":"json-escape","tags":["JSON"],"summary":"JSON String Escape & Unescape","description":"Escape JSON string literals for embedding into code or JSON payloads, with slash escaping and unicode support.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"{\"query\": \"SELECT * FROM users WHERE status = 'active'\"}","description":"String to process."},"mode":{"type":"string","enum":["escape","unescape"],"example":"escape","description":"Operation mode."},"escapeSlashes":{"type":"boolean","example":false,"description":"Escape forward slashes (/) as (\\/) for HTML script tags."},"escapeUnicode":{"type":"boolean","example":false,"description":"Escape non-ASCII characters to unicode sequences."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/schema-validator":{"post":{"operationId":"json-schema-validator","tags":["JSON"],"summary":"JSON Schema Validator","description":"Validate JSON payloads against JSON Schema specifications (Draft-07, Draft-04, 2020-12) using AJV.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data","schema"],"properties":{"data":{"type":"object","example":{"userId":"usr_102","email":"alex@example.com","plan":"enterprise"},"description":"Target JSON object to validate."},"schema":{"type":"object","example":{"type":"object","properties":{"userId":{"type":"string"},"email":{"type":"string","format":"email"},"plan":{"type":"string","enum":["free","pro","enterprise"]}},"required":["userId","email"]},"description":"JSON Schema definition."},"strict":{"type":"boolean","example":false,"description":"Enable strict mode validation."},"allErrors":{"type":"boolean","example":true,"description":"Collect all errors instead of stopping on the first one."},"coerceTypes":{"type":"boolean","example":false,"description":"Coerce data types to match schema types."},"useDefaults":{"type":"boolean","example":true,"description":"Assign default values from schema."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/schema-generate":{"post":{"operationId":"json-schema-generate","tags":["JSON"],"summary":"JSON Schema Generator","description":"Infer and generate compliant JSON Schema definitions from raw sample JSON objects with format and example inference.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"object","example":{"id":"usr_892","username":"dev_hero","email":"dev@webdevsuite.dev","createdAt":"2026-08-15T12:00:00Z","roles":["admin","developer"]},"description":"Sample JSON data object or string."},"draftVersion":{"type":"string","enum":["draft-07","2020-12"],"example":"draft-07","description":"JSON Schema specification draft version."},"title":{"type":"string","example":"UserProfileSchema","description":"Schema title attribute."},"requiredFields":{"type":"boolean","example":true,"description":"Mark all inferred properties as required."},"format":{"type":"boolean","example":true,"description":"Infer string formats like email, uri, uuid, date-time."},"examples":{"type":"boolean","example":true,"description":"Embed sample values into schema as examples."},"strict":{"type":"boolean","example":true,"description":"Set additionalProperties: false."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/jsonpath":{"post":{"operationId":"json-jsonpath","tags":["JSON"],"summary":"JSONPath Query Evaluator","description":"Execute standard JSONPath expressions against complex nested JSON datasets and return values or paths.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input","path"],"properties":{"input":{"type":"object","example":{"store":{"books":[{"title":"Clean Code","price":34.99},{"title":"Design Patterns","price":42.5}]}},"description":"Target JSON object or string."},"path":{"type":"string","example":"$.store.books[*].title","description":"JSONPath query expression."},"returnMode":{"type":"string","enum":["values","paths","both"],"example":"values","description":"Return matched values, JSONPath pointer strings, or both."},"limit":{"type":"integer","example":50,"description":"Maximum number of results to return."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/json/mock-data":{"post":{"operationId":"json-mock-data","tags":["JSON"],"summary":"Mock JSON Data Generator","description":"Generate synthetic realistic mock datasets for users, products, transactions, posts, companies, or custom JSON Schemas.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"count":{"type":"integer","example":5,"description":"Number of mock records to generate (1 to 1,000)."},"template":{"type":"string","enum":["users","products","transactions","posts","companies"],"example":"users","description":"Preconfigured mock data template."},"seed":{"type":"integer","example":42,"description":"Deterministic seed number for reproducible mock datasets."},"locale":{"type":"string","example":"en","description":"Mock dataset locale code (e.g. en, fr, de)."},"schema":{"type":"object","example":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"]},"description":"Custom JSON Schema definition for custom mock generation."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/csv-to-json":{"post":{"operationId":"convert-csv-to-json","tags":["Data Converters"],"summary":"CSV to JSON Converter","description":"Convert delimited CSV files into structured JSON array objects with auto-delimiter detection and dynamic typing.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"id,name,role,salary\n1,Alice,Engineer,125000\n2,Bob,Product Manager,130000","description":"CSV text content."},"delimiter":{"type":"string","example":",","description":"Field separator character (, ; \\t | or auto)."},"header":{"type":"boolean","example":true,"description":"First row contains column headers."},"dynamicTyping":{"type":"boolean","example":true,"description":"Automatically parse numeric and boolean values."},"transformHeader":{"type":"string","enum":["none","camelCase","snake_case","uppercase","lowercase","trim"],"example":"camelCase","description":"Transform column header casing."},"skipEmptyLines":{"type":"boolean","example":true,"description":"Skip empty lines in input."},"quoteChar":{"type":"string","example":"\"","description":"Quote character."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/json-to-csv":{"post":{"operationId":"convert-json-to-csv","tags":["Data Converters"],"summary":"JSON to CSV Converter","description":"Serialize JSON object arrays into standard RFC 4180 CSV tables with nested object flattening and custom quoting.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"array","example":[{"id":101,"name":"Cloud Router","price":299.99,"active":true},{"id":102,"name":"Gigabit Switch","price":149,"active":false}],"description":"Array of JSON objects."},"delimiter":{"type":"string","example":",","description":"Delimiter character."},"header":{"type":"boolean","example":true,"description":"Include header row."},"quotes":{"type":"string","enum":["minimal","all","non-numeric"],"example":"minimal","description":"Field quoting policy."},"quoteChar":{"type":"string","example":"\"","description":"Quote character."},"columns":{"type":"array","items":{"type":"string"},"example":["id","name","price"],"description":"Specific column keys to export in order."},"flattenNested":{"type":"boolean","example":false,"description":"Flatten nested objects using dot notation (user.address.city)."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/csv-to-sql":{"post":{"operationId":"convert-csv-to-sql","tags":["Data Converters"],"summary":"CSV to SQL Insert Statement Generator","description":"Transform CSV datasets into multi-dialect SQL CREATE TABLE and batch INSERT statements.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"sku,title,stock,price\nPRD-01,Mechanical Keyboard,45,129.99\nPRD-02,Wireless Mouse,120,49.99","description":"CSV data string."},"tableName":{"type":"string","example":"products","description":"Target SQL table name."},"dialect":{"type":"string","enum":["mysql","postgres","sqlite","sqlserver","oracle"],"example":"mysql","description":"SQL target dialect."},"includeCreateTable":{"type":"boolean","example":true,"description":"Include CREATE TABLE DDL statement."},"primaryKey":{"type":"string","example":"sku","description":"Column name to mark as PRIMARY KEY in DDL."},"batchSize":{"type":"integer","example":100,"description":"Number of rows per INSERT statement."},"autoDetectTypes":{"type":"boolean","example":true,"description":"Infer column types (INT, DECIMAL, BOOLEAN, VARCHAR)."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/json-to-sql":{"post":{"operationId":"convert-json-to-sql","tags":["Data Converters"],"summary":"JSON to SQL Converter","description":"Convert JSON object arrays directly into parameterized SQL CREATE TABLE DDL and INSERT statements.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"array","example":[{"id":1,"name":"Alice","role":"admin"},{"id":2,"name":"Bob","role":"developer"}],"description":"Array of records."},"tableName":{"type":"string","example":"team_members","description":"Target table name."},"dialect":{"type":"string","enum":["mysql","postgres","sqlite","sqlserver","oracle"],"example":"mysql","description":"SQL dialect."},"includeCreateTable":{"type":"boolean","example":true,"description":"Include CREATE TABLE DDL."},"primaryKey":{"type":"string","example":"id","description":"Primary key column."},"batchSize":{"type":"integer","example":50,"description":"Number of rows per INSERT batch."},"flattenObjects":{"type":"boolean","example":false,"description":"Flatten nested objects before generating SQL columns."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/excel-to-json":{"post":{"operationId":"convert-excel-to-json","tags":["Data Converters"],"summary":"Excel to JSON Converter","description":"Parse Excel spreadsheet files (.xlsx, .xls) encoded in Base64 into structured JSON records.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"UEsDBBQAAAAIA...","description":"Base64-encoded Excel workbook data."},"sheetName":{"type":"string","example":"Q3_Revenue","description":"Sheet name to extract (defaults to active sheet)."},"sheetIndex":{"type":"integer","example":0,"description":"Zero-based index of the sheet to extract."},"allSheets":{"type":"boolean","example":false,"description":"Extract and return all sheets as a dictionary."},"headerRow":{"type":"integer","example":1,"description":"Row index containing header titles (1-indexed)."},"rawValues":{"type":"boolean","example":true,"description":"Parse raw unformatted values vs formatted display strings."},"skipBlankRows":{"type":"boolean","example":true,"description":"Skip empty rows."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/excel-to-sql":{"post":{"operationId":"convert-excel-to-sql","tags":["Data Converters"],"summary":"Excel to SQL Converter","description":"Convert Base64-encoded Excel workbook sheets directly into SQL CREATE TABLE and batch INSERT statements.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"UEsDBBQAAAAIA...","description":"Base64-encoded Excel file."},"tableName":{"type":"string","example":"sales_pipeline","description":"SQL target table name."},"dialect":{"type":"string","enum":["mysql","postgres","sqlite","sqlserver","oracle"],"example":"mysql","description":"SQL dialect."},"sheetName":{"type":"string","example":"Sheet1","description":"Sheet name."},"includeCreateTable":{"type":"boolean","example":true,"description":"Include CREATE TABLE DDL."},"primaryKey":{"type":"string","example":"id","description":"Primary key column."},"batchSize":{"type":"integer","example":50,"description":"Batch size."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/xml-to-json":{"post":{"operationId":"convert-xml-to-json","tags":["Data Converters"],"summary":"XML to JSON Converter","description":"Transform XML markup documents into JSON representations with attribute preservation and namespace stripping.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<catalog id=\"cat_10\"><book id=\"b1\"><title>Clean Code</title><author>Robert Martin</author></book></catalog>","description":"XML markup string."},"ignoreAttributes":{"type":"boolean","example":false,"description":"Ignore XML tag attributes."},"attributeNamePrefix":{"type":"string","example":"@_","description":"Prefix for XML attribute keys in generated JSON."},"parseNodeValue":{"type":"boolean","example":true,"description":"Parse node values to numbers/booleans."},"trimValues":{"type":"boolean","example":true,"description":"Trim whitespace from text nodes."},"removeNamespace":{"type":"boolean","example":false,"description":"Strip XML namespace prefixes."},"cdataPropName":{"type":"string","example":"__cdata","description":"Property name for CDATA sections."},"alwaysCreateArray":{"type":"boolean","example":false,"description":"Force single child elements into arrays."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/xml-to-csv":{"post":{"operationId":"convert-xml-to-csv","tags":["Data Converters"],"summary":"XML to CSV Converter","description":"Convert structured repeating XML nodes directly into CSV tables with root record path selection.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<users><user><id>1</id><name>Alice</name></user><user><id>2</id><name>Bob</name></user></users>","description":"XML string."},"recordPath":{"type":"string","example":"users.user","description":"Dot-notation path to repeating record elements."},"delimiter":{"type":"string","example":",","description":"CSV delimiter."},"includeHeader":{"type":"boolean","example":true,"description":"Include header row."},"flattenAttributes":{"type":"boolean","example":true,"description":"Flatten XML attributes as CSV columns."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/xml-to-yaml":{"post":{"operationId":"convert-xml-to-yaml","tags":["Data Converters"],"summary":"XML to YAML Converter","description":"Convert XML markup documents directly into formatted YAML structure.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<configuration><database><host>localhost</host><port>5432</port></database></configuration>","description":"XML markup."},"indent":{"type":"integer","example":2,"description":"Spaces per YAML indentation level."},"ignoreAttributes":{"type":"boolean","example":false,"description":"Ignore tag attributes."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/yaml-to-json":{"post":{"operationId":"convert-yaml-to-json","tags":["Data Converters"],"summary":"YAML to JSON / JSON to YAML Converter","description":"Bidirectionally convert between YAML document strings and JSON data objects.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"server:\n  port: 8080\n  host: 0.0.0.0\nfeatures:\n  - auth\n  - metrics","description":"YAML or JSON input string."},"mode":{"type":"string","enum":["yaml-to-json","json-to-yaml"],"example":"yaml-to-json","description":"Conversion direction."},"prettyJson":{"type":"boolean","example":true,"description":"Format JSON output with 2-space indentation."},"indent":{"type":"integer","example":2,"description":"Spaces per indentation level in YAML output."},"lineWidth":{"type":"integer","example":80,"description":"Maximum line width for YAML wrapping."},"sortKeys":{"type":"boolean","example":false,"description":"Sort keys in generated YAML."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/convert/csv-escape":{"post":{"operationId":"convert-csv-escape","tags":["Data Converters"],"summary":"CSV Cell Escape & Unescape","description":"Escape quotation marks, commas, and newlines inside CSV cell values according to RFC 4180.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"Item with \"Quotes\", commas and\nnewline","description":"Text cell value."},"mode":{"type":"string","enum":["escape","unescape"],"example":"escape","description":"Operation mode."},"delimiter":{"type":"string","example":",","description":"Field delimiter character."},"quoteChar":{"type":"string","example":"\"","description":"Quote character."},"forceQuotes":{"type":"boolean","example":false,"description":"Always enclose in quotes even if no special characters exist."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/security/jwt-decode":{"post":{"operationId":"security-jwt-decode","tags":["Security"],"summary":"JWT Decoder & Signature Verifier","description":"Decode and inspect JSON Web Tokens (JWT) headers, claims, expiration status, and optionally verify signatures.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c","description":"Compact encoded JWT string."},"secret":{"type":"string","example":"my-secret-key","description":"Optional secret key to verify HMAC signature validity."},"clockTolerance":{"type":"integer","example":0,"description":"Clock tolerance in seconds for expiration evaluation."},"ignoreExpiration":{"type":"boolean","example":false,"description":"Ignore token expiration date in validation."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/security/jwt-generate":{"post":{"operationId":"security-jwt-generate","tags":["Security"],"summary":"JWT Token Generator & Signer","description":"Cryptographically sign and generate JSON Web Tokens using HMAC SHA algorithms with custom expiration and claims.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["secret"],"properties":{"payload":{"type":"object","example":{"uid":"usr_8492","role":"admin","tier":"enterprise"},"description":"JWT payload claims object."},"secret":{"type":"string","example":"enterprise_hmac_secret_key_2026","description":"Secret key for cryptographic HMAC signing."},"algorithm":{"type":"string","enum":["HS256","HS384","HS512"],"example":"HS256","description":"HMAC signature algorithm."},"expiresIn":{"type":"string","example":"24h","description":"Token TTL duration string (e.g. 1h, 7d, 3600)."},"issuer":{"type":"string","example":"https://webdevsuite.dev","description":"Token issuer (iss claim)."},"subject":{"type":"string","example":"usr_8492","description":"Token subject (sub claim)."},"audience":{"type":"string","example":"webdevsuite-api","description":"Token audience (aud claim)."},"notBefore":{"type":"integer","example":0,"description":"Not before time in seconds (nbf claim)."},"header":{"type":"object","example":{"kid":"key-1"},"description":"Custom JWT header claims."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/security/hmac-generate":{"post":{"operationId":"security-hmac-generate","tags":["Security"],"summary":"HMAC Signature Generator","description":"Compute Hash-based Message Authentication Codes (HMAC) for webhook verification and API payload signing.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input","secret"],"properties":{"input":{"type":"string","example":"{\"event\":\"payment_succeeded\",\"id\":\"evt_8921\",\"amount\":4900}","description":"Payload string to sign."},"secret":{"type":"string","example":"whsec_78942b0f491c3d9a","description":"HMAC signing key."},"algorithm":{"type":"string","enum":["sha256","sha512","sha1","sha384","md5"],"example":"sha256","description":"Cryptographic hash algorithm."},"outputEncoding":{"type":"string","enum":["hex","base64","base64url"],"example":"hex","description":"Output encoding format."},"uppercaseHex":{"type":"boolean","example":false,"description":"Format hex output in uppercase letters."},"secretEncoding":{"type":"string","enum":["utf-8","hex","base64"],"example":"utf-8","description":"Encoding of the secret key."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/security/token-generate":{"post":{"operationId":"security-token-generate","tags":["Security"],"summary":"Cryptographic Secure Token Generator","description":"Generate high-entropy cryptographically secure random tokens, API keys, passwords, and formatted license keys.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"length":{"type":"integer","example":32,"description":"Number of characters per token (8 to 256)."},"count":{"type":"integer","example":1,"description":"Number of tokens to generate in batch (1 to 100)."},"type":{"type":"string","enum":["api-key","hex","uuid","password","numeric"],"example":"api-key","description":"Token character composition preset."},"includeUppercase":{"type":"boolean","example":true,"description":"Include uppercase characters (A-Z)."},"includeLowercase":{"type":"boolean","example":true,"description":"Include lowercase characters (a-z)."},"includeNumbers":{"type":"boolean","example":true,"description":"Include numeric digits (0-9)."},"includeSymbols":{"type":"boolean","example":false,"description":"Include punctuation and symbol characters."},"customCharset":{"type":"string","example":"","description":"Custom set of characters to sample from."},"prefix":{"type":"string","example":"api_live_","description":"Optional prefix string."},"suffix":{"type":"string","example":"","description":"Optional suffix string."},"groupLength":{"type":"integer","example":4,"description":"Group characters into blocks (e.g. 4 for XXXX-XXXX)."},"separator":{"type":"string","example":"-","description":"Separator character between character groups."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/security/ssl-decode":{"post":{"operationId":"security-ssl-decode","tags":["Security"],"summary":"SSL / TLS Certificate Inspector","description":"Parse X.509 SSL certificates, inspect validity dates, issuer information, SANs, and SHA-256 fingerprints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cert"],"properties":{"cert":{"type":"string","example":"-----BEGIN CERTIFICATE-----\nMIIE...","description":"PEM-encoded X.509 certificate string."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/sql/format":{"post":{"operationId":"sql-format","tags":["SQL"],"summary":"Multi-Dialect SQL Formatter","description":"Format complex SQL queries with support for 12+ dialects (PostgreSQL, MySQL, SQLite, BigQuery, Snowflake, etc.).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"SELECT u.id, u.email, count(o.id) as total_orders FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.status = 'active' GROUP BY u.id, u.email HAVING count(o.id) > 5 ORDER BY total_orders DESC LIMIT 10;","description":"SQL query text."},"dialect":{"type":"string","enum":["sql","mysql","postgresql","sqlite","mariadb","plsql","transactsql","tsql","bigquery","snowflake","redshift"],"example":"postgresql","description":"SQL dialect parser."},"keywordCase":{"type":"string","enum":["upper","lower","preserve"],"example":"upper","description":"Format SQL keywords casing."},"identifierCase":{"type":"string","enum":["upper","lower","preserve"],"example":"preserve","description":"Format column/table identifier casing."},"tabWidth":{"type":"integer","example":2,"description":"Indentation spacing."},"useTabs":{"type":"boolean","example":false,"description":"Use tabs for indentation."},"linesBetweenQueries":{"type":"integer","example":1,"description":"Blank lines between multiple SQL statements."},"denseOperators":{"type":"boolean","example":false,"description":"Remove spaces around operators."},"logicalOperatorNewline":{"type":"string","enum":["before","after"],"example":"before","description":"Newline position for AND / OR operators."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/sql/escape":{"post":{"operationId":"sql-escape","tags":["SQL"],"summary":"SQL String & Identifier Escape","description":"Sanitize strings for SQL query injection protection across PostgreSQL, MySQL, and SQLite dialects.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"O'Reilly & Sons \\ \"Database\"","description":"String or identifier to escape."},"mode":{"type":"string","enum":["escape","unescape"],"example":"escape","description":"Operation mode."},"dialect":{"type":"string","enum":["standard","mysql","postgres","sqlite"],"example":"standard","description":"SQL dialect escaping rules."},"wrapQuotes":{"type":"boolean","example":false,"description":"Automatically wrap escaped string in single quotes."},"escapeType":{"type":"string","enum":["literal","identifier"],"example":"literal","description":"Escape string literal vs table/column identifier."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/cron-parse":{"post":{"operationId":"utils-cron-parse","tags":["Developer Utilities"],"summary":"Cron Expression Parser & Forecast Engine","description":"Validate standard 5/6-field cron expressions, compute future execution schedules, and translate to human descriptions.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["expression"],"properties":{"expression":{"type":"string","example":"0 0 * * 1-5","description":"Cron expression schedule string (minute hour dom month dow)."},"nextCount":{"type":"integer","example":5,"description":"Number of upcoming scheduled executions to calculate (1 to 20)."},"timezone":{"type":"string","example":"UTC","description":"IANA timezone for calculation (e.g. America/New_York, UTC)."},"currentDate":{"type":"string","example":"2026-08-15T00:00:00Z","description":"Reference ISO timestamp for forecasting."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/diff":{"post":{"operationId":"utils-diff","tags":["Developer Utilities"],"summary":"Text & Code Diff Comparator","description":"Compute line-by-line, word-by-word, and character diffs between original and modified text buffers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["originalText","modifiedText"],"properties":{"originalText":{"type":"string","example":"const port = 3000;\napp.listen(port);","description":"Original source text."},"modifiedText":{"type":"string","example":"const port = process.env.PORT || 3000;\napp.listen(port, () => console.log(\"Ready\"));","description":"Modified target text."},"diffType":{"type":"string","enum":["lines","words","chars"],"example":"lines","description":"Granularity of difference computation."},"ignoreWhitespace":{"type":"boolean","example":false,"description":"Ignore differences in whitespace."},"ignoreCase":{"type":"boolean","example":false,"description":"Perform case-insensitive comparison."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/lorem":{"post":{"operationId":"utils-lorem","tags":["Developer Utilities"],"summary":"Lorem Ipsum Placeholder Generator","description":"Generate customizable placeholder text across words, sentences, paragraphs, lists, and HTML markup.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"count":{"type":"integer","example":3,"description":"Quantity of units to generate (1 to 100)."},"units":{"type":"string","enum":["paragraphs","sentences","words","lists"],"example":"paragraphs","description":"Unit type."},"format":{"type":"string","enum":["plain","html","markdown"],"example":"plain","description":"Output text format."},"startWithLorem":{"type":"boolean","example":true,"description":"Prefix first sentence with \"Lorem ipsum dolor sit amet\"."},"corpus":{"type":"string","enum":["lorem-ipsum","corporate","hipster","bacon"],"example":"lorem-ipsum","description":"Theme preset."},"htmlTag":{"type":"string","enum":["p","li","div"],"example":"p","description":"HTML tag to wrap text when format is html."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/number-base":{"post":{"operationId":"utils-number-base","tags":["Developer Utilities"],"summary":"Number Base Converter","description":"Convert integer values between Binary, Octal, Decimal, Hexadecimal, and arbitrary bases (2 to 36).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["value"],"properties":{"value":{"type":"string","example":"255","description":"Number string to convert."},"fromBase":{"type":"integer","example":10,"description":"Source radix base (2 to 36)."},"toBase":{"type":"integer","example":16,"description":"Target radix base (2 to 36)."},"formatAll":{"type":"boolean","example":false,"description":"Return conversions across all standard bases (binary, octal, decimal, hex) simultaneously."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/qrcode":{"post":{"operationId":"utils-qrcode","tags":["Developer Utilities"],"summary":"QR Code Generator","description":"Generate high-resolution SVG, PNG, and Data-URL QR codes with custom error correction and color styling.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","example":"https://webdevsuite.dev/pricing","description":"Target URL or text data to encode."},"type":{"type":"string","enum":["svg","png","data-url","utf8"],"example":"svg","description":"QR Code render format."},"errorCorrectionLevel":{"type":"string","enum":["L","M","Q","H"],"example":"M","description":"Reed-Solomon error correction level (L: 7%, M: 15%, Q: 25%, H: 30%)."},"margin":{"type":"integer","example":4,"description":"Quiet zone margin width in modules."},"scale":{"type":"integer","example":4,"description":"Pixel scale multiplier."},"color":{"type":"object","properties":{"dark":{"type":"string","example":"#000000ff"},"light":{"type":"string","example":"#ffffff00"}},"description":"Custom QR module and background colors in RGBA hex format."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/text-case":{"post":{"operationId":"utils-text-case","tags":["Developer Utilities"],"summary":"Text Case Converter","description":"Transform string naming conventions across 13 case formats (camelCase, PascalCase, snake_case, kebab-case, etc.).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"user authentication service token","description":"Source text string."},"targetCase":{"type":"string","enum":["camelCase","PascalCase","snake_case","kebab-case","CONSTANT_CASE","titleCase","sentenceCase","dotCase","pathCase","headerCase","lowercase","uppercase","alternating"],"example":"camelCase","description":"Target case format."},"convertAll":{"type":"boolean","example":false,"description":"If true, returns an object containing all 13 case variations at once."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/text-stats":{"post":{"operationId":"utils-text-stats","tags":["Developer Utilities"],"summary":"Text Analytics & Word Counter","description":"Compute precise linguistic metrics including word count, character count, sentence count, reading time, and keyword density.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","example":"Enterprise cloud architectures require resilient API gateway layers.","description":"Text corpus to analyze."},"readingWpm":{"type":"integer","example":200,"description":"Reading speed in words per minute (default: 200)."},"speakingWpm":{"type":"integer","example":130,"description":"Speaking speed in words per minute (default: 130)."},"keywordDensityCount":{"type":"integer","example":5,"description":"Number of top keyword frequencies to return."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/timestamp":{"post":{"operationId":"utils-timestamp","tags":["Developer Utilities"],"summary":"Timestamp & Date Converter","description":"Parse, convert, and format Unix epoch seconds, milliseconds, and ISO-8601 timestamps across timezones.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"input":{"type":"string","example":"1723723200","description":"Timestamp (numeric string, unix seconds/ms, or ISO date string)."},"timezone":{"type":"string","example":"UTC","description":"Target timezone (e.g. UTC, America/New_York)."},"outputFormat":{"type":"string","enum":["iso","rfc2822","unix","unix-ms"],"example":"iso","description":"Output timestamp format."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/url-encode":{"post":{"operationId":"utils-url-encode","tags":["Developer Utilities"],"summary":"URL Encoder & Decoder","description":"Encode and decode URI components and query strings with RFC 3986 compliance, plus-space options, and full URL mode.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"https://example.com/search?q=developer tools & api=v1","description":"URL string."},"mode":{"type":"string","enum":["encode","decode"],"example":"encode","description":"Operation mode."},"spaceEncoding":{"type":"string","enum":["percent","plus"],"example":"percent","description":"Space encoding (%20 vs +)."},"encodeSpecialChars":{"type":"boolean","example":false,"description":"Encode reserved characters (!, ', (, ), *)."},"encodeFullUrl":{"type":"boolean","example":false,"description":"Use encodeURI (preserving URL structure) instead of encodeURIComponent."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/utils/uuid":{"post":{"operationId":"utils-uuid","tags":["Developer Utilities"],"summary":"UUID Generator","description":"Generate RFC 4122 / RFC 9562 compliant Version 4, Version 7 (time-ordered), Version 1, and Nil UUID identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"count":{"type":"integer","example":5,"description":"Quantity of UUIDs to generate (1 to 500)."},"version":{"type":"string","enum":["v4","v7","v1","nil"],"example":"v4","description":"UUID specification version."},"hyphens":{"type":"boolean","example":true,"description":"Include standard dash delimiters."},"uppercase":{"type":"boolean","example":false,"description":"Format hexadecimal characters in uppercase."},"braces":{"type":"boolean","example":false,"description":"Wrap UUID in curly braces ({...})."},"quotes":{"type":"boolean","example":false,"description":"Wrap UUID in quotation marks (\"...\")."},"delimiter":{"type":"string","enum":["newline","comma","space","json-array"],"example":"newline","description":"Output separator formatting."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/xml/format":{"post":{"operationId":"xml-format","tags":["XML"],"summary":"XML Formatter & Beautifier","description":"Prettify XML documents with custom indentation spacing, self-closing tag handling, and syntax validation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<project><name>WebDevSuite</name><modules><module id=\"1\">API Gateway</module></modules></project>","description":"Raw XML markup string."},"tabWidth":{"type":"integer","example":2,"description":"Indentation spacing."},"collapseContent":{"type":"boolean","example":true,"description":"Collapse content within elements on a single line."},"whiteSpaceAtEndOfSelfclosingTag":{"type":"boolean","example":false,"description":"Ensure whitespace before closing slash in self-closing tags (<tag />)."},"validateOnly":{"type":"boolean","example":false,"description":"If true, validate XML syntax without returning formatted text."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/xml/minify":{"post":{"operationId":"xml-minify","tags":["XML"],"summary":"XML Minifier & Compressor","description":"Compress XML payloads by stripping comments, collapsing whitespace, and removing inter-element line breaks.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<!-- Configuration -->\n<settings>\n  <debug enabled=\"true\" />\n</settings>","description":"XML content."},"removeComments":{"type":"boolean","example":true,"description":"Remove XML comments (<!-- ... -->)."},"collapseContent":{"type":"boolean","example":true,"description":"Collapse element text content."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/xml/escape":{"post":{"operationId":"xml-escape","tags":["XML"],"summary":"XML Entity Escape & Unescape","description":"Escape reserved XML characters (&, <, >, \", ') into valid XML entities or numeric entity representations.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"<query condition=\"active & verified\">","description":"XML string."},"mode":{"type":"string","enum":["escape","unescape"],"example":"escape","description":"Operation mode."},"numericEntities":{"type":"boolean","example":false,"description":"Encode as numeric entities (&#38;) instead of named entities (&amp;)."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/base64/encode":{"post":{"operationId":"base64-encode","tags":["Base64"],"summary":"Base64 Text Encoder","description":"Encode text strings into standard RFC 4648 Base64, URL-safe Base64, or Data URI formats with padding options.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"Enterprise Developer Platform","description":"Plaintext string to encode."},"urlSafe":{"type":"boolean","example":false,"description":"Use URL-safe alphabet (+/ -> -_)."},"encoding":{"type":"string","enum":["utf8","ascii","latin1","utf16le"],"example":"utf8","description":"Source string character encoding."},"mode":{"type":"string","enum":["standard","url-safe","data-uri"],"example":"standard","description":"Output format mode."},"mimeType":{"type":"string","example":"text/plain","description":"MIME type prefix when mode is data-uri."},"padding":{"type":"boolean","example":true,"description":"Include trailing = padding characters."},"wrapLines":{"type":"integer","example":0,"description":"Wrap output into lines of N characters (e.g. 76 for MIME)."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/base64/decode":{"post":{"operationId":"base64-decode","tags":["Base64"],"summary":"Base64 Decoder","description":"Decode standard Base64, URL-safe Base64, and Data URI payloads back into decoded plaintext strings.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["input"],"properties":{"input":{"type":"string","example":"RW50ZXJwcmlzZSBEZXZlbG9wZXIgUGxhdGZvcm0=","description":"Base64 encoded string or Data URI."},"outputEncoding":{"type":"string","enum":["utf8","ascii","latin1","utf16le","hex"],"example":"utf8","description":"Target character encoding."},"strict":{"type":"boolean","example":false,"description":"Enforce strict base64 alphabet validation."},"stripDataUriHeader":{"type":"boolean","example":true,"description":"Automatically strip data:mime/type;base64, prefixes if present."}}}}}},"responses":{"200":{"description":"Successful execution returning formatted result and metrics envelope"}}}},"/api/v1/health":{"get":{"operationId":"health-check","tags":["Health"],"summary":"Service Health Check","description":"Check operational status of the WebDevSuite Pro API gateway and execution engine subsystems.","security":[],"responses":{"200":{"description":"Service operational status and server time"}}}}}}