Subscription - Update

Updates the details of a subscription specified by its identifier.

PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}?api-version=2022-08-01
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}?notify={notify}&api-version=2022-08-01&appType={appType}

URI Parameters

Name In Required Type Description
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])?$

sid
path True

string

Subscription entity Identifier. The entity represents the association between a user and a product in API Management.

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

subscriptionId
path True

string

The ID of the target subscription.

api-version
query True

string

The API version to use for this operation.

appType
query

AppType

Determines the type of application which send the create user request. Default is legacy publisher portal.

notify
query

boolean

Notify change in Subscription State.

  • If false, do not send any email notification for change of state of subscription
  • If true, send email notification of change of state of subscription

Request Header

Name Required Type Description
If-Match True

string

ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.

Request Body

Name Type Description
properties.allowTracing

boolean

Determines whether tracing can be enabled

properties.displayName

string

Subscription name.

properties.expirationDate

string

Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the state property. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.ownerId

string

User identifier path: /users/{userId}

properties.primaryKey

string

Primary subscription key.

properties.scope

string

Scope like /products/{productId} or /apis or /apis/{apiId}

properties.secondaryKey

string

Secondary subscription key.

properties.state

SubscriptionState

Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.

properties.stateComment

string

Comments describing subscription state change by the administrator when the state is changed to the 'rejected'.

Responses

Name Type Description
200 OK

SubscriptionContract

The subscription details were successfully updated.

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

ApiManagementUpdateSubscription

Sample Request

PATCH https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub?api-version=2022-08-01


{
  "properties": {
    "displayName": "testsub"
  }
}

Sample Response

{
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
  "type": "Microsoft.ApiManagement/service/subscriptions",
  "name": "testsub",
  "properties": {
    "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
    "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub",
    "state": "submitted",
    "createdDate": "2017-06-02T17:59:06.223Z"
  }
}

Definitions

Name Description
AppType

Determines the type of application which send the create user request. Default is legacy publisher portal.

ErrorFieldContract

Error Field contract.

ErrorResponse

Error Response.

SubscriptionContract

Subscription details.

SubscriptionState

Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.

SubscriptionUpdateParameters

Subscription update details.

AppType

Determines the type of application which send the create user request. Default is legacy publisher portal.

Name Type Description
developerPortal

string

User create request was sent by new developer portal.

portal

string

User create request was sent by legacy developer portal.

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.

SubscriptionContract

Subscription 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.allowTracing

boolean

Determines whether tracing is enabled

properties.createdDate

string

Subscription creation date. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.displayName

string

The name of the subscription, or null if the subscription has no name.

properties.endDate

string

Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the state property. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.expirationDate

string

Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the state property. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.notificationDate

string

Upcoming subscription expiration notification date. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.ownerId

string

The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier.

properties.primaryKey

string

Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.

properties.scope

string

Scope like /products/{productId} or /apis or /apis/{apiId}.

properties.secondaryKey

string

Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.

properties.startDate

string

Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the state property. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.state

SubscriptionState

Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.

properties.stateComment

string

Optional subscription comment added by an administrator when the state is changed to the 'rejected'.

type

string

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

SubscriptionState

Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.

Name Type Description
active

string

cancelled

string

expired

string

rejected

string

submitted

string

suspended

string

SubscriptionUpdateParameters

Subscription update details.

Name Type Description
properties.allowTracing

boolean

Determines whether tracing can be enabled

properties.displayName

string

Subscription name.

properties.expirationDate

string

Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the state property. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.

properties.ownerId

string

User identifier path: /users/{userId}

properties.primaryKey

string

Primary subscription key.

properties.scope

string

Scope like /products/{productId} or /apis or /apis/{apiId}

properties.secondaryKey

string

Secondary subscription key.

properties.state

SubscriptionState

Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.

properties.stateComment

string

Comments describing subscription state change by the administrator when the state is changed to the 'rejected'.