{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-learn/ai-for-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"redocly_category":"Learn","type":"markdown"},"seo":{"title":"Use AI to generate first drafts from your OpenAPI spec","description":"How to prompt an LLM from OpenAPI for summaries and examples, what humans must still verify, and how Redoc renders the page while Redocly CLI decorators and lint keep the spec trustworthy.","siteUrl":"https://redocly.com","image":"/assets/redocly-card.f670aae34a39545a5ea633a540cb3a4a333a1f23bb2ed3c4a1b17a5fbcf0ac85.db81178d.png","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"use-ai-to-generate-first-drafts-from-your-openapi-spec","__idx":0},"children":["Use AI to generate first drafts from your OpenAPI spec"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The spec already names operations, parameters, and schemas. Readers still need prose that explains tasks, highlights required fields, and shows realistic examples. A large language model can draft that layer quickly, but it will invent details if you let it. Keep the spec authoritative, render with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/redoc"},"children":["Redoc CE documentation"]},", and run ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/"},"children":["Explore Redocly CLI"]}," with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/api-standards"},"children":["API standards and governance"]}," so text and schema stay aligned before you ship."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This article covers what belongs in a first pass, what humans must verify, and how Redoc plus CLI decorators publish enriched output without silently rewriting the YAML people review in Git."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-belongs-in-a-first-draft-from-openapi","__idx":1},"children":["What belongs in a first draft from OpenAPI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Readers search for a task before they read raw ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paths"]},". A useful first pass adds a short overview per important operation, a parameter table that marks required fields, request and response examples grounded in schemas, and links to related errors or follow-on calls. Cover auth, pagination, idempotency, and limits once, then link from operations that depend on them."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Thin specs yield thin drafts. When descriptions are empty, paste release notes or FAQs beside the prompt and label them non-authoritative so nobody treats model text as a spec edit by accident."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-models-handle-well-versus-what-humans-still-own","__idx":2},"children":["What models handle well versus what humans still own"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Models compress structure into readable prose fast. They handle ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["oneOf"]}," and discriminator shapes, summarize enums without raw JSON dumps, and draft curl-shaped examples when you name your stack."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Humans still own factual accuracy, legal wording, performance claims, and private routing rules the file never recorded. You own brand tone and which operations belong in public docs. If a field is deprecated in chat but not in OpenAPI, paste that fact next to the prompt or fix the spec first."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-to-prompt-ai-with-your-openapi-file","__idx":3},"children":["How to prompt AI with your OpenAPI file"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"context-block-template","__idx":4},"children":["Context block template"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Paste something shaped like this before the YAML or JSON:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"markdown","header":{"controls":{"copy":{}}},"source":"You are drafting human-facing API reference prose from OpenAPI 3.1.\n\nAudience:\n- Backend engineers integrating for the first time this week.\n\nRules:\n- Do not invent endpoints, fields, status codes, or headers that are not in the pasted spec.\n- When the spec is ambiguous, write \"unspecified in OpenAPI\" instead of guessing.\n- Prefer short paragraphs and Markdown tables for parameters.\n\nDeliverables per listed operationId:\n1. A two to four sentence overview of what the call does in product terms.\n2. A Markdown table: name, in, required, type, description (copy descriptions from the spec when present).\n3. One request example and one success response example using realistic but fake data.\n4. Links (relative Markdown) to auth and error reference pages if those paths exist in the same repo outline I paste below.\n","lang":"markdown"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Paste the same OpenAPI slice readers will see, bundled if your repo splits files across folders. If navigation lives outside the spec, paste that outline too so cross-links in the draft match your sidebar."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"review-checklist-for-the-model","__idx":5},"children":["Review checklist for the model"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Cover error bodies, security per operation, and any ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["examples"]}," fields so JSON matches declared types. Require a short assumptions list anywhere the model went beyond the file."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-redoc-turns-the-spec-into-a-reference-site","__idx":6},"children":["How Redoc turns the spec into a reference site"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/redoc"},"children":["Redoc CE documentation"]}," describes the three-panel layout readers expect: navigation, operation detail, nested schemas. Follow the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/redoc/quickstart"},"children":["Redoc CE quickstart"]}," or run the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/commands/build-docs"},"children":["build-docs command"]}," through ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/"},"children":["Explore Redocly CLI"]}," so CI emits static HTML from the same file the model read."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When prose overclaims behavior, comparing the draft to the rendered schema panel surfaces the gap quickly."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"where-redocly-cli-decorators-and-lint-fit","__idx":7},"children":["Where Redocly CLI decorators and lint fit"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/decorators"},"children":["Decorators"]}," apply repeatable build-time edits: filter internal operations, add examples, or tune descriptions for publication while engineering keeps a stricter root file, as described under ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/api-standards"},"children":["API standards and governance"]},". That split helps when AI suggests friendlier copy you are not ready to merge into canonical YAML."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After you change the OpenAPI itself, run ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/rules/built-in-rules"},"children":["built-in rules"]}," through the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/guides/configure-rules"},"children":["guide to configuring a ruleset"]}," so examples still validate and required fields stay consistent."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-ai-cannot-guarantee","__idx":8},"children":["What AI cannot guarantee"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Models cannot certify that examples hit your staging stack, that quotas match production, or that legal text is correct per region. Pasting live tokens to chase realism leaks secrets."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use AI to shorten reading time. Use reviewers plus automated lint to certify what readers may rely on."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"best-practices","__idx":9},"children":["Best practices"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste bundled OpenAPI or the exact slice you publish so paths and component names match what Redoc will render."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ask the model to output a change list of assumptions separate from spec-backed text."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Put decorator-driven publication tweaks in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redocly.yaml"]}," so they are reviewable like code."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Run lint on the spec after every merge that touches examples or descriptions."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-this-approach-cannot-replace","__idx":10},"children":["What this approach cannot replace"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This approach cannot replace ship-team review, legal review of commitments, or research on the tasks readers perform. It speeds structure-to-HTML work; it does not transfer ownership of API behavior."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-the-pieces-fit-together","__idx":11},"children":["How the pieces fit together"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"graph LR\n  O[OpenAPI source] --> L[LLM prose draft]\n  L --> H[Human edits spec or text]\n  H --> C[Redocly CLI lint and decorate]\n  C --> B[build-docs output]\n  B --> P[Redoc layout for readers]\n","diagramHtml":"<svg id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1564.703125px;\" viewBox=\"0 0 1564.703125 94\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .error-icon{fill:#552222;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .error-text{fill:#552222;stroke:#552222;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-thickness-normal{stroke-width:1px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-thickness-thick{stroke-width:3.5px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-pattern-solid{stroke-dasharray:0;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .marker{fill:#333333;stroke:#333333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .marker.cross{stroke:#333333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 svg{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 p{margin:0;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .label{font-family:\"Redocly Mermaid Sans\",sans-serif;color:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .cluster-label text{fill:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .cluster-label span{color:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .cluster-label span p{background-color:transparent;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .label text,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 span{fill:#333;color:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node rect,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node circle,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node ellipse,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node polygon,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .rough-node .label text,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node .label text,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .image-shape .label,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .icon-shape .label{text-anchor:middle;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .rough-node .label,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node .label,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .image-shape .label,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .icon-shape .label{text-align:center;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node.clickable{cursor:pointer;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .arrowheadPath{fill:#333333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .flowchart-link{stroke:#333333;fill:none;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .cluster text{fill:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .cluster span{color:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 rect.text{fill:none;stroke-width:0;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .icon-shape,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .icon-shape p,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .icon-shape .label rect,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 .node .neo-node{stroke:#9370DB;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node rect,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].cluster rect,#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}</style><g><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M187.359,47L191.526,47C195.693,47,204.026,47,211.693,47C219.359,47,226.359,47,229.859,47L233.359,47\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-L_O_L_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_O_L_0\" data-points=\"W3sieCI6MTg3LjM1OTM3NSwieSI6NDd9LHsieCI6MjEyLjM1OTM3NSwieSI6NDd9LHsieCI6MjM3LjM1OTM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd)\"></path><path d=\"M415,47L419.167,47C423.333,47,431.667,47,439.333,47C447,47,454,47,457.5,47L461,47\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-L_L_H_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_L_H_0\" data-points=\"W3sieCI6NDE1LCJ5Ijo0N30seyJ4Ijo0NDAsInkiOjQ3fSx7IngiOjQ2NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd)\"></path><path d=\"M711.531,47L715.698,47C719.865,47,728.198,47,735.865,47C743.531,47,750.531,47,754.031,47L757.531,47\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-L_H_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_H_C_0\" data-points=\"W3sieCI6NzExLjUzMTI1LCJ5Ijo0N30seyJ4Ijo3MzYuNTMxMjUsInkiOjQ3fSx7IngiOjc2MS41MzEyNSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd)\"></path><path d=\"M1021.531,47L1025.698,47C1029.865,47,1038.198,47,1045.865,47C1053.531,47,1060.531,47,1064.031,47L1067.531,47\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-L_C_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_B_0\" data-points=\"W3sieCI6MTAyMS41MzEyNSwieSI6NDd9LHsieCI6MTA0Ni41MzEyNSwieSI6NDd9LHsieCI6MTA3MS41MzEyNSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd)\"></path><path d=\"M1263.484,47L1267.651,47C1271.818,47,1280.151,47,1287.818,47C1295.484,47,1302.484,47,1305.984,47L1309.484,47\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-L_B_P_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_P_0\" data-points=\"W3sieCI6MTI2My40ODQzNzUsInkiOjQ3fSx7IngiOjEyODguNDg0Mzc1LCJ5Ijo0N30seyJ4IjoxMzEzLjQ4NDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_O_L_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_L_H_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_H_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_C_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_P_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-flowchart-O-0\" data-look=\"classic\" transform=\"translate(97.6796875, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-89.6796875\" y=\"-27\" width=\"179.359375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-59.6796875, -12)\"><rect></rect><foreignObject width=\"119.359375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OpenAPI source</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-flowchart-L-1\" data-look=\"classic\" transform=\"translate(326.1796875, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-88.8203125\" y=\"-27\" width=\"177.640625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-58.8203125, -12)\"><rect></rect><foreignObject width=\"117.640625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>LLM prose draft</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-flowchart-H-3\" data-look=\"classic\" transform=\"translate(588.265625, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-123.265625\" y=\"-27\" width=\"246.53125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-93.265625, -12)\"><rect></rect><foreignObject width=\"186.53125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Human edits spec or text</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-flowchart-C-5\" data-look=\"classic\" transform=\"translate(891.53125, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-130\" y=\"-39\" width=\"260\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-100, -24)\"><rect></rect><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"nodeLabel\"><p>Redocly CLI lint and decorate</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-flowchart-B-7\" data-look=\"classic\" transform=\"translate(1167.5078125, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-95.9765625\" y=\"-27\" width=\"191.953125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-65.9765625, -12)\"><rect></rect><foreignObject width=\"131.953125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>build-docs output</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-flowchart-P-9\" data-look=\"classic\" transform=\"translate(1435.09375, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-121.609375\" y=\"-27\" width=\"243.21875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-91.609375, -12)\"><rect></rect><foreignObject width=\"183.21875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Redoc layout for readers</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-3f61425b571c7dc6e949db740f2de831e93a230255c7c3f133584784e05ce090-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1564.703125px;\" viewBox=\"0 0 1564.703125 94\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .error-icon{fill:#a44141;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .error-text{fill:#ddd;stroke:#ddd;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-thickness-normal{stroke-width:1px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-thickness-thick{stroke-width:3.5px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-pattern-solid{stroke-dasharray:0;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .marker.cross{stroke:lightgrey;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 svg{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 p{margin:0;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .label{font-family:\"Redocly Mermaid Sans\",sans-serif;color:#ccc;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .cluster-label text{fill:#F9FFFE;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .cluster-label span{color:#F9FFFE;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .cluster-label span p{background-color:transparent;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .label text,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 span{fill:#ccc;color:#ccc;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node rect,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node circle,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node ellipse,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node polygon,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .rough-node .label text,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node .label text,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .image-shape .label,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .icon-shape .label{text-anchor:middle;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .rough-node .label,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node .label,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .image-shape .label,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .icon-shape .label{text-align:center;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node.clickable{cursor:pointer;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .arrowheadPath{fill:lightgrey;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .cluster text{fill:#F9FFFE;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .cluster span{color:#F9FFFE;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 rect.text{fill:none;stroke-width:0;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .icon-shape,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .icon-shape p,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .icon-shape .label rect,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 .node .neo-node{stroke:#ccc;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node rect,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].cluster rect,#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node polygon{stroke:url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node path{stroke:url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-gradient);stroke-width:1px;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node circle{stroke:url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}</style><g><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M187.359,47L191.526,47C195.693,47,204.026,47,211.693,47C219.359,47,226.359,47,229.859,47L233.359,47\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-L_O_L_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_O_L_0\" data-points=\"W3sieCI6MTg3LjM1OTM3NSwieSI6NDd9LHsieCI6MjEyLjM1OTM3NSwieSI6NDd9LHsieCI6MjM3LjM1OTM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd)\"></path><path d=\"M415,47L419.167,47C423.333,47,431.667,47,439.333,47C447,47,454,47,457.5,47L461,47\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-L_L_H_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_L_H_0\" data-points=\"W3sieCI6NDE1LCJ5Ijo0N30seyJ4Ijo0NDAsInkiOjQ3fSx7IngiOjQ2NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd)\"></path><path d=\"M711.531,47L715.698,47C719.865,47,728.198,47,735.865,47C743.531,47,750.531,47,754.031,47L757.531,47\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-L_H_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_H_C_0\" data-points=\"W3sieCI6NzExLjUzMTI1LCJ5Ijo0N30seyJ4Ijo3MzYuNTMxMjUsInkiOjQ3fSx7IngiOjc2MS41MzEyNSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd)\"></path><path d=\"M1021.531,47L1025.698,47C1029.865,47,1038.198,47,1045.865,47C1053.531,47,1060.531,47,1064.031,47L1067.531,47\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-L_C_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_B_0\" data-points=\"W3sieCI6MTAyMS41MzEyNSwieSI6NDd9LHsieCI6MTA0Ni41MzEyNSwieSI6NDd9LHsieCI6MTA3MS41MzEyNSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd)\"></path><path d=\"M1263.484,47L1267.651,47C1271.818,47,1280.151,47,1287.818,47C1295.484,47,1302.484,47,1305.984,47L1309.484,47\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-L_B_P_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_P_0\" data-points=\"W3sieCI6MTI2My40ODQzNzUsInkiOjQ3fSx7IngiOjEyODguNDg0Mzc1LCJ5Ijo0N30seyJ4IjoxMzEzLjQ4NDM3NSwieSI6NDd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_O_L_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_L_H_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_H_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_C_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_P_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-flowchart-O-0\" data-look=\"classic\" transform=\"translate(97.6796875, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-89.6796875\" y=\"-27\" width=\"179.359375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-59.6796875, -12)\"><rect></rect><foreignObject width=\"119.359375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OpenAPI source</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-flowchart-L-1\" data-look=\"classic\" transform=\"translate(326.1796875, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-88.8203125\" y=\"-27\" width=\"177.640625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-58.8203125, -12)\"><rect></rect><foreignObject width=\"117.640625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>LLM prose draft</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-flowchart-H-3\" data-look=\"classic\" transform=\"translate(588.265625, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-123.265625\" y=\"-27\" width=\"246.53125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-93.265625, -12)\"><rect></rect><foreignObject width=\"186.53125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Human edits spec or text</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-flowchart-C-5\" data-look=\"classic\" transform=\"translate(891.53125, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-130\" y=\"-39\" width=\"260\" height=\"78\"></rect><g class=\"label\" style=\"\" transform=\"translate(-100, -24)\"><rect></rect><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"nodeLabel\"><p>Redocly CLI lint and decorate</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-flowchart-B-7\" data-look=\"classic\" transform=\"translate(1167.5078125, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-95.9765625\" y=\"-27\" width=\"191.953125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-65.9765625, -12)\"><rect></rect><foreignObject width=\"131.953125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>build-docs output</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-flowchart-P-9\" data-look=\"classic\" transform=\"translate(1435.09375, 47)\"><rect class=\"basic label-container\" style=\"\" x=\"-121.609375\" y=\"-27\" width=\"243.21875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-91.609375, -12)\"><rect></rect><foreignObject width=\"183.21875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Redoc layout for readers</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-4f040815e52ad65bae17beab92b6de44012ee33914fbd1fd7beea3eacd8328d6-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["graph LR\n  O[OpenAPI source] --> L[LLM prose draft]\n  L --> H[Human edits spec or text]\n  H --> C[Redocly CLI lint and decorate]\n  C --> B[build-docs output]\n  B --> P[Redoc layout for readers]\n"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Structure becomes prose, then CLI tooling ties published pages back to the same rules on every build."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"learn-more","__idx":12},"children":["Learn more"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Start from ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/redoc"},"children":["Redoc CE documentation"]}," and the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/redoc/quickstart"},"children":["Redoc CE quickstart"]}," when you want OpenAPI to become a navigable reference layout."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/"},"children":["Explore Redocly CLI"]},", the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/commands/build-docs"},"children":["build-docs command"]},", and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/cli/decorators"},"children":["decorators"]}," when you want lintable specs, repeatable enrichments, and static HTML in one pipeline."]}]},"headings":[{"value":"Use AI to generate first drafts from your OpenAPI spec","id":"use-ai-to-generate-first-drafts-from-your-openapi-spec","depth":1},{"value":"What belongs in a first draft from OpenAPI","id":"what-belongs-in-a-first-draft-from-openapi","depth":2},{"value":"What models handle well versus what humans still own","id":"what-models-handle-well-versus-what-humans-still-own","depth":2},{"value":"How to prompt AI with your OpenAPI file","id":"how-to-prompt-ai-with-your-openapi-file","depth":2},{"value":"Context block template","id":"context-block-template","depth":3},{"value":"Review checklist for the model","id":"review-checklist-for-the-model","depth":3},{"value":"How Redoc turns the spec into a reference site","id":"how-redoc-turns-the-spec-into-a-reference-site","depth":2},{"value":"Where Redocly CLI decorators and lint fit","id":"where-redocly-cli-decorators-and-lint-fit","depth":2},{"value":"What AI cannot guarantee","id":"what-ai-cannot-guarantee","depth":2},{"value":"Best practices","id":"best-practices","depth":2},{"value":"What this approach cannot replace","id":"what-this-approach-cannot-replace","depth":2},{"value":"How the pieces fit together","id":"how-the-pieces-fit-together","depth":2},{"value":"Learn more","id":"learn-more","depth":2}],"frontmatter":{"seo":{"title":"Use AI to generate first drafts from your OpenAPI spec","description":"How to prompt an LLM from OpenAPI for summaries and examples, what humans must still verify, and how Redoc renders the page while Redocly CLI decorators and lint keep the spec trustworthy."}},"lastModified":"2026-05-22T12:10:40.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/learn/ai-for-docs/ai-generate-first-drafts-from-openapi","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}