Search

Please login in for more filter options


Kickstart your project with AVM templates.

api-management-service-apis

report
Report Package api-management-service-apis

If you believe that this package or its contents contain harmful information, please inform us.
Please be aware that we will never share your credentials.

Please let us know what this package contains.
Please enter a valid email address.

This Bicep AVM module deploys an API Management Service API.

ipm add --package avm-bicep/api-management-service-apis --version 0.2.0 

Published: 14-01-2026

Project URL: https://ipmhub.io/avm-bicep

Package Type: Bicep

License: MIT


API Management Service APIs [Microsoft.ApiManagement/service/apis]

This module deploys an API Management Service API.

You can reference the module as follows:

module service './packages/api-management-service-apis/main.bicep' = {
  params: { (...) }
}

For examples, please refer to the Usage Examples section.

Navigation

Resource Types

Resource Type API Version References
Microsoft.ApiManagement/service/apis 2024-05-01
Microsoft.ApiManagement/service/apis/diagnostics 2024-05-01
Microsoft.ApiManagement/service/apis/operations 2024-05-01
Microsoft.ApiManagement/service/apis/operations/policies 2024-05-01
Microsoft.ApiManagement/service/apis/policies 2024-05-01

Parameters

Required parameters

Parameter Type Description
displayName string API display name.
name string API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.
path 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.

Conditional parameters

Parameter Type Description
apiManagementServiceName string The name of the parent API Management service. Required if the template is used in a standalone deployment.

Optional parameters

Parameter Type Description
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 string Type of API to create.

* http creates a REST API

* soap creates a SOAP pass-through API

* websocket creates websocket API

* graphql creates GraphQL API.

apiVersion string Indicates the Version identifier of the API if the API is versioned.
apiVersionDescription string Description of the API Version.
apiVersionSetName string The name of the API version set to link.
authenticationSettings object Collection of authentication settings included into this API.
description string Description of the API. May include HTML formatting tags.
diagnostics array Array of diagnostics to apply to the Service API.
enableTelemetry bool Enable/Disable usage telemetry for module.
format string Format of the Content in which the API is getting imported.
isCurrent bool Indicates if API revision is current API revision.
operations array The operations of the api.
policies array Array of Policies to apply to the Service API.
protocols array Describes on which protocols the operations in this API can be invoked.
serviceUrl string Absolute URL of the backend service implementing this API.
sourceApiId string API identifier of the source API.
subscriptionKeyParameterNames object Protocols over which API is made available.
subscriptionRequired bool Specifies whether an API or Product subscription is required for accessing the API.
type string Type of API.
value string Content value when Importing an API.
wsdlSelector object Criteria to limit import of WSDL to a subset of the document.

Parameter: displayName

API display name.

  • Required: Yes
  • Type: string

Parameter: name

API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.

  • Required: Yes
  • Type: string

Parameter: path

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.

  • Required: Yes
  • Type: string

Parameter: apiManagementServiceName

The name of the parent API Management service. Required if the template is used in a standalone deployment.

  • Required: Yes
  • Type: string

Parameter: apiRevision

Describes the Revision of the API. If no value is provided, default revision 1 is created.

  • Required: No
  • Type: string

Parameter: apiRevisionDescription

Description of the API Revision.

  • Required: No
  • Type: string

Parameter: apiType

Type of API to create.

* http creates a REST API

* soap creates a SOAP pass-through API

* websocket creates websocket API

* graphql creates GraphQL API.

  • Required: No
  • Type: string
  • Default: 'http'
  • Allowed:
    [
      'graphql'
      'http'
      'soap'
      'websocket'
    ]
    

Parameter: apiVersion

Indicates the Version identifier of the API if the API is versioned.

  • Required: No
  • Type: string

Parameter: apiVersionDescription

Description of the API Version.

  • Required: No
  • Type: string

Parameter: apiVersionSetName

The name of the API version set to link.

  • Required: No
  • Type: string

Parameter: authenticationSettings

Collection of authentication settings included into this API.

  • Required: No
  • Type: object

Parameter: description

Description of the API. May include HTML formatting tags.

  • Required: No
  • Type: string

Parameter: diagnostics

Array of diagnostics to apply to the Service API.

  • Required: No
  • Type: array

Required parameters

Parameter Type Description
loggerName string The name of the target logger.

Conditional parameters

Parameter Type Description
httpCorrelationProtocol string Sets correlation protocol to use for Application Insights diagnostics. Required if using Application Insights.
metrics bool Emit custom metrics via emit-metric policy. Required if using Application Insights.
operationNameFormat string The format of the Operation Name for Application Insights telemetries. Required if using Application Insights.

