Microsoft.ApiManagement service/apis
Bicep resource definition
The service/apis resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/apis resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.ApiManagement/service/apis@2023-09-01-preview' = {
name: 'string'
parent: resourceSymbolicName
properties: {
apiRevision: 'string'
apiRevisionDescription: 'string'
apiType: 'string'
apiVersion: 'string'
apiVersionDescription: 'string'
apiVersionSet: {
description: 'string'
id: 'string'
name: 'string'
versionHeaderName: 'string'
versioningScheme: 'string'
versionQueryName: 'string'
}
apiVersionSetId: 'string'
authenticationSettings: {
oAuth2: {
authorizationServerId: 'string'
scope: 'string'
}
oAuth2AuthenticationSettings: [
{
authorizationServerId: 'string'
scope: 'string'
}
]
openid: {
bearerTokenSendingMethods: [
'string'
]
openidProviderId: 'string'
}
openidAuthenticationSettings: [
{
bearerTokenSendingMethods: [
'string'
]
openidProviderId: 'string'
}
]
}
contact: {
email: 'string'
name: 'string'
url: 'string'
}
description: 'string'
displayName: 'string'
format: 'string'
isCurrent: bool
license: {
name: 'string'
url: 'string'
}
path: 'string'
protocols: [
'string'
]
serviceUrl: 'string'
sourceApiId: 'string'
subscriptionKeyParameterNames: {
header: 'string'
query: 'string'
}
subscriptionRequired: bool
termsOfServiceUrl: 'string'
translateRequiredQueryParameters: 'string'
type: 'string'
value: 'string'
wsdlSelector: {
wsdlEndpointName: 'string'
wsdlServiceName: 'string'
}
}
}
Property values
service/apis
Name | Description | Value |
---|---|---|
name | The resource name See how to set names and types for child resources in Bicep. |
string (required) Character limit: 1-80 Valid characters: Alphanumerics and hyphens. Start with letter and end with alphanumeric. |
parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: service |
properties | API entity create of update properties. | ApiCreateOrUpdatePropertiesOrApiContractProperties |
ApiCreateOrUpdatePropertiesOrApiContractProperties
Name | Description | Value |
---|---|---|
apiRevision | Describes the revision of the API. If no value is provided, default revision 1 is created | string Constraints: Min length = 1 Max length = 100 |
apiRevisionDescription | Description of the API Revision. | string Constraints: Max length = 256 |
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. New types can be added in the future. |
'graphql' 'grpc' ' http ''odata' 'soap' 'websocket' |
apiVersion | Indicates the version identifier of the API if the API is versioned | string Constraints: Max length = 100 |
apiVersionDescription | Description of the API Version. | string Constraints: Max length = 256 |
apiVersionSet | Version set details | ApiVersionSetContractDetails |
apiVersionSetId | A resource identifier for the related ApiVersionSet. | string |
authenticationSettings | Collection of authentication settings included into this API. | AuthenticationSettingsContract |
contact | Contact information for the API. | ApiContactInformation |
description | Description of the API. May include HTML formatting tags. | string |
displayName | API name. Must be 1 to 300 characters long. | string Constraints: Min length = 1 Max length = 300 |
format | Format of the Content in which the API is getting imported. New formats can be added in the future | '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' |
isCurrent | Indicates if API revision is current api revision. | bool |
license | License information for the API. | ApiLicenseInformation |
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. | string (required) Constraints: Max length = 400 |
protocols | Describes on which protocols the operations in this API can be invoked. | String array containing any of: ' http '' https ''ws' 'wss' |
serviceUrl | Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. | string Constraints: Max length = 2000 |
sourceApiId | API identifier of the source API. | string |
subscriptionKeyParameterNames | Protocols over which API is made available. | SubscriptionKeyParameterNamesContract |
subscriptionRequired | Specifies whether an API or Product subscription is required for accessing the API. | bool |
termsOfServiceUrl | A URL to the Terms of Service for the API. MUST be in the format of a URL. | string |
translateRequiredQueryParameters | Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query' | 'query' 'template' |
type | Type of API. | 'graphql' 'grpc' ' http ''odata' 'soap' 'websocket' |
value | Content value when Importing an API. | string |
wsdlSelector | Criteria to limit import of WSDL to a subset of the document. | ApiCreateOrUpdatePropertiesWsdlSelector |
ApiVersionSetContractDetails
Name | Description | Value |
---|---|---|
description | Description of API Version Set. | string |
id | Identifier for existing API Version Set. Omit this value to create a new Version Set. | string |
name | The display Name of the API Version Set. | string |
versionHeaderName | Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header . |
string |
versioningScheme | An value that determines where the API Version identifier will be located in a HTTP request. | 'Header' 'Query' 'Segment' |
versionQueryName | Name of query parameter that indicates the API Version if versioningScheme is set to query . |
string |
AuthenticationSettingsContract
Name | Description | Value |
---|---|---|
oAuth2 | OAuth2 Authentication settings | OAuth2AuthenticationSettingsContract |
oAuth2AuthenticationSettings | Collection of OAuth2 authentication settings included into this API. | OAuth2AuthenticationSettingsContract[] |
openid | OpenID Connect Authentication Settings | OpenIdAuthenticationSettingsContract |
openidAuthenticationSettings | Collection of Open ID Connect authentication settings included into this API. | OpenIdAuthenticationSettingsContract[] |
OAuth2AuthenticationSettingsContract
Name | Description | Value |
---|---|---|
authorizationServerId | OAuth authorization server identifier. | string |
scope | operations scope. | string |
OpenIdAuthenticationSettingsContract
Name | Description | Value |
---|---|---|
bearerTokenSendingMethods | How to send token to the server. | String array containing any of: 'authorizationHeader' 'query' |
openidProviderId | OAuth authorization server identifier. | string |
ApiContactInformation
Name | Description | Value |
---|---|---|
The email address of the contact person/organization. MUST be in the format of an email address | string | |
name | The identifying name of the contact person/organization | string |
url | The URL pointing to the contact information. MUST be in the format of a URL | string |
ApiLicenseInformation
Name | Description | Value |
---|---|---|
name | The license name used for the API | string |
url | A URL to the license used for the API. MUST be in the format of a URL | string |
SubscriptionKeyParameterNamesContract
Name | Description | Value |
---|---|---|
header | Subscription key header name. | string |
query | Subscription key query string parameter name. | string |
ApiCreateOrUpdatePropertiesWsdlSelector
Name | Description | Value |
---|---|---|
wsdlEndpointName | Name of endpoint(port) to import from WSDL | string |
wsdlServiceName | Name of service to import from WSDL | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Create an API Management instance and all sub resources using template |
This template demonstrates how to create a API Management service and configure sub-entities |
Create Azure Front Door in front of Azure API Management |
This sample demonstrates how to use Azure Front Door as a global load balancer in front of Azure API Management. |
ARM template resource definition
The service/apis resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/apis resource, add the following JSON to your template.
{
"type": "Microsoft.ApiManagement/service/apis",
"apiVersion": "2023-09-01-preview",
"name": "string",
"properties": {
"apiRevision": "string",
"apiRevisionDescription": "string",
"apiType": "string",
"apiVersion": "string",
"apiVersionDescription": "string",
"apiVersionSet": {
"description": "string",
"id": "string",
"name": "string",
"versionHeaderName": "string",
"versioningScheme": "string",
"versionQueryName": "string"
},
"apiVersionSetId": "string",
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "string",
"scope": "string"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "string",
"scope": "string"
}
],
"openid": {
"bearerTokenSendingMethods": [ "string" ],
"openidProviderId": "string"
},
"openidAuthenticationSettings": [
{
"bearerTokenSendingMethods": [ "string" ],
"openidProviderId": "string"
}
]
},
"contact": {
"email": "string",
"name": "string",
"url": "string"
},
"description": "string",
"displayName": "string",
"format": "string",
"isCurrent": "bool",
"license": {
"name": "string",
"url": "string"
},
"path": "string",
"protocols": [ "string" ],
"serviceUrl": "string",
"sourceApiId": "string",
"subscriptionKeyParameterNames": {
"header": "string",
"query": "string"
},
"subscriptionRequired": "bool",
"termsOfServiceUrl": "string",
"translateRequiredQueryParameters": "string",
"type": "string",
"value": "string",
"wsdlSelector": {
"wsdlEndpointName": "string",
"wsdlServiceName": "string"
}
}
}
Property values
service/apis
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.ApiManagement/service/apis' |
apiVersion | The resource api version | '2023-09-01-preview' |
name | The resource name See how to set names and types for child resources in JSON ARM templates. |
string (required) Character limit: 1-80 Valid characters: Alphanumerics and hyphens. Start with letter and end with alphanumeric. |
properties | API entity create of update properties. | ApiCreateOrUpdatePropertiesOrApiContractProperties |
ApiCreateOrUpdatePropertiesOrApiContractProperties
Name | Description | Value |
---|---|---|
apiRevision | Describes the revision of the API. If no value is provided, default revision 1 is created | string Constraints: Min length = 1 Max length = 100 |
apiRevisionDescription | Description of the API Revision. | string Constraints: Max length = 256 |
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. New types can be added in the future. |
'graphql' 'grpc' ' http ''odata' 'soap' 'websocket' |
apiVersion | Indicates the version identifier of the API if the API is versioned | string Constraints: Max length = 100 |
apiVersionDescription | Description of the API Version. | string Constraints: Max length = 256 |
apiVersionSet | Version set details | ApiVersionSetContractDetails |
apiVersionSetId | A resource identifier for the related ApiVersionSet. | string |
authenticationSettings | Collection of authentication settings included into this API. | AuthenticationSettingsContract |
contact | Contact information for the API. | ApiContactInformation |
description | Description of the API. May include HTML formatting tags. | string |
displayName | API name. Must be 1 to 300 characters long. | string Constraints: Min length = 1 Max length = 300 |
format | Format of the Content in which the API is getting imported. New formats can be added in the future | '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' |
isCurrent | Indicates if API revision is current api revision. | bool |
license | License information for the API. | ApiLicenseInformation |
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. | string (required) Constraints: Max length = 400 |
protocols | Describes on which protocols the operations in this API can be invoked. | String array containing any of: ' http '' https ''ws' 'wss' |
serviceUrl | Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. | string Constraints: Max length = 2000 |
sourceApiId | API identifier of the source API. | string |
subscriptionKeyParameterNames | Protocols over which API is made available. | SubscriptionKeyParameterNamesContract |
subscriptionRequired | Specifies whether an API or Product subscription is required for accessing the API. | bool |
termsOfServiceUrl | A URL to the Terms of Service for the API. MUST be in the format of a URL. | string |
translateRequiredQueryParameters | Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query' | 'query' 'template' |
type | Type of API. | 'graphql' 'grpc' ' http ''odata' 'soap' 'websocket' |
value | Content value when Importing an API. | string |
wsdlSelector | Criteria to limit import of WSDL to a subset of the document. | ApiCreateOrUpdatePropertiesWsdlSelector |
ApiVersionSetContractDetails
Name | Description | Value |
---|---|---|
description | Description of API Version Set. | string |
id | Identifier for existing API Version Set. Omit this value to create a new Version Set. | string |
name | The display Name of the API Version Set. | string |
versionHeaderName | Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header . |
string |
versioningScheme | An value that determines where the API Version identifier will be located in a HTTP request. | 'Header' 'Query' 'Segment' |
versionQueryName | Name of query parameter that indicates the API Version if versioningScheme is set to query . |
string |
AuthenticationSettingsContract
Name | Description | Value |
---|---|---|
oAuth2 | OAuth2 Authentication settings | OAuth2AuthenticationSettingsContract |
oAuth2AuthenticationSettings | Collection of OAuth2 authentication settings included into this API. | OAuth2AuthenticationSettingsContract[] |
openid | OpenID Connect Authentication Settings | OpenIdAuthenticationSettingsContract |
openidAuthenticationSettings | Collection of Open ID Connect authentication settings included into this API. | OpenIdAuthenticationSettingsContract[] |
OAuth2AuthenticationSettingsContract
Name | Description | Value |
---|---|---|
authorizationServerId | OAuth authorization server identifier. | string |
scope | operations scope. | string |
OpenIdAuthenticationSettingsContract
Name | Description | Value |
---|---|---|
bearerTokenSendingMethods | How to send token to the server. | String array containing any of: 'authorizationHeader' 'query' |
openidProviderId | OAuth authorization server identifier. | string |
ApiContactInformation
Name | Description | Value |
---|---|---|
The email address of the contact person/organization. MUST be in the format of an email address | string | |
name | The identifying name of the contact person/organization | string |
url | The URL pointing to the contact information. MUST be in the format of a URL | string |
ApiLicenseInformation
Name | Description | Value |
---|---|---|
name | The license name used for the API | string |
url | A URL to the license used for the API. MUST be in the format of a URL | string |
SubscriptionKeyParameterNamesContract
Name | Description | Value |
---|---|---|
header | Subscription key header name. | string |
query | Subscription key query string parameter name. | string |
ApiCreateOrUpdatePropertiesWsdlSelector
Name | Description | Value |
---|---|---|
wsdlEndpointName | Name of endpoint(port) to import from WSDL | string |
wsdlServiceName | Name of service to import from WSDL | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Create an API Management instance and all sub resources using template |
This template demonstrates how to create a API Management service and configure sub-entities |
Create Azure Front Door in front of Azure API Management |
This sample demonstrates how to use Azure Front Door as a global load balancer in front of Azure API Management. |
Terraform (AzAPI provider) resource definition
The service/apis resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service/apis resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service/apis@2023-09-01-preview"
name = "string"
parent_id = "string"
body = jsonencode({
properties = {
apiRevision = "string"
apiRevisionDescription = "string"
apiType = "string"
apiVersion = "string"
apiVersionDescription = "string"
apiVersionSet = {
description = "string"
id = "string"
name = "string"
versionHeaderName = "string"
versioningScheme = "string"
versionQueryName = "string"
}
apiVersionSetId = "string"
authenticationSettings = {
oAuth2 = {
authorizationServerId = "string"
scope = "string"
}
oAuth2AuthenticationSettings = [
{
authorizationServerId = "string"
scope = "string"
}
]
openid = {
bearerTokenSendingMethods = [
"string"
]
openidProviderId = "string"
}
openidAuthenticationSettings = [
{
bearerTokenSendingMethods = [
"string"
]
openidProviderId = "string"
}
]
}
contact = {
email = "string"
name = "string"
url = "string"
}
description = "string"
displayName = "string"
format = "string"
isCurrent = bool
license = {
name = "string"
url = "string"
}
path = "string"
protocols = [
"string"
]
serviceUrl = "string"
sourceApiId = "string"
subscriptionKeyParameterNames = {
header = "string"
query = "string"
}
subscriptionRequired = bool
termsOfServiceUrl = "string"
translateRequiredQueryParameters = "string"
type = "string"
value = "string"
wsdlSelector = {
wsdlEndpointName = "string"
wsdlServiceName = "string"
}
}
})
}
Property values
service/apis
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.ApiManagement/service/apis@2023-09-01-preview" |
name | The resource name | string (required) Character limit: 1-80 Valid characters: Alphanumerics and hyphens. Start with letter and end with alphanumeric. |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: service |
properties | API entity create of update properties. | ApiCreateOrUpdatePropertiesOrApiContractProperties |
ApiCreateOrUpdatePropertiesOrApiContractProperties
Name | Description | Value |
---|---|---|
apiRevision | Describes the revision of the API. If no value is provided, default revision 1 is created | string Constraints: Min length = 1 Max length = 100 |
apiRevisionDescription | Description of the API Revision. | string Constraints: Max length = 256 |
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. New types can be added in the future. |
"graphql" "grpc" " http ""odata" "soap" "websocket" |
apiVersion | Indicates the version identifier of the API if the API is versioned | string Constraints: Max length = 100 |
apiVersionDescription | Description of the API Version. | string Constraints: Max length = 256 |
apiVersionSet | Version set details | ApiVersionSetContractDetails |
apiVersionSetId | A resource identifier for the related ApiVersionSet. | string |
authenticationSettings | Collection of authentication settings included into this API. | AuthenticationSettingsContract |
contact | Contact information for the API. | ApiContactInformation |
description | Description of the API. May include HTML formatting tags. | string |
displayName | API name. Must be 1 to 300 characters long. | string Constraints: Min length = 1 Max length = 300 |
format | Format of the Content in which the API is getting imported. New formats can be added in the future | "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" |
isCurrent | Indicates if API revision is current api revision. | bool |
license | License information for the API. | ApiLicenseInformation |
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. | string (required) Constraints: Max length = 400 |
protocols | Describes on which protocols the operations in this API can be invoked. | String array containing any of: " http "" https ""ws" "wss" |
serviceUrl | Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. | string Constraints: Max length = 2000 |
sourceApiId | API identifier of the source API. | string |
subscriptionKeyParameterNames | Protocols over which API is made available. | SubscriptionKeyParameterNamesContract |
subscriptionRequired | Specifies whether an API or Product subscription is required for accessing the API. | bool |
termsOfServiceUrl | A URL to the Terms of Service for the API. MUST be in the format of a URL. | string |
translateRequiredQueryParameters | Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query' | "query" "template" |
type | Type of API. | "graphql" "grpc" " http ""odata" "soap" "websocket" |
value | Content value when Importing an API. | string |
wsdlSelector | Criteria to limit import of WSDL to a subset of the document. | ApiCreateOrUpdatePropertiesWsdlSelector |
ApiVersionSetContractDetails
Name | Description | Value |
---|---|---|
description | Description of API Version Set. | string |
id | Identifier for existing API Version Set. Omit this value to create a new Version Set. | string |
name | The display Name of the API Version Set. | string |
versionHeaderName | Name of HTTP header parameter that indicates the API Version if versioningScheme is set to header . |
string |
versioningScheme | An value that determines where the API Version identifier will be located in a HTTP request. | "Header" "Query" "Segment" |
versionQueryName | Name of query parameter that indicates the API Version if versioningScheme is set to query . |
string |
AuthenticationSettingsContract
Name | Description | Value |
---|---|---|
oAuth2 | OAuth2 Authentication settings | OAuth2AuthenticationSettingsContract |
oAuth2AuthenticationSettings | Collection of OAuth2 authentication settings included into this API. | OAuth2AuthenticationSettingsContract[] |
openid | OpenID Connect Authentication Settings | OpenIdAuthenticationSettingsContract |
openidAuthenticationSettings | Collection of Open ID Connect authentication settings included into this API. | OpenIdAuthenticationSettingsContract[] |
OAuth2AuthenticationSettingsContract
Name | Description | Value |
---|---|---|
authorizationServerId | OAuth authorization server identifier. | string |
scope | operations scope. | string |
OpenIdAuthenticationSettingsContract
Name | Description | Value |
---|---|---|
bearerTokenSendingMethods | How to send token to the server. | String array containing any of: "authorizationHeader" "query" |
openidProviderId | OAuth authorization server identifier. | string |
ApiContactInformation
Name | Description | Value |
---|---|---|
The email address of the contact person/organization. MUST be in the format of an email address | string | |
name | The identifying name of the contact person/organization | string |
url | The URL pointing to the contact information. MUST be in the format of a URL | string |
ApiLicenseInformation
Name | Description | Value |
---|---|---|
name | The license name used for the API | string |
url | A URL to the license used for the API. MUST be in the format of a URL | string |
SubscriptionKeyParameterNamesContract
Name | Description | Value |
---|---|---|
header | Subscription key header name. | string |
query | Subscription key query string parameter name. | string |
ApiCreateOrUpdatePropertiesWsdlSelector
Name | Description | Value |
---|---|---|
wsdlEndpointName | Name of endpoint(port) to import from WSDL | string |
wsdlServiceName | Name of service to import from WSDL | string |