@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api EventGridManagementClient
@base https://management.azure.com
@version 2019-06-01
@auth OAuth2
@common_fields {api-version: any # Version of the API to be used with the client request.}
@endpoints 40
@hint download_for_search
@toc subscriptions(31), {scope}(5), providers(4)

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}
@desc Get a domain.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}
@desc Create or update a domain.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain., domainInfo: map # Domain information.}
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}
@desc Delete a domain.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain.}
@returns(202) Accepted
@returns(204) NoContent

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}
@desc Update a domain.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain., domainUpdateParameters: map # Domain update information.}
@returns(201) Domain update request accepted.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains
@desc List domains under an Azure subscription.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains
@desc List domains under a resource group.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys
@desc List keys for a domain.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey
@desc Regenerate key for a domain.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain., regenerateKeyRequest: map # Request body to regenerate key.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}
@desc Get a domain topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain., domainTopicName: any # Name of the topic.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}
@desc Create or update a domain topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain., domainTopicName: any # Name of the domain topic.}
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}
@desc Delete a domain topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the domain., domainTopicName: any # Name of the domain topic.}
@returns(202) Accepted
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics
@desc List domain topics.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Domain name.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endgroup

@group {scope}
@endpoint GET /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}
@desc Get an event subscription.
@required {scope: any # The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic., eventSubscriptionName: any # Name of the event subscription.}
@returns(200) OK

@endpoint PUT /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}
@desc Create or update an event subscription.
@required {scope: any # The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic., eventSubscriptionName: any # Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should use alphanumeric letters only., eventSubscriptionInfo: map # Event subscription properties containing the destination and filter information.}
@returns(201) EventSubscription CreateOrUpdate request accepted.

@endpoint DELETE /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}
@desc Delete an event subscription.
@required {scope: any # The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic., eventSubscriptionName: any # Name of the event subscription.}
@returns(200) OK
@returns(202) Accepted
@returns(204) NoContent

@endpoint PATCH /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}
@desc Update an event subscription.
@required {scope: any # The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic., eventSubscriptionName: any # Name of the event subscription to be updated., eventSubscriptionUpdateParameters: map # Updated event subscription information.}
@returns(201) EventSubscription update request accepted.

@endpoint POST /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl
@desc Get full URL of an event subscription.
@required {scope: any # The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic., eventSubscriptionName: any # Name of the event subscription.}
@returns(200) OK

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions
@desc Get an aggregated list of all global event subscriptions under an Azure subscription.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions
@desc List all global event subscriptions for a topic type.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., topicTypeName: any # Name of the topic type.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions
@desc List all global event subscriptions under an Azure subscription and resource group.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions
@desc List all global event subscriptions under a resource group for a topic type.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicTypeName: any # Name of the topic type.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions
@desc List all regional event subscriptions under an Azure subscription.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., location: any # Name of the location.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions
@desc List all regional event subscriptions under an Azure subscription and resource group.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., location: any # Name of the location.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions
@desc List all regional event subscriptions under an Azure subscription for a topic type.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., location: any # Name of the location., topicTypeName: any # Name of the topic type.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions
@desc List all regional event subscriptions under an Azure subscription and resource group for a topic type.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., location: any # Name of the location., topicTypeName: any # Name of the topic type.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions
@desc List all event subscriptions for a specific topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., providerNamespace: any # Namespace of the provider of the topic., resourceTypeName: any # Name of the resource type., resourceName: any # Name of the resource.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions
@desc List all event subscriptions for a specific domain topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., domainName: any # Name of the top level domain., topicName: any # Name of the domain topic.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endgroup

@group providers
@endpoint GET /providers/Microsoft.EventGrid/operations
@desc List available operations.
@returns(200) OK

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}
@desc Get a topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicName: any # Name of the topic.}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}
@desc Create a topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicName: any # Name of the topic., topicInfo: map # Topic information.}
@returns(201) Created

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}
@desc Delete a topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicName: any # Name of the topic.}
@returns(202) Accepted
@returns(204) NoContent

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}
@desc Update a topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicName: any # Name of the topic., topicUpdateParameters: map # Topic update information.}
@returns(201) Topic update request accepted.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics
@desc List topics under an Azure subscription.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics
@desc List topics under a resource group.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription.}
@optional {$filter: any # The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'., $top: any # The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys
@desc List keys for a topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicName: any # Name of the topic.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey
@desc Regenerate key for a topic.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., topicName: any # Name of the topic., regenerateKeyRequest: map # Request body to regenerate key.}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes
@desc List topic event types.
@required {subscriptionId: any # Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call., resourceGroupName: any # The name of the resource group within the user's subscription., providerNamespace: any # Namespace of the provider of the topic., resourceTypeName: any # Name of the topic type., resourceName: any # Name of the topic.}
@returns(200) OK

@endgroup

@group providers
@endpoint GET /providers/Microsoft.EventGrid/topicTypes
@desc List topic types.
@returns(200) OK

@endpoint GET /providers/Microsoft.EventGrid/topicTypes/{topicTypeName}
@desc Get a topic type.
@required {topicTypeName: any # Name of the topic type.}
@returns(200) OK

@endpoint GET /providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes
@desc List event types.
@required {topicTypeName: any # Name of the topic type.}
@returns(200) OK

@endgroup

@end