Optional parameters

Parameter Type Description
alwaysLog string Specifies for what type of messages sampling settings should not apply.
backend object Diagnostic settings for incoming/outgoing HTTP messages to the Backend.
frontend object Diagnostic settings for incoming/outgoing HTTP messages to the Gateway.
logClientIp bool Log the ClientIP.
name string The identifier of the Diagnostic.
samplingPercentage int Rate of sampling for fixed-rate sampling. Specifies the percentage of requests that are logged.
verbosity string The verbosity level applied to traces emitted by trace policies.

Parameter: diagnostics.loggerName

The name of the target logger.

  • Required: Yes
  • Type: string

Parameter: diagnostics.httpCorrelationProtocol

Sets correlation protocol to use for Application Insights diagnostics. Required if using Application Insights.

  • Required: No
  • Type: string
  • Allowed:
    [
      'Legacy'
      'None'
      'W3C'
    ]
    

Parameter: diagnostics.metrics

Emit custom metrics via emit-metric policy. Required if using Application Insights.

  • Required: No
  • Type: bool

Parameter: diagnostics.operationNameFormat

The format of the Operation Name for Application Insights telemetries. Required if using Application Insights.

  • Required: No
  • Type: string
  • Allowed:
    [
      'Name'
      'Url'
    ]
    

Parameter: diagnostics.alwaysLog

Specifies for what type of messages sampling settings should not apply.

  • Required: No
  • Type: string
  • Allowed:
    [
      'allErrors'
    ]
    

Parameter: diagnostics.backend

Diagnostic settings for incoming/outgoing HTTP messages to the Backend.

  • Required: No
  • Type: object

Parameter: diagnostics.frontend

Diagnostic settings for incoming/outgoing HTTP messages to the Gateway.

  • Required: No
  • Type: object

Parameter: diagnostics.logClientIp

Log the ClientIP.

  • Required: No
  • Type: bool

Parameter: diagnostics.name

The identifier of the Diagnostic.

  • Required: No
  • Type: string
  • Allowed:
    [
      'applicationinsights'
      'azuremonitor'
      'local'
    ]
    

Parameter: diagnostics.samplingPercentage

Rate of sampling for fixed-rate sampling. Specifies the percentage of requests that are logged.

  • Required: No
  • Type: int
  • MinValue: 0
  • MaxValue: 100

Parameter: diagnostics.verbosity

The verbosity level applied to traces emitted by trace policies.

  • Required: No
  • Type: string
  • Allowed:
    [
      'error'
      'information'
      'verbose'
    ]
    

Parameter: enableTelemetry

Enable/Disable usage telemetry for module.

  • Required: No
  • Type: bool
  • Default: True

Parameter: format

Format of the Content in which the API is getting imported.

  • Required: No
  • Type: string
  • Default: 'openapi'
  • Allowed:
    [
      'graphql-link'
      'grpc'
      'grpc-link'
      'odata'
      'odata-link'
      'openapi'
      'openapi-link'
      'openapi+json'
      'openapi+json-link'
      'swagger-json'
      'swagger-link-json'
      'wadl-link-json'
      'wadl-xml'
      'wsdl'
      'wsdl-link'
    ]
    

Parameter: isCurrent

Indicates if API revision is current API revision.

  • Required: No
  • Type: bool
  • Default: True

Parameter: operations

The operations of the api.

  • Required: No
  • Type: array

Required parameters

Parameter Type Description
displayName string The display name of the operation.
method string A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.
name string The name of the operation.
urlTemplate string Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}.

Optional parameters

Parameter Type Description
description string Description of the operation. May include HTML formatting tags. Must not be longer than 1.000 characters.
policies array The policies to apply to the operation.
request object An entity containing request details.
responses array Array of Operation responses.
templateParameters array Collection of URL template parameters.

Parameter: operations.displayName

The display name of the operation.

  • Required: Yes
  • Type: string

Parameter: operations.method

A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.

  • Required: Yes
  • Type: string

Parameter: operations.name

The name of the operation.

  • Required: Yes
  • Type: string

Parameter: operations.urlTemplate

Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}.

  • Required: Yes
  • Type: string

Parameter: operations.description

Description of the operation. May include HTML formatting tags. Must not be longer than 1.000 characters.

  • Required: No
  • Type: string

Parameter: operations.policies

The policies to apply to the operation.

  • Required: No
  • Type: array

Required parameters

