﻿ASP.NET Core Web API (C#)
Author: Microsoft
Description: A project template for creating a RESTful Web API using ASP.NET Core controllers or minimal APIs, with optional support for OpenAPI and authentication.

Usage:
  dotnet new webapi [options] [template options]

Options:
  -n, --name <name>       The name for the output being created. If no name is specified, the name of the output directory is used.
  -o, --output <output>   Location to place the generated output.
  --dry-run               Displays a summary of what would happen if the given command line were run if it would result in a template creation.
  --force                 Forces content to be generated even if it would change existing files.
  --no-update-check       Disables checking for the template package updates when instantiating a template.
  --project <project>     The project that should be used for context evaluation.
  -lang, --language <C#>  Specifies the template language to instantiate.
  --type <project>        Specifies the template type to instantiate.

Template options:
  -au, --auth <IndividualB2C|None|SingleOrg|Windows>  The type of authentication to use
                                                      Type: choice
                                                        None           No authentication
                                                        IndividualB2C  Individual authentication with Azure AD B2C
                                                        SingleOrg      Organizational authentication for a single tenant
                                                        Windows        Windows authentication
                                                      Default: None
  --aad-b2c-instance <aad-b2c-instance>               The Azure Active Directory B2C instance to connect to (use with IndividualB2C auth).
                                                      Type: string
                                                      Default: https://qualified.domain.name.b2clogin.com/
  -ssp, --susi-policy-id <susi-policy-id>             The sign-in and sign-up policy ID for this project (use with IndividualB2C auth).
                                                      Type: string
                                                      Default: b2c_1_susi
  --aad-instance <aad-instance>                       The Azure Active Directory instance to connect to (use with SingleOrg auth).
                                                      Type: string
                                                      Default: https://login.microsoftonline.com/
  --client-id <client-id>                             The Client ID for this project (use with SingleOrg or IndividualB2C auth).
                                                      Type: string
                                                      Default: 11111111-1111-1111-11111111111111111
  --domain <domain>                                   The domain for the directory tenant (use with SingleOrg or IndividualB2C auth).
                                                      Type: string
                                                      Default: qualified.domain.name
  --default-scope <default-scope>                     The API scope the client needs to request to provision an access token. (use with IndividualB2C, SingleOrg).
                                                      Type: string
                                                      Default: access_as_user
  --tenant-id <tenant-id>                             The TenantId ID of the directory to connect to (use with SingleOrg auth).
                                                      Type: string
                                                      Default: 22222222-2222-2222-2222-222222222222
  -r, --org-read-access                               Whether or not to allow this application read access to the directory (only applies to SingleOrg auth).
                                                      Type: bool
                                                      Default: false
  --exclude-launch-settings                           Whether to exclude launchSettings.json in the generated template.
                                                      Type: bool
                                                      Default: false
  --no-https                                          Whether to turn off HTTPS. This option only applies if IndividualB2C, SingleOrg, or MultiOrg aren't used for --auth.
                                                      Type: bool
                                                      Default: false
  -uld, --use-local-db                                Whether to use LocalDB instead of SQLite. This option only applies if --auth Individual or --auth IndividualB2C is specified.
                                                      Type: bool
                                                      Default: false
  -f, --framework <net6.0|net7.0|net8.0>              The target framework for the project.
                                                      Type: choice
                                                        net8.0  Target net8.0
                                                        net7.0  Target net7.0
                                                        net6.0  Target net6.0
                                                      Default: net8.0
  --no-restore                                        If specified, skips the automatic restore of the project on create.
                                                      Type: bool
                                                      Default: false
  --called-api-url <called-api-url>                   URL of the API to call from the web app. This option only applies if --auth SingleOrg or --auth IndividualB2C is specified.
                                                      Type: string
                                                      Default: https://graph.microsoft.com/v1.0
  --calls-graph                                       Specifies if the web app calls Microsoft Graph. This option only applies if --auth SingleOrg is specified.
                                                      Type: bool
                                                      Default: false
  --called-api-scopes <called-api-scopes>             Scopes to request to call the API from the web app. This option only applies if --auth SingleOrg or --auth IndividualB2C is specified.
                                                      Type: string
                                                      Default: user.read
  --no-openapi                                        Disable OpenAPI (Swagger) support
                                                      Type: bool
                                                      Default: false
  --use-program-main                                  Whether to generate an explicit Program class and Main method instead of top-level statements.
                                                      Type: bool
                                                      Default: false
  -controllers, --use-controllers                     Whether to use controllers instead of minimal APIs. This option overides the value specified by --minimal.
                                                      Type: bool
                                                      Default: false
  -minimal, --use-minimal-apis                        Whether to use minimal APIs instead of controllers.
                                                      Type: bool
                                                      Default: false

To see help for other template languages (F#), use --language option:
   dotnet new webapi -h --language F#