Workspace Api - Create Or Update
Creates new or updates existing specified API of the workspace in an API Management service instance.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}?api-version=2024-05-01
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
api
|
path | True |
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. Regex pattern: |
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
service
|
path | True |
string |
The name of the API Management service. Regex pattern: |
subscription
|
path | True |
string uuid |
The ID of the target subscription. The value must be an UUID. |
workspace
|
path | True |
string |
Workspace identifier. Must be unique in the current API Management service instance. Regex pattern: |
api-version
|
query | True |
string |
The API version to use for this operation. |
Request Header
Name | Required | Type | Description |
---|---|---|---|
If-Match |
string |
ETag of the Entity. Not required when creating an entity, but required when updating an entity. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
properties.path | True |
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. |
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. |
|
apiVersion |
string |
Indicates the version identifier of the API if the API is versioned |
|
apiVersionDescription |
string |
Description of the API Version. |
|
apiVersionSetId |
string |
A resource identifier for the related ApiVersionSet. |
|
authenticationSettings |
Collection of authentication settings included into this API. |
||
contact |
Contact information for the API. |
||
description |
string |
Description of the API. May include HTML formatting tags. |
|
isCurrent |
boolean |
Indicates if API revision is current api revision. |
|
license |
License information for the API. |
||
properties.apiType |
Type of API to create.
|
||
properties.apiVersionSet |
Version set details |
||
properties.displayName |
string |
API name. Must be 1 to 300 characters long. |
|
properties.format |
Format of the Content in which the API is getting imported. New formats can be added in the future |
||
properties.protocols |
Protocol[] |
Describes on which protocols the operations in this API can be invoked. |
|
properties.serviceUrl |
string |
Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. |
|
properties.sourceApiId |
string |
API identifier of the source API. |
|
properties.translateRequiredQueryParameters |
Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query' |
||
properties.value |
string |
Content value when Importing an API. |
|
properties.wsdlSelector |
Criteria to limit import of WSDL to a subset of the document. |
||
subscriptionKeyParameterNames |
Protocols over which API is made available. |
||
subscriptionRequired |
boolean |
Specifies whether an API or Product subscription is required for accessing the API. |
|
termsOfServiceUrl |
string |
A URL to the Terms of Service for the API. MUST be in the format of a URL. |
|
type |
Type of API. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
API was successfully updated. Headers
|
|
201 Created |
API was successfully created. Headers
|
|
Other Status Codes |
Error response describing why the operation failed. |
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
user_impersonation | impersonate your user account |
Examples
ApiManagementCreateWorkspaceApi
Sample request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
Sample response
location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/workspaces/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/workspaces/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
Definitions
Name | Description |
---|---|
Api |
API contact information |
Api |
API details. |
Api |
API Create or Update Parameters. |
Api |
API license information |
Api |
Type of API. |
Api |
An API Version Set contains the common configuration for a set of API Versions relating |
Authentication |
API Authentication Settings. |
bearer |
How to send token to the server. |
Content |
Format of the Content in which the API is getting imported. New formats can be added in the future |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
OAuth2Authentication |
API OAuth2 Authentication settings details. |
Open |
API OAuth2 Authentication settings details. |
Protocol |
Describes on which protocols the operations in this API can be invoked. |
Soap |
Type of API to create.
|
Subscription |
Subscription key parameter names details. |
Translate |
Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query' |
versioning |
An value that determines where the API Version identifier will be located in a HTTP request. |
Wsdl |
Criteria to limit import of WSDL to a subset of the document. |
ApiContactInformation
API contact information
Name | Type | Description |
---|---|---|
string |
The email address of the contact person/organization. MUST be in the format of an email address |
|
name |
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 |
ApiContract
API details.
Name | Type | Description |
---|---|---|
id |
string |
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
name |
string |
The name of the resource |
properties.apiRevision |
string |
Describes the revision of the API. If no value is provided, default revision 1 is created |
properties.apiRevisionDescription |
string |
Description of the API Revision. |
properties.apiVersion |
string |
Indicates the version identifier of the API if the API is versioned |
properties.apiVersionDescription |
string |
Description of the API Version. |
properties.apiVersionSet |
Version set details |
|
properties.apiVersionSetId |
string |
A resource identifier for the related ApiVersionSet. |
properties.authenticationSettings |
Collection of authentication settings included into this API. |
|
properties.contact |
Contact information for the API. |
|
properties.description |
string |
Description of the API. May include HTML formatting tags. |
properties.displayName |
string |
API name. Must be 1 to 300 characters long. |
properties.isCurrent |
boolean |
Indicates if API revision is current api revision. |
properties.isOnline |
boolean |
Indicates if API revision is accessible via the gateway. |
properties.license |
License information for the API. |
|
properties.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. |
properties.protocols |
Protocol[] |
Describes on which protocols the operations in this API can be invoked. |
properties.provisioningState |
string |
The provisioning state |
properties.serviceUrl |
string |
Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. |
properties.sourceApiId |
string |
API identifier of the source API. |
properties.subscriptionKeyParameterNames |
Protocols over which API is made available. |
|
properties.subscriptionRequired |
boolean |
Specifies whether an API or Product subscription is required for accessing the API. |
properties.termsOfServiceUrl |
string |
A URL to the Terms of Service for the API. MUST be in the format of a URL. |
properties.type |
Type of API. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
ApiCreateOrUpdateParameter
API Create or Update Parameters.
Name | 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. |
apiVersion |
string |
Indicates the version identifier of the API if the API is versioned |
apiVersionDescription |
string |
Description of the API Version. |
apiVersionSetId |
string |
A resource identifier for the related ApiVersionSet. |
authenticationSettings |
Collection of authentication settings included into this API. |
|
contact |
Contact information for the API. |
|
description |
string |
Description of the API. May include HTML formatting tags. |
isCurrent |
boolean |
Indicates if API revision is current api revision. |
isOnline |
boolean |
Indicates if API revision is accessible via the gateway. |
license |
License information for the API. |
|
properties.apiType |
Type of API to create.
|
|
properties.apiVersionSet |
Version set details |
|
properties.displayName |
string |
API name. Must be 1 to 300 characters long. |
properties.format |
Format of the Content in which the API is getting imported. New formats can be added in the future |
|
properties.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. |
properties.protocols |
Protocol[] |
Describes on which protocols the operations in this API can be invoked. |
properties.provisioningState |
string |
The provisioning state |
properties.serviceUrl |
string |
Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. |
properties.sourceApiId |
string |
API identifier of the source API. |
properties.translateRequiredQueryParameters |
Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query' |
|
properties.value |
string |
Content value when Importing an API. |
properties.wsdlSelector |
Criteria to limit import of WSDL to a subset of the document. |
|
subscriptionKeyParameterNames |
Protocols over which API is made available. |
|
subscriptionRequired |
boolean |
Specifies whether an API or Product subscription is required for accessing the API. |
termsOfServiceUrl |
string |
A URL to the Terms of Service for the API. MUST be in the format of a URL. |
type |
Type of API. |
ApiLicenseInformation
API license information
Name | Type | Description |
---|---|---|
name |
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 |
ApiType
Type of API.
Name | Type | Description |
---|---|---|
graphql |
string |
|
grpc |
string |
|
http |
string |
|
odata |
string |
|
soap |
string |
|
websocket |
string |
ApiVersionSetContractDetails
An API Version Set contains the common configuration for a set of API Versions relating
Name | Type | 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 |
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 |
versionQueryName |
string |
Name of query parameter that indicates the API Version if versioningScheme is set to |
versioningScheme |
An value that determines where the API Version identifier will be located in a HTTP request. |
AuthenticationSettingsContract
API Authentication Settings.
Name | Type | Description |
---|---|---|
oAuth2 |
OAuth2 Authentication settings |
|
oAuth2AuthenticationSettings |
Collection of OAuth2 authentication settings included into this API. |
|
openid |
OpenID Connect Authentication Settings |
|
openidAuthenticationSettings |
Collection of Open ID Connect authentication settings included into this API. |
bearerTokenSendingMethods
How to send token to the server.
Name | Type | Description |
---|---|---|
authorizationHeader |
string |
Access token will be transmitted in the Authorization header using Bearer schema |
query |
string |
Access token will be transmitted as query parameters. |
ContentFormat
Format of the Content in which the API is getting imported. New formats can be added in the future
Name | Type | Description |
---|---|---|
graphql-link |
string |
The GraphQL API endpoint hosted on a publicly accessible internet address. |
grpc |
string |
The contents are inline and Content Type is a gRPC protobuf file. |
grpc-link |
string |
The gRPC protobuf file is hosted on a publicly accessible internet address. |
odata |
string |
The contents are inline and Content Type is a OData XML Document. |
odata-link |
string |
The OData metadata document hosted on a publicly accessible internet address. |
openapi |
string |
The contents are inline and Content Type is a OpenAPI 3.0 YAML Document. |
openapi+json |
string |
The contents are inline and Content Type is a OpenAPI 3.0 JSON Document. |
openapi+json-link |
string |
The OpenAPI 3.0 JSON document is hosted on a publicly accessible internet address. |
openapi-link |
string |
The OpenAPI 3.0 YAML document is hosted on a publicly accessible internet address. |
swagger-json |
string |
The contents are inline and Content Type is a OpenAPI 2.0 JSON Document. |
swagger-link-json |
string |
The OpenAPI 2.0 JSON document is hosted on a publicly accessible internet address. |
wadl-link-json |
string |
The WADL document is hosted on a publicly accessible internet address. |
wadl-xml |
string |
The contents are inline and Content type is a WADL document. |
wsdl |
string |
The contents are inline and the document is a WSDL/Soap document. |
wsdl-link |
string |
The WSDL document is hosted on a publicly accessible internet address. |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
OAuth2AuthenticationSettingsContract
API OAuth2 Authentication settings details.
Name | Type | Description |
---|---|---|
authorizationServerId |
string |
OAuth authorization server identifier. |
scope |
string |
operations scope. |
OpenIdAuthenticationSettingsContract
API OAuth2 Authentication settings details.
Name | Type | Description |
---|---|---|
bearerTokenSendingMethods |
How to send token to the server. |
|
openidProviderId |
string |
OAuth authorization server identifier. |
Protocol
Describes on which protocols the operations in this API can be invoked.
Name | Type | Description |
---|---|---|
http |
string |
|
https |
string |
|
ws |
string |
|
wss |
string |
SoapApiType
Type of API to create.
http
creates a REST APIsoap
creates a SOAP pass-through APIwebsocket
creates websocket APIgraphql
creates GraphQL API. New types can be added in the future.
Name | Type | Description |
---|---|---|
graphql |
string |
Imports the API having a GraphQL front end. |
grpc |
string |
Imports the API having a gRPC front end. |
http |
string |
Imports a SOAP API having a RESTful front end. |
odata |
string |
Imports the API having a OData front end. |
soap |
string |
Imports the SOAP API having a SOAP front end. |
websocket |
string |
Imports the API having a Websocket front end. |
SubscriptionKeyParameterNamesContract
Subscription key parameter names details.
Name | Type | Description |
---|---|---|
header |
string |
Subscription key header name. |
query |
string |
Subscription key query string parameter name. |
TranslateRequiredQueryParametersConduct
Strategy of translating required query parameters to template ones. By default has value 'template'. Possible values: 'template', 'query'
Name | Type | Description |
---|---|---|
query |
string |
Leaves required query parameters as they are (no translation done). |
template |
string |
Translates required query parameters to template ones. Is a default value |
versioningScheme
An value that determines where the API Version identifier will be located in a HTTP request.
Name | Type | Description |
---|---|---|
Header |
string |
The API Version is passed in a HTTP header. |
Query |
string |
The API Version is passed in a query parameter. |
Segment |
string |
The API Version is passed in a path segment. |
WsdlSelector
Criteria to limit import of WSDL to a subset of the document.
Name | Type | Description |
---|---|---|
wsdlEndpointName |
string |
Name of endpoint(port) to import from WSDL |
wsdlServiceName |
string |
Name of service to import from WSDL |