30 lines
139 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-usage">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.3.1">
<title data-rh="true">Usage | OpenAPI Generator</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-rh="true" name="twitter:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-rh="true" property="og:url" content="https://openapi-generator.tech/docs/usage"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Usage | OpenAPI Generator"><meta data-rh="true" name="description" content="Options for OpenAPI Generator are the same whether you&#x27;re using the CLI, Maven/Gradle Plugins, or Online generation options."><meta data-rh="true" property="og:description" content="Options for OpenAPI Generator are the same whether you&#x27;re using the CLI, Maven/Gradle Plugins, or Online generation options."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="canonical" href="https://openapi-generator.tech/docs/usage"><link data-rh="true" rel="alternate" href="https://openapi-generator.tech/docs/usage" hreflang="en"><link data-rh="true" rel="alternate" href="https://openapi-generator.tech/docs/usage" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://51ITDG8FYN-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="OpenAPI Generator RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="OpenAPI Generator Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-132927057-1","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<link rel="search" type="application/opensearchdescription+xml" title="OpenAPI Generator" href="/opensearch.xml">
<script src="https://buttons.github.io/buttons.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
<script src="/js/code-block-buttons.js"></script><link rel="stylesheet" href="/assets/css/styles.fcd3a3ce.css">
<link rel="preload" href="/assets/js/runtime~main.27a6ef31.js" as="script">
<link rel="preload" href="/assets/js/main.7f449d5a.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/mono-logo.svg" alt="OpenAPI Tools logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/mono-logo.svg" alt="OpenAPI Tools logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">OpenAPI Generator</b></a><a class="navbar__item navbar__link" href="/docs/installation">Getting Started</a><a class="navbar__item navbar__link" href="/docs/generators">Generators</a><a class="navbar__item navbar__link" href="/docs/roadmap">Roadmap</a><a class="navbar__item navbar__link" href="/docs/faq">FAQ</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a href="https://api.openapi-generator.tech" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">API</a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/installation">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/installation">CLI Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/plugins">Plugins</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/online">Online</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/usage">Usage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/globals">Global Properties</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/configuration">Configuration Options</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/file-post-processing">File post-processing</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/templating">Extending</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/contributing">Contributing</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/roadmap">About</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/release-summary">Releases</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/generators">API</a></div></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Getting Started</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Usage</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Usage</h1></header><p>Options for OpenAPI Generator are the same whether you&#x27;re using the CLI, Maven/Gradle Plugins, or Online generation options.
This page demonstrates navigating the options via CLI. Commands are presented here in a logical progression as a tutorial, but you&#x27;re welcome to skip directly to the <a href="#generate">generate</a> command.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="help">help<a href="#help" class="hash-link" aria-label="Direct link to help" title="Direct link to help"></a></h2><p>The <code>help</code> option lists all commands available to the CLI.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">usage: openapi-generator-cli &lt;command&gt; [&lt;args&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">The most commonly used openapi-generator-cli commands are:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> author Utilities for authoring generators or customizing templates.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> batch Generate code in batch via external configs.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> config-help Config help for chosen lang</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generate Generate code with the specified generator.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> help Display help information about openapi-generator</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> list Lists the available generators</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> meta MetaGenerator. Generator for creating a new template set and configuration for Codegen. The output will be based on the language you specify, and includes default templates to include.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> validate Validate specification</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> version Show version information used in tooling</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">See &#x27;openapi-generator-cli help &lt;command&gt;&#x27; for more information on a specific</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">command.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="version">version<a href="#version" class="hash-link" aria-label="Direct link to version" title="Direct link to version"></a></h2><p>The version command provides version information, returning either the version by default, the git commit sha when passed <code>--sha</code>, or verbose output when passed <code>--full</code>.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli version - Show version information used in tooling</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli version [--full] [--sha]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --full</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Full version details</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --sha</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Git commit SHA version</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="list">list<a href="#list" class="hash-link" aria-label="Direct link to list" title="Direct link to list"></a></h2><p>The <code>list</code> command outputs a formatted list of every available generator. Pass the <code>-s/--short</code> option if you would like a CSV output for easy parsing.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help list</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli list - Lists the available generators</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli list [(-i &lt;include&gt; | --include &lt;include&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-s | --short)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -i &lt;include&gt;, --include &lt;include&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> comma-separated list of stability indexes to include (value:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> all,beta,stable,experimental,deprecated). Excludes deprecated by</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> default.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -s, --short</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> shortened output (suitable for scripting)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Example:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli list -s </span><span class="token operator">|</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">tr</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;,&#x27;</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;\n&#x27;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>For the full list of generators, refer to the <a href="/docs/generators">Generators List</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="config-help">config-help<a href="#config-help" class="hash-link" aria-label="Direct link to config-help" title="Direct link to config-help"></a></h2><p>The <code>config-help</code> option provides details about </p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help config-help</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli config-help - Config help for chosen lang</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli config-help</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-f &lt;output format&gt; | --format &lt;output format&gt;)] [--feature-set]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--full-details]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-g &lt;generator name&gt; | --generator-name &lt;generator name&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--import-mappings] [--instantiation-types]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--language-specific-primitive] [--markdown-header] [--named-header]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-o &lt;output location&gt; | --output &lt;output location&gt;)] [--reserved-words]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -f &lt;output format&gt;, --format &lt;output format&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Write output files in the desired format. Options are &#x27;text&#x27;,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &#x27;markdown&#x27; or &#x27;yamlsample&#x27;. Default is &#x27;text&#x27;.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --feature-set</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> displays feature set as supported by the generator</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --full-details</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> displays CLI options as well as other configs/mappings (implies</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --instantiation-types, --reserved-words,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --language-specific-primitives, --import-mappings,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --supporting-files)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -g &lt;generator name&gt;, --generator-name &lt;generator name&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generator to get config help for</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --import-mappings</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> displays the default import mappings (types and aliases, and what</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> imports they will pull into the template)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --instantiation-types</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> displays types used to instantiate simple type/alias names</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --language-specific-primitive</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> displays the language specific primitives (types which require no</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> additional imports, or which may conflict with user defined model</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> names)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --markdown-header</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> When format=markdown, include this option to write out markdown</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> headers (e.g. for docusaurus).</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --named-header</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Header includes the generator name, for clarity in output</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o &lt;output location&gt;, --output &lt;output location&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Optionally write help to this location, otherwise default is</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> standard output</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --reserved-words</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> displays the reserved words which may result in renamed model or</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> property names</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>The option of note is <code>-g/--generator-name</code> (other options are exposed for tooling).</p><p>You may pass any generator name (see <a href="#list">list</a> command) to <code>-g</code>, and options specific to that generator will be displayed. Some generators have <em>many</em> options, while others may have only a few.</p><p>Example:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli config-help -g go</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Outputs:</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">CONFIG OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> packageName</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Go package name (convention: lowercase). (Default: openapi)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> hideGenerationTimestamp</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Hides the generation timestamp when files are generated. (Default: true)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> packageVersion</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Go package version. (Default: 1.0.0)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> withGoCodegenComment</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> whether to include Go codegen comment to disable Go Lint and collapse by default in GitHub PRs and diffs (Default: false)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> withXml</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> prependFormOrBodyParameters</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Add form or body parameters to the beginning of the parameter list. (Default: false)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>To pass these go client generator-specific options to the <code>generate</code> command for a go client, use the <code>--additional-properties</code> option. See the <a href="#generate">generate</a> command section for an example.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="meta">meta<a href="#meta" class="hash-link" aria-label="Direct link to meta" title="Direct link to meta"></a></h2><p>The <code>meta</code> command creates a new Java class and template files, used for creating your own custom templates.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help meta</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli meta - MetaGenerator. Generator for creating a new</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> template set and configuration for Codegen. The output will be based on</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the language you specify, and includes default templates to include.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli meta [(-l &lt;language&gt; | --language &lt;language&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-n &lt;name&gt; | --name &lt;name&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-o &lt;output directory&gt; | --output &lt;output directory&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-p &lt;package&gt; | --package &lt;package&gt;)] [(-t &lt;type&gt; | --type &lt;type&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -l &lt;language&gt;, --language &lt;language&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the implementation language for the generator class</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -n &lt;name&gt;, --name &lt;name&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the human-readable name of the generator</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o &lt;output directory&gt;, --output &lt;output directory&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> where to write the generated files (current dir by default)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -p &lt;package&gt;, --package &lt;package&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the package to put the main class into (defaults to</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> org.openapitools.codegen)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -t &lt;type&gt;, --type &lt;type&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the type of generator that is created</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>For an in-depth example of using the <code>meta</code> command, see <a href="/docs/customization">Customization</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="validate">validate<a href="#validate" class="hash-link" aria-label="Direct link to validate" title="Direct link to validate"></a></h2><p>The <code>validate</code> command allows you to validate an input specification, optionally providing recommendations for error fixes or other improvements (if available).</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help validate</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli validate - Validate specification</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli validate</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> (-i &lt;spec file&gt; | --input-spec &lt;spec file&gt;) [--recommend]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -i &lt;spec file&gt;, --input-spec &lt;spec file&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> location of the OpenAPI spec, as URL or file (required)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --recommend</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Valid Spec Example (using <a href="https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator-gradle-plugin/samples/local-spec/petstore-v3.0.yaml" target="_blank" rel="noopener noreferrer">petstore-v3.0.yaml</a>)</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli validate -i petstore-v3.0.yaml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Validating spec (petstore-v3.0.yaml)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">No validation issues detected.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Invalid Spec Example (using <a href="https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator-gradle-plugin/samples/local-spec/petstore-v3.0-invalid.yaml" target="_blank" rel="noopener noreferrer">petstore-v3.0-invalid.yaml</a>):</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli validate -i petstore-v3.0-invalid.yaml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Validating spec (petstore-v3.0-invalid.yaml)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Errors:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -attribute info is missing</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">[error] Spec has 1 errors.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="completion">completion<a href="#completion" class="hash-link" aria-label="Direct link to completion" title="Direct link to completion"></a></h2><p>Although not documented in the <code>help</code> output, the CLI offers a <code>completion</code> command, which can be used for auto-completion.</p><p>This command takes one or more parameters representing the args list you would otherwise pass to <code>openapi-generator</code>. For example:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli completion config-help</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">-o</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">--output</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">--named-header</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">-g</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">--generator-name</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">-f</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">--format</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">--markdown-header</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>An example bash completion script can be found in the repo at <a href="https://github.com/OpenAPITools/openapi-generator/blob/master/scripts/openapi-generator-cli-completion.bash" target="_blank" rel="noopener noreferrer">scripts/openapi-generator-cli-completion.bash</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="generate">generate<a href="#generate" class="hash-link" aria-label="Direct link to generate" title="Direct link to generate"></a></h2><p>The <code>generate</code> command is the workhorse of the generator toolset. As such, it has <em>many</em> more options available than the previous commands. The abbreviated options are below, but you may expand the full descriptions.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help generate</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli generate - Generate code with the specified</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generator.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli generate</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-a &lt;authorization&gt; | --auth &lt;authorization&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--api-name-suffix &lt;api name suffix&gt;] [--api-package &lt;api package&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--artifact-id &lt;artifact id&gt;] [--artifact-version &lt;artifact version&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-c &lt;configuration file&gt; | --config &lt;configuration file&gt;)] [--dry-run]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-e &lt;templating engine&gt; | --engine &lt;templating engine&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--enable-post-process-file]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-g &lt;generator name&gt; | --generator-name &lt;generator name&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--generate-alias-as-model] [--git-host &lt;git host&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--git-repo-id &lt;git repo id&gt;] [--git-user-id &lt;git user id&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--global-property &lt;global properties&gt;...] [--group-id &lt;group id&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--http-user-agent &lt;http user agent&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-i &lt;spec file&gt; | --input-spec &lt;spec file&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--ignore-file-override &lt;ignore file override location&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--import-mappings &lt;import mappings&gt;...]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--instantiation-types &lt;instantiation types&gt;...]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--invoker-package &lt;invoker package&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--language-specific-primitives &lt;language specific primitives&gt;...]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--legacy-discriminator-behavior] [--library &lt;library&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--log-to-stderr] [--minimal-update]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--model-name-prefix &lt;model name prefix&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--model-name-suffix &lt;model name suffix&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--model-package &lt;model package&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-o &lt;output directory&gt; | --output &lt;output directory&gt;)] [(-p &lt;additional properties&gt; | --additional-properties &lt;additional properties&gt;)...]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--package-name &lt;package name&gt;] [--release-note &lt;release note&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--remove-operation-id-prefix]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--reserved-words-mappings &lt;reserved word mappings&gt;...]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-s | --skip-overwrite)] [--server-variables &lt;server variables&gt;...]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--skip-operation-example] [--skip-validate-spec]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--strict-spec &lt;true/false strict behavior&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-t &lt;template directory&gt; | --template-dir &lt;template directory&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--type-mappings &lt;type mappings&gt;...] [(-v | --verbose)]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>generate OPTIONS</summary><div><div class="collapsibleContent_i85q"><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -a &lt;authorization&gt;, --auth &lt;authorization&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> adds authorization headers when fetching the OpenAPI definitions</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> remotely. Pass in a URL-encoded string of name:header with a comma</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> separating multiple values</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --api-name-suffix &lt;api name suffix&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Suffix that will be appended to all API names (&#x27;tags&#x27;). Default:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Api. e.g. Pet =&gt; PetApi. Note: Only ruby, python, jaxrs generators</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> support this feature at the moment.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --api-package &lt;api package&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> package for generated api classes</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --artifact-id &lt;artifact id&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> artifactId in generated pom.xml. This also becomes part of the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generated library&#x27;s filename</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --artifact-version &lt;artifact version&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> artifact version in generated pom.xml. This also becomes part of the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generated library&#x27;s filename</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -c &lt;configuration file&gt;, --config &lt;configuration file&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Path to configuration file. It can be JSON or YAML. If file is JSON,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the content should have the format {&quot;optionKey&quot;:&quot;optionValue&quot;,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &quot;optionKey1&quot;:&quot;optionValue1&quot;...}. If file is YAML, the content should</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> have the format optionKey: optionValue. Supported options can be</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> different for each language. Run config-help -g {generator name}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> command for language-specific config options.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --dry-run</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Try things out and report on potential changes (without actually</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> making changes).</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -e &lt;templating engine&gt;, --engine &lt;templating engine&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> templating engine: &quot;mustache&quot; (default) or &quot;handlebars&quot; (beta)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --enable-post-process-file</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Enable post-processing file using environment variables.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -g &lt;generator name&gt;, --generator-name &lt;generator name&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generator to use (see list command for list)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --generate-alias-as-model</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Generate model implementation for aliases to map and array schemas.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> An &#x27;alias&#x27; is an array, map, or list which is defined inline in a</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> OpenAPI document and becomes a model in the generated code. A &#x27;map&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> schema is an object that can have undeclared properties, i.e. the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &#x27;additionalproperties&#x27; attribute is set on that object. An &#x27;array&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> schema is a list of sub schemas in a OAS document</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --git-host &lt;git host&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Git host, e.g. gitlab.com.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --git-repo-id &lt;git repo id&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Git repo ID, e.g. openapi-generator.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --git-user-id &lt;git user id&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Git user ID, e.g. openapitools.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --global-property &lt;global properties&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sets specified global properties (previously called &#x27;system</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> properties&#x27;) in the format of name=value,name=value (or multiple</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> options, each with name=value)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --group-id &lt;group id&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> groupId in generated pom.xml</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --http-user-agent &lt;http user agent&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> HTTP user agent, e.g. codegen_csharp_api_client, default to</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &#x27;OpenAPI-Generator/{packageVersion}/{language}&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -i &lt;spec file&gt;, --input-spec &lt;spec file&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> location of the OpenAPI spec, as URL or file (required if not loaded</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> via config using -c)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --ignore-file-override &lt;ignore file override location&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Specifies an override location for the .openapi-generator-ignore</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> file. Most useful on initial generation.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --import-mappings &lt;import mappings&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> specifies mappings between a given class and the import that should</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> be used for that class in the format of type=import,type=import. You</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> can also have multiple occurrences of this option.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --instantiation-types &lt;instantiation types&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sets instantiation type mappings in the format of</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> type=instantiatedType,type=instantiatedType.For example (in Java):</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> array=ArrayList,map=HashMap. In other words array types will get</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> instantiated as ArrayList in generated code. You can also have</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> multiple occurrences of this option.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --invoker-package &lt;invoker package&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> root package for generated code</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --language-specific-primitives &lt;language specific primitives&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> specifies additional language specific primitive types in the format</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> of type1,type2,type3,type3. For example:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> String,boolean,Boolean,Double. You can also have multiple</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> occurrences of this option.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --legacy-discriminator-behavior</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Set to false for generators with better support for discriminators.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> (Python, Java, Go, PowerShell, C#have this enabled by default).</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --library &lt;library&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> library template (sub-template)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --log-to-stderr</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> write all log messages (not just errors) to STDOUT. Useful for</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> piping the JSON output of debug options (e.g. `--global-property</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> debugOperations`) to an external parser directly while testing a</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generator.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --minimal-update</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Only write output files that have changed.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --model-name-prefix &lt;model name prefix&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Prefix that will be prepended to all model names.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --model-name-suffix &lt;model name suffix&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Suffix that will be appended to all model names.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --model-package &lt;model package&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> package for generated models</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o &lt;output directory&gt;, --output &lt;output directory&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> where to write the generated files (current dir by default)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -p &lt;additional properties&gt;, --additional-properties &lt;additional</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> properties&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sets additional properties that can be referenced by the mustache</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> templates in the format of name=value,name=value. You can also have</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> multiple occurrences of this option.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --package-name &lt;package name&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> package for generated classes (where supported)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --release-note &lt;release note&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Release note, default to &#x27;Minor update&#x27;.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --remove-operation-id-prefix</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Remove prefix of operationId, e.g. config_getId =&gt; getId</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --reserved-words-mappings &lt;reserved word mappings&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> specifies how a reserved name should be escaped to. Otherwise, the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> default _&lt;name&gt; is used. For example id=identifier. You can also</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> have multiple occurrences of this option.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -s, --skip-overwrite</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> specifies if the existing files should be overwritten during the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generation.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --server-variables &lt;server variables&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sets server variables overrides for spec documents which support</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> variable templating of servers.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --skip-operation-example</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Skip examples defined in operations to avoid out of memory errors.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --skip-validate-spec</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Skips the default behavior of validating an input specification.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --strict-spec &lt;true/false strict behavior&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &#x27;MUST&#x27; and &#x27;SHALL&#x27; wording in OpenAPI spec is strictly adhered to.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> e.g. when false, no fixes will be applied to documents which pass</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> validation but don&#x27;t follow the spec.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -t &lt;template directory&gt;, --template-dir &lt;template directory&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> folder containing the template files</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --type-mappings &lt;type mappings&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> sets mappings between OpenAPI spec types and generated code types in</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> the format of OpenAPIType=generatedType,OpenAPIType=generatedType.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> For example: array=List,map=Map,string=String. You can also have</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> multiple occurrences of this option.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -v, --verbose</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> verbose mode</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></details><p>At a minimum, <code>generate</code> requires:</p><ul><li><code>-g</code> to specify the generator</li><li><code>-o</code> to specify a meaningful output directory (defaults to the current directory!)</li><li><code>-i</code> to specify the input OpenAPI document</li></ul><blockquote><p><strong>NOTE</strong> You may also pass <code>-Dcolor</code> as a system property to colorize terminal outputs.</p></blockquote><h3 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples"></a></h3><p>The following examples use <a href="https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml" target="_blank" rel="noopener noreferrer">petstore.yaml</a>.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="additional-properties">Additional Properties<a href="#additional-properties" class="hash-link" aria-label="Direct link to Additional Properties" title="Direct link to Additional Properties"></a></h4><p>Generator-specific options should be passed as <code>--additional-properties</code>:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli generate -g go --additional-properties</span><span class="token operator">=</span><span class="token plain">prependFormOrBodyParameters</span><span class="token operator">=</span><span class="token plain">true </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o out -i petstore.yaml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Pass more options via comma delimited key/value pairs:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">--additional-properties</span><span class="token operator">=</span><span class="token plain">key1</span><span class="token operator">=</span><span class="token plain">value1,key2</span><span class="token operator">=</span><span class="token plain">value2</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>For the full list of generator-specific parameters, refer to <a href="/docs/generators">generators docs</a>.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="type-mappings-and-import-mappings">Type Mappings and Import Mappings<a href="#type-mappings-and-import-mappings" class="hash-link" aria-label="Direct link to Type Mappings and Import Mappings" title="Direct link to Type Mappings and Import Mappings"></a></h4><p>Most generators allow for types bound to the OpenAPI Specification&#x27;s types to be remapped to a user&#x27;s desired types. Not <em>all</em> type mappings can be reassigned, as some generators define mappings which are tightly coupled to the built-in templates.</p><p>If you&#x27;re not using your own templates with star/glob package imports, you will most likely need to combine <code>--type-mappings</code> and <code>--import-mappings</code> together.</p><ul><li><code>--type-mappings</code> Defines the user&#x27;s target type</li><li><code>--import-mappings</code> Informs the template of the type to be imported</li></ul><p>Here&#x27;s how one might change the <code>kotlin-spring</code> server generator&#x27;s default of <code>OffsetDateTime</code> to <code>LocalDateTime</code>:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli generate </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -i petstore.yaml </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -g kotlin-spring </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o out </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --additional-properties</span><span class="token operator">=</span><span class="token plain">library</span><span class="token operator">=</span><span class="token plain">spring-boot,beanValidations</span><span class="token operator">=</span><span class="token plain">true,serviceImplementation</span><span class="token operator">=</span><span class="token plain">true </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --import-mappings</span><span class="token operator">=</span><span class="token plain">DateTime</span><span class="token operator">=</span><span class="token plain">java.time.LocalDateTime </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --type-mappings</span><span class="token operator">=</span><span class="token plain">DateTime</span><span class="token operator">=</span><span class="token plain">java.time.LocalDateTime</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><blockquote><p>NOTE: mappings are applied to <code>DateTime</code>, as this is the representation of the primitive type. See <a href="https://github.com/OpenAPITools/openapi-generator/blob/7cee999543fcc00b7c1eb9f70f0456b707c7f9e2/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java#L1431" target="_blank" rel="noopener noreferrer">DefaultCodegen</a>.</p></blockquote><h4 class="anchor anchorWithStickyNavbar_LWe7" id="file-post-processing">File Post-Processing<a href="#file-post-processing" class="hash-link" aria-label="Direct link to File Post-Processing" title="Direct link to File Post-Processing"></a></h4><p>The <code>--enable-post-process-file</code> option enables specific generators to invoke some external language-specific formatting script. Each filename is passed <em>individually</em> to this external script, allowing for linting, formatting, or other custom clean-up.</p><p>For more details, see <a href="/docs/file-post-processing">File Post-Processing</a>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="target-external-models">Target External Models<a href="#target-external-models" class="hash-link" aria-label="Direct link to Target External Models" title="Direct link to Target External Models"></a></h3><p>Sometimes you don&#x27;t want the codegen to make a model for you--you might want to just include one that already exists in your codebase. Say you already have a <code>User</code> object and want to reuse that, which has a different model package from the other generated files:</p><p>First, indicate that the class is already included by default. This will keep the codegen from trying to generate the class.</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">--language-specific-primitives</span><span class="token operator">=</span><span class="token plain">Pet</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>This command line option will tell the generator to consider <code>Pet</code> a &quot;primitive&quot; type.</p><p>Next, if the <code>Pet</code> class is a different package, add an <code>--import-mapping</code> to tell the generator to include that import wherever <code>Pet</code> is used:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">--import-mappings</span><span class="token operator">=</span><span class="token plain">Pet</span><span class="token operator">=</span><span class="token plain">com.yourpackage.models.Pet</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Now the codegen will know what to import from that specific package.</p><p>NOTE: <code>import-mappings</code> is assigned a key-value pair in this example, but multiple values can be comma-separate. For instance:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">--import-mappings</span><span class="token operator">=</span><span class="token plain">Pet</span><span class="token operator">=</span><span class="token plain">com.yourpackage.models.Pet,User</span><span class="token operator">=</span><span class="token plain">com.yourpackage.models.User</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="configuration-file">Configuration File<a href="#configuration-file" class="hash-link" aria-label="Direct link to Configuration File" title="Direct link to Configuration File"></a></h4><p>Rather than passing generator options in a CSV of <code>--additional-properties</code>, you may also provide the settings via JSON file or YAML file.</p><p>For example, one of our typescript samples has the following configuration file:</p><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">&quot;npmName&quot;</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;@swagger/typescript-fetch-petstore&quot;</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">&quot;npmVersion&quot;</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;1.0.0&quot;</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">&quot;npmRepository&quot;</span><span class="token plain"> </span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;https://skimdb.npmjs.com/registry&quot;</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">&quot;snapshot&quot;</span><span class="token plain"> </span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token property">&quot;supportsES6&quot;</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>These settings can be passed via <code>-c filename</code>. Here, we&#x27;ve saved the above as <code>config.json</code>:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli generate -i petstore.yaml -g typescript-fetch -o out </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -c config.json</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Same configuration file can be passed into YAML format having following equivalent content:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token key atrule">npmName</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;@swagger/typescript-fetch-petstore&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">npmVersion</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;1.0.0&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">npmRepository</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;https://skimdb.npmjs.com/registry&quot;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">snapshot</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token boolean important">false</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token key atrule">supportsES6</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> </span><span class="token boolean important">true</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>The settings are passed exactly the same as for <code>config.json</code>. The most important part is the file extension. Supported values are <code>yml</code> or <code>yaml</code>.
The name of the file should be <code>config.yml</code> or <code>config.yaml</code> (in our example it will be <code>config.yaml</code>).</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli generate -i petstore.yaml -g typescript-fetch -o out </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -c config.yaml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="batch">batch<a href="#batch" class="hash-link" aria-label="Direct link to batch" title="Direct link to batch"></a></h2><p>The <code>batch</code> command allows you to move all CLI arguments supported by the <code>generate</code> command into a YAML or JSON file.</p><p><em>NOTE</em>: This command supports an additional <code>!include</code> property which may point to another &quot;shared&quot; file, the base path to which can be
modified by <code>--includes-base-dir</code>. Starting with 5.0.0, the <code>!batch</code> command supports multiple <code>!include</code> properties, either sequential or nested under other keys. In order to support multiple <code>!include</code> properties in a JSON file, the property name can have a suffix, e.g. <code>!include1</code>, <code>!include2</code>, etc. The suffix have no meaning other than providing unique property names.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help batch</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli batch - Generate code in batch via external</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> configs.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli batch [--clean] [--fail-fast]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--includes-base-dir &lt;includes&gt;] [(-r &lt;threads&gt; | --threads &lt;threads&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--root-dir &lt;root&gt;] [--timeout &lt;timeout&gt;] [(-v | --verbose)] [--]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &lt;configs&gt;...</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --clean</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> clean output of previously written files before generation</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --fail-fast</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> fail fast on any errors</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --includes-base-dir &lt;includes&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> base directory used for includes</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -r &lt;threads&gt;, --threads &lt;threads&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> thread count</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --root-dir &lt;root&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> root directory used output/includes (includes can be overridden)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --timeout &lt;timeout&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> execution timeout (minutes)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -v, --verbose</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> verbose mode</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> This option can be used to separate command-line options from the</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> list of argument, (useful when arguments might be mistaken for</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> command-line options</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &lt;configs&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Generator configuration files.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Example:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># create &quot;shared&quot; config</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">mkdir</span><span class="token plain"> shared </span><span class="token operator">&amp;&amp;</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&gt;</span><span class="token plain"> shared/common.yaml </span><span class="token operator">&lt;&lt;</span><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">inputSpec: https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">additionalProperties:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> x-ext-name: &quot;Your Name&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># create nested &quot;shared&quot; config</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&gt;</span><span class="token plain"> shared/nested.yaml </span><span class="token operator">&lt;&lt;</span><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">useCompareNetObjects: &quot;true&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># create &quot;standard&quot; configs</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&gt;</span><span class="token plain"> kotlin.yaml </span><span class="token operator">&lt;&lt;</span><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">&#x27;!include&#x27;: &#x27;shared/common.yaml&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">outputDir: out/kotlin</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">generatorName: kotlin</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">artifactId: kotlin-petstore-string</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">additionalProperties:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> dateLibrary: string</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> serializableModel: &quot;true&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&gt;</span><span class="token plain"> csharp.yaml </span><span class="token operator">&lt;&lt;</span><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">&#x27;!include&#x27;: &#x27;shared/common.yaml&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">outputDir: out/csharp-netcore</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">generatorName: csharp-netcore</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">additionalProperties:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> packageGuid: &quot;{321C8C3F-0156-40C1-AE42-D59761FB9B6C}&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)"> &#x27;!include&#x27;: &#x27;shared/nested.yaml&#x27;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Generate them</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli batch *.yaml</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="author">author<a href="#author" class="hash-link" aria-label="Direct link to author" title="Direct link to author"></a></h2><p>This command group contains utilities for authoring generators or customizing templates.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help author</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli author - Utilities for authoring generators or</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> customizing templates.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli author</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli author template [--library &lt;library&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-v | --verbose)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-o &lt;output directory&gt; | --output &lt;output directory&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> (-g &lt;generator name&gt; | --generator-name &lt;generator name&gt;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --help</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Display help about the tool</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --version</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Display full version output</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">COMMANDS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> With no arguments, Display help information about openapi-generator</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> template</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> Retrieve templates for local modification</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> With --library option, library template (sub-template)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> With --verbose option, verbose mode</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> With --output option, where to write the template files (defaults to</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> &#x27;out&#x27;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> With --generator-name option, generator to use (see list command for</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> list)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="template">template<a href="#template" class="hash-link" aria-label="Direct link to template" title="Direct link to template"></a></h3><p>This command allows user to extract templates from the CLI jar which simplifies customization efforts.</p><div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli help author template</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">NAME</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli author template - Retrieve templates for local</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> modification</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">SYNOPSIS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> openapi-generator-cli author template</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> (-g &lt;generator name&gt; | --generator-name &lt;generator name&gt;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [--library &lt;library&gt;]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-o &lt;output directory&gt; | --output &lt;output directory&gt;)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> [(-v | --verbose)]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">OPTIONS</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -g &lt;generator name&gt;, --generator-name &lt;generator name&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> generator to use (see list command for list)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --library &lt;library&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> library template (sub-template)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o &lt;output directory&gt;, --output &lt;output directory&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> where to write the template files (defaults to &#x27;out&#x27;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -v, --verbose</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> verbose mode</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Example:</p><p>Extract Java templates, limiting to the <code>webclient</code> library.</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli author template -g java --library webclient</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Extract all Java templates:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli author template -g java</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenAPITools/openapi-generator/edit/master/website/../docs/usage.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2023-02-17T15:44:13.000Z">Feb 17, 2023</time></b> by <b>Drago Rosson</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/online"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Online</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/globals"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Global Properties</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#help" class="table-of-contents__link toc-highlight">help</a></li><li><a href="#version" class="table-of-contents__link toc-highlight">version</a></li><li><a href="#list" class="table-of-contents__link toc-highlight">list</a></li><li><a href="#config-help" class="table-of-contents__link toc-highlight">config-help</a></li><li><a href="#meta" class="table-of-contents__link toc-highlight">meta</a></li><li><a href="#validate" class="table-of-contents__link toc-highlight">validate</a></li><li><a href="#completion" class="table-of-contents__link toc-highlight">completion</a></li><li><a href="#generate" class="table-of-contents__link toc-highlight">generate</a><ul><li><a href="#examples" class="table-of-contents__link toc-highlight">Examples</a></li><li><a href="#target-external-models" class="table-of-contents__link toc-highlight">Target External Models</a></li></ul></li><li><a href="#batch" class="table-of-contents__link toc-highlight">batch</a></li><li><a href="#author" class="table-of-contents__link toc-highlight">author</a><ul><li><a href="#template" class="table-of-contents__link toc-highlight">template</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/customization">Customizing Generators</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/installation">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/integrations">Workflow Integrations</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/users">User Showcase</a></li><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/openapi-generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://join.slack.com/t/openapi-generator/shared_invite/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g" target="_blank" rel="noopener noreferrer" class="footer__link-item">Chat Room<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/oas_generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/blog">Blog</a></li><li class="footer__item"><a href="https://github.com/OpenAPITools/openapi-generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://openapi-generator.tech/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/img/mono-logo.svg" alt="OpenAPI Tools" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/mono-logo.svg" alt="OpenAPI Tools" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">Copyright © 2025 OpenAPI-Generator Contributors (https://openapi-generator.tech)</div></div></div></footer></div>
<script src="/assets/js/runtime~main.27a6ef31.js"></script>
<script src="/assets/js/main.7f449d5a.js"></script>
</body>
</html>