Bicep Module Documentation

← Back to Overview

Module api

apiManagementApi

Property Value Description
name (required) string The resource name (Pattern = ^[^*#&+:<>?]+$)
apiRevision string Describes the revision of the API. If no value is provided, default revision 1 is created
apiRevisionDescription string Description of the API Revision.
apiType 'graphql'
'grpc'
'http'
'odata'
'openapi'
'soap'
'websocket'
Type of API to create
apiVersion string Indicates the version identifier of the API if the API is versioned
apiVersionDescription string Description of the API Version.
apiVersionSet apiVersionSet Version set details
apiVersionSetId string A resource identifier for the related ApiVersionSet.
authenticationSettings authenticationSettings Collection of authentication settings included into this API.
contact contact Contact information for the API.
description string Description of the API. May include HTML formatting tags.
displayName (required) string API name
format 'graphql-link'
'grpc'
'grpc-link'
'odata'
'odata-link'
'openapi'
'openapi+json'
'openapi+json-link'
'openapi-link'
'swagger-json'
'swagger-link-json'
'wadl-link-json'
'wadl-xml'
'wsdl'
'wsdl-link'
Format of the Content in which the API is getting imported.
isCurrent bool Indicates if API revision is current api revision. (default: true)
license license License information for the API.
path (required) string Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.
protocols (required) Array containing any of:
'http'
'https'
'ws'
'wss'
Describes on which protocols the operations in this API can be invoked.
sourceApiId string API identifier of the source API.
subscriptionKeyParameterNames subscriptionKeyParameterNames Protocols over which API is made available.
subscriptionRequired bool Specifies whether an API or Product subscription is required for accessing the API. (default: false)
termsOfServiceUrl string A URL to the Terms of Service for the API. MUST be in the format of a URL.
translateRequiredQueryParameters 'query'
'template'
Strategy of translating required query parameters to template ones. By default has value 'template'.
type 'graphql'
'grpc'
'http'
'odata'
'soap'
'websocket'
Type of API. (default: http)
value string Content value when Importing an API.
wsdlSelector wsdlSelector Criteria to limit import of WSDL to a subset of the document.
policy policy The API policy
diagnostics diagnostics[]

apiVersionSet

Property Value Description
description string Description of API Version Set.
id string Identifier for existing API Version Set. Omit this value to create a new Version Set.
name (required) string The display Name of the API Version Set.
versionHeaderName string Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header.
versioningScheme 'Header'
'Query'
'Segment'
An value that determines where the API Version identifier will be located in a HTTP request.
versionQueryName string Name of query parameter that indicates the API Version if versioningScheme is set to query.

authenticationSettings

Property Value Description
oAuth2 oAuth2AuthenticationSettingsContract OAuth2 Authentication settings
oAuth2AuthenticationSettings oAuth2AuthenticationSettingsContract[] Collection of OAuth2 authentication settings included into this API.
openid openIdAuthenticationSettingsContract OpenID Connect Authentication Settings
openidAuthenticationSettings openIdAuthenticationSettingsContract[] Collection of Open ID Connect authentication settings included into this API.

contact

Property Value Description
email string The email address of the contact person/organization. MUST be in the format of an email address
name (required) string The identifying name of the contact person/organization
url string The URL pointing to the contact information. MUST be in the format of a URL

license

Property Value Description
name (required) string The license name used for the API
url string A URL to the license used for the API. MUST be in the format of a URL

subscriptionKeyParameterNames

Property Value Description
header (required) string Subscription key header name.
query (required) string Subscription key query string parameter name.

wsdlSelector

Property Value Description
wsdlEndpointName (required) string Name of endpoint(port) to import from WSDL
wsdlServiceName (required) string Name of service to import from WSDL

policy

Property Value Description
format (required) 'rawxml'
'rawxml-link'
'xml'
'xml-link'
Format of the policyContent.
value (required) string Contents of the Policy as defined by the format.

largeLanguageModel

Property Value Description
logs (required) 'Disabled'
'Enabled'
Specifies whether default diagnostic should be enabled for Large Language Models or not.
requests llmMessageDiagnosticSettings Diagnostic settings for Large Language Models requests.
responses llmMessageDiagnosticSettings Diagnostic settings for Large Language Models responses.

diagnostics

Property Value Description
name (required) 'applicationinsights'
'local'
The resource name
loggerName (required) string Name of a target logger.
backend pipelineDiagnosticSettings Diagnostic settings for incoming/outgoing HTTP messages to the Backend
frontend pipelineDiagnosticSettings Diagnostic settings for incoming/outgoing HTTP messages to the Gateway.
httpCorrelationProtocol 'Legacy'
'None'
'W3C'
Sets correlation protocol to use for Application Insights diagnostics.
largeLanguageModel largeLanguageModel Large Language Models diagnostic settings
logClientIp bool Log the ClientIP. (default: false)
metrics bool Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings.
operationNameFormat (required) 'Name'
'Url'
The format of the Operation Name for Application Insights telemetries. (default: Name)
samplingPercentage int Sampling settings for Diagnostic. Rate of sampling for fixed-rate sampling.
verbosity (required) 'error'
'information'
'verbose'
The verbosity level applied to traces emitted by trace policies.

oAuth2AuthenticationSettingsContract

Property Value Description
authorizationServerId (required) string OAuth authorization server identifier.
scope (required) string operations scope.

openIdAuthenticationSettingsContract

Property Value Description
bearerTokenSendingMethods (required) Array containing any of:
'authorizationHeader'
'query'
How to send token to the server.
openidProviderId (required) string OAuth authorization server identifier.

llmMessageDiagnosticSettings

Property Value Description
maxSizeInBytes (required) int Maximum size of message to logs in bytes. The default size is 32KB.
messages (required) 'all' Specifies which message should be logged. Currently there is only 'all' option.

pipelineDiagnosticSettings

Property Value Description
request httpMessageDiagnostic Diagnostic settings for request.
response httpMessageDiagnostic Diagnostic settings for response.

httpMessageDiagnostic

Property Value Description
body body Body logging settings.
dataMasking dataMasking Data masking settings.
headers string[] Array of HTTP Headers to log.

body

Property Value Description
bytes (required) int Number of request body bytes to log.

dataMasking

Property Value Description
headers dataMaskingEntity[] Masking settings for headers
queryParams dataMaskingEntity[] Masking settings for Url query parameters

dataMaskingEntity

Property Value Description
mode (required) 'Hide'
'Mask'
Data masking mode.
value (required) string The name of an entity to mask (e.g. a name of a header or a query parameter).

Changelog

2.1.0 (2025-10-06)

Features

  • update resource api version

2.0.1 (2025-09-24)

Bug Fixes

  • remove deployment name + cleanup

2.0.0 (2025-09-24)

⚠ BREAKING CHANGES

  • remove deprecated outputs

Bug Fixes

  • remove deprecated outputs

1.0.0 (2025-03-26)

Features

  • create separate API module