Authorization - Create Or Update

Creates or updates authorization.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}?api-version=2022-08-01

URI Parameters

Name In Required Type Description
authorizationId
path True

string

Identifier of the authorization.

Regex pattern: ^[^*#&+:<>?]+$

authorizationProviderId
path True

string

Identifier of the authorization provider.

Regex pattern: ^[^*#&+:<>?]+$

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

serviceName
path True

string

The name of the API Management service.

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

The ID of the target subscription.

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 Type Description
properties.authorizationType

AuthorizationType

Authorization type options

properties.error

AuthorizationError

properties.oauth2grantType

OAuth2GrantType

OAuth2 grant type options

properties.parameters

object

Authorization parameters

properties.status

string

Status of the Authorization

Responses

Name Type Description
200 OK

AuthorizationContract

The existing Authorization was successfully updated.

Headers

ETag: string

201 Created

AuthorizationContract

Authorization was successfully created.

Headers

ETag: string

Other Status Codes

ErrorResponse

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

ApiManagementCreateAuthorizationAADAuthCode
ApiManagementCreateAuthorizationAADClientCred

ApiManagementCreateAuthorizationAADAuthCode

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2?api-version=2022-08-01

{
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode"
  }
}

Sample Response

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz2",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode",
    "status": "Error",
    "error": {
      "code": "Unauthenticated",
      "message": "This connection is not authenticated."
    }
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz2",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode",
    "status": "Error",
    "error": {
      "code": "Unauthenticated",
      "message": "This connection is not authenticated."
    }
  }
}

ApiManagementCreateAuthorizationAADClientCred

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1?api-version=2022-08-01

{
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode",
    "parameters": {
      "clientId": "53790925-fdd3-4b80-bc7a-4c3aaf25801d",
      "clientSecret": "xxxxxxxxxxxxxxx~xxxxxxxxx"
    }
  }
}

Sample Response

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz1",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "ClientCredentials",
    "parameters": {
      "clientId": "53790925-fdd3-4b80-bc7a-4c3aaf25801d"
    },
    "status": "Connected"
  }
}
{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz1",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "ClientCredentials",
    "parameters": {
      "clientId": "53790925-fdd3-4b80-bc7a-4c3aaf25801d"
    },
    "status": "Connected"
  }
}

Definitions

Name Description
AuthorizationContract

Authorization contract.

AuthorizationError

Authorization error details.

AuthorizationType

Authorization type options

ErrorFieldContract

Error Field contract.

ErrorResponse

Error Response.

OAuth2GrantType

OAuth2 grant type options

AuthorizationContract

Authorization contract.

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.authorizationType

AuthorizationType

Authorization type options

properties.error

AuthorizationError

properties.oauth2grantType

OAuth2GrantType

OAuth2 grant type options

properties.parameters

object

Authorization parameters

properties.status

string

Status of the Authorization

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

AuthorizationError

Authorization error details.

Name Type Description
code

string

Error code

message

string

Error message

AuthorizationType

Authorization type options

Name Type Description
OAuth2

string

OAuth2 authorization type

ErrorFieldContract

Error Field contract.

Name Type Description
code

string

Property level error code.

message

string

Human-readable representation of property-level error.

target

string

Property name.

ErrorResponse

Error Response.

Name Type Description
error.code

string

Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.

error.details

ErrorFieldContract[]

The list of invalid fields send in request, in case of validation error.

error.message

string

Human-readable representation of the error.

OAuth2GrantType

OAuth2 grant type options

Name Type Description
AuthorizationCode

string

Authorization Code grant

ClientCredentials

string

Client Credential grant