Parameter Type Description
value string Contents of the Policy as defined by the format.

Optional parameters

Parameter Type Description
format string Format of the policyContent.
name string The name of the policy.

Parameter: operations.policies.value

Contents of the Policy as defined by the format.

  • Required: Yes
  • Type: string

Parameter: operations.policies.format

Format of the policyContent.

  • Required: No
  • Type: string
  • Allowed:
    [
      'rawxml'
      'rawxml-link'
      'xml'
      'xml-link'
    ]
    

Parameter: operations.policies.name

The name of the policy.

  • Required: No
  • Type: string

Parameter: operations.request

An entity containing request details.

  • Required: No
  • Type: object

Parameter: operations.responses

Array of Operation responses.

  • Required: No
  • Type: array

Parameter: operations.templateParameters

Collection of URL template parameters.

  • Required: No
  • Type: array

Parameter: policies

Array of Policies to apply to the Service API.

  • Required: No
  • Type: array

Required parameters

Parameter Type Description
value string Contents of the Policy as defined by the format.

Optional parameters

Parameter Type Description
format string Format of the policyContent.
name string The name of the policy.

Parameter: policies.value

Contents of the Policy as defined by the format.

  • Required: Yes
  • Type: string

Parameter: policies.format

Format of the policyContent.

  • Required: No
  • Type: string
  • Allowed:
    [
      'rawxml'
      'rawxml-link'
      'xml'
      'xml-link'
    ]
    

Parameter: policies.name

The name of the policy.

  • Required: No
  • Type: string

Parameter: protocols

Describes on which protocols the operations in this API can be invoked.

  • Required: No
  • Type: array
  • Default:
    [
      'https'
    ]
    
  • Allowed:
    [
      'http'
      'https'
      'ws'
      'wss'
    ]
    

Parameter: serviceUrl

Absolute URL of the backend service implementing this API.

  • Required: No
  • Type: string

Parameter: sourceApiId

API identifier of the source API.

  • Required: No
  • Type: string

Parameter: subscriptionKeyParameterNames

Protocols over which API is made available.

  • Required: No
  • Type: object

Parameter: subscriptionRequired

Specifies whether an API or Product subscription is required for accessing the API.

  • Required: No
  • Type: bool
  • Default: False

Parameter: type

Type of API.

  • Required: No
  • Type: string
  • Default: 'http'
  • Allowed:
    [
      'graphql'
      'grpc'
      'http'
      'odata'
      'soap'
      'websocket'
    ]
    

Parameter: value

Content value when Importing an API.

  • Required: No
  • Type: string

Parameter: wsdlSelector

Criteria to limit import of WSDL to a subset of the document.

  • Required: No
  • Type: object

Outputs

Output Type Description
name string The name of the API management service API.
resourceGroupName string The resource group the API management service API was deployed to.
resourceId string The resource ID of the API management service API.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Changelog

The latest version of the changelog can be found here.

0.2.0

Changes

  • Added length decorators to multiple parameters
  • Updated descriptions of various parameters for clarity
  • Added missing allowed values to format parameter and type parameter
  • Added allowed values to protocols parameter
  • Updated module deployment names for consistency
  • Aligned operationType definition with the operation child module specification
  • Aligned diagnosticType definition with the diagnostic child module specification
  • Changed diagnosticType.alwaysLog type to specific union ('allErrors')?
  • Fixed diagnosticType.operationNameFormat allowed value from URI to Url, matching API specification

Breaking Changes

  • The diagnosticType.operationNameFormat allowed value has been corrected from URI to Url

0.1.1

Changes

  • Minor json formatting adjustments

Breaking Changes

  • None

0.1.0

Changes

  • Initial version

Breaking Changes

  • None
 
 {
  "workingFolder": "packages",
  "packages": [
    // packages defined earlier
    {
      "name": "avm-bicep/api-management-service-apis",
      "version": "0.2.0"
    }
  ]
}

This package has no dependencies

Stats

Selected version:

0.2.0

Downloads this version:

0

Downloads all versions:

0

Latest version:

0.2.0

Latest update:

14-01-2026

avm-bicep

Other versions (1)

Ready to End Infrastructure Code Chaos?

Join infrastructure teams who've moved from scattered repositories to unified package management

Built by infrastructure experts
Who understand your challenges
Complete solutions
No scattered files
See what's deployed where
When it needs updates
Zero vendor lock-in
Packages work without us
No setup fees or contracts Free migration assistance Cancel anytime with no penalties
Direct founder access Zero security incidents in 2+ years Works with any cloud, any CI/CD platform