naftiko: 1.0.0-alpha2 info: label: Microsoft Azure EventGridManagementClient — Topics description: 'Microsoft Azure EventGridManagementClient — Topics. 10 operations. Lead operation: Microsoft Azure List Topics Under An Azure Subscription. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Topics created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: eventgridmanagementclient-topics baseUri: https://management.azure.com description: Microsoft Azure EventGridManagementClient — Topics business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.EventGrid-topics path: /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics operations: - name: microsoftazuretopicslistbysubscription method: GET description: Microsoft Azure List Topics Under An Azure Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics operations: - name: microsoftazuretopicslistbyresourcegroup method: GET description: Microsoft Azure List Topics Under A Resource Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName} operations: - name: microsoftazuretopicsget method: GET description: Microsoft Azure Get A Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: topicName in: path type: string description: Name of the topic. required: true - name: microsoftazuretopicscreateorupdate method: PUT description: Microsoft Azure Create A Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: topicName in: path type: string description: Name of the topic. required: true - name: topicInfo in: body type: string description: Topic information. required: true - name: microsoftazuretopicsdelete method: DELETE description: Microsoft Azure Delete A Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: topicName in: path type: string description: Name of the topic. required: true - name: microsoftazuretopicsupdate method: PATCH description: Microsoft Azure Update A Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: topicName in: path type: string description: Name of the topic. required: true - name: topicUpdateParameters in: body type: string description: Topic update information. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys operations: - name: microsoftazuretopicslistsharedaccesskeys method: POST description: Microsoft Azure List Keys For A Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: topicName in: path type: string description: Name of the topic. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey operations: - name: microsoftazuretopicsregeneratekey method: POST description: Microsoft Azure Regenerate Key For A Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: topicName in: path type: string description: Name of the topic. required: true - name: regenerateKeyRequest in: body type: string description: Request body to regenerate key. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-provider path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes operations: - name: microsoftazuretopicslisteventtypes method: GET description: Microsoft Azure List Topic Event Types outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: resourceGroupName in: path type: string description: The name of the resource group within the user's subscription. required: true - name: providerNamespace in: path type: string description: Namespace of the provider of the topic. required: true - name: resourceTypeName in: path type: string description: Name of the topic type. required: true - name: resourceName in: path type: string description: Name of the topic. required: true - name: scope-providers-Microsoft.EventGrid-extensionTopics-default path: /{scope}/providers/Microsoft.EventGrid/extensionTopics/default operations: - name: microsoftazureextensiontopicsget method: GET description: Microsoft Azure Get Properties Of An Extension Topic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: scope in: path type: string description: The identifier of the resource to which extension topic is queried. The scope can be a subscription, or a resource group, or a top level resource belonging to a required: true exposes: - type: rest namespace: eventgridmanagementclient-topics-rest port: 8080 description: REST adapter for Microsoft Azure EventGridManagementClient — Topics. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-eventgrid/topics name: subscriptions-subscriptionid-providers-microsoft-eventgrid-topics description: REST surface for subscriptions-subscriptionId-providers-Microsoft.EventGrid-topics. operations: - method: GET name: microsoftazuretopicslistbysubscription description: Microsoft Azure List Topics Under An Azure Subscription call: eventgridmanagementclient-topics.microsoftazuretopicslistbysubscription outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-eventgrid/topics name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuretopicslistbyresourcegroup description: Microsoft Azure List Topics Under A Resource Group call: eventgridmanagementclient-topics.microsoftazuretopicslistbyresourcegroup with: resourceGroupName: rest.resourceGroupName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-eventgrid/topics/{topicname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuretopicsget description: Microsoft Azure Get A Topic call: eventgridmanagementclient-topics.microsoftazuretopicsget with: resourceGroupName: rest.resourceGroupName topicName: rest.topicName outputParameters: - type: object mapping: $. - method: PUT name: microsoftazuretopicscreateorupdate description: Microsoft Azure Create A Topic call: eventgridmanagementclient-topics.microsoftazuretopicscreateorupdate with: resourceGroupName: rest.resourceGroupName topicName: rest.topicName topicInfo: rest.topicInfo outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuretopicsdelete description: Microsoft Azure Delete A Topic call: eventgridmanagementclient-topics.microsoftazuretopicsdelete with: resourceGroupName: rest.resourceGroupName topicName: rest.topicName outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazuretopicsupdate description: Microsoft Azure Update A Topic call: eventgridmanagementclient-topics.microsoftazuretopicsupdate with: resourceGroupName: rest.resourceGroupName topicName: rest.topicName topicUpdateParameters: rest.topicUpdateParameters outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-eventgrid/topics/{topicname}/listkeys name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuretopicslistsharedaccesskeys description: Microsoft Azure List Keys For A Topic call: eventgridmanagementclient-topics.microsoftazuretopicslistsharedaccesskeys with: resourceGroupName: rest.resourceGroupName topicName: rest.topicName outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-eventgrid/topics/{topicname}/regeneratekey name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazuretopicsregeneratekey description: Microsoft Azure Regenerate Key For A Topic call: eventgridmanagementclient-topics.microsoftazuretopicsregeneratekey with: resourceGroupName: rest.resourceGroupName topicName: rest.topicName regenerateKeyRequest: rest.regenerateKeyRequest outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/{providernamespace}/{resourcetypename}/{resourcename}/providers/microsoft-eventgrid/eventtypes name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-provider description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-provider. operations: - method: GET name: microsoftazuretopicslisteventtypes description: Microsoft Azure List Topic Event Types call: eventgridmanagementclient-topics.microsoftazuretopicslisteventtypes with: resourceGroupName: rest.resourceGroupName providerNamespace: rest.providerNamespace resourceTypeName: rest.resourceTypeName resourceName: rest.resourceName outputParameters: - type: object mapping: $. - path: /v1/{scope}/providers/microsoft-eventgrid/extensiontopics/default name: scope-providers-microsoft-eventgrid-extensiontopics-default description: REST surface for scope-providers-Microsoft.EventGrid-extensionTopics-default. operations: - method: GET name: microsoftazureextensiontopicsget description: Microsoft Azure Get Properties Of An Extension Topic call: eventgridmanagementclient-topics.microsoftazureextensiontopicsget with: scope: rest.scope outputParameters: - type: object mapping: $. - type: mcp namespace: eventgridmanagementclient-topics-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure EventGridManagementClient — Topics. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-list-topics-under description: Microsoft Azure List Topics Under An Azure Subscription hints: readOnly: true destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicslistbysubscription outputParameters: - type: object mapping: $. - name: microsoft-azure-list-topics-under-2 description: Microsoft Azure List Topics Under A Resource Group hints: readOnly: true destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicslistbyresourcegroup with: resourceGroupName: tools.resourceGroupName outputParameters: - type: object mapping: $. - name: microsoft-azure-get-topic description: Microsoft Azure Get A Topic hints: readOnly: true destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicsget with: resourceGroupName: tools.resourceGroupName topicName: tools.topicName outputParameters: - type: object mapping: $. - name: microsoft-azure-create-topic description: Microsoft Azure Create A Topic hints: readOnly: false destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicscreateorupdate with: resourceGroupName: tools.resourceGroupName topicName: tools.topicName topicInfo: tools.topicInfo outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-topic description: Microsoft Azure Delete A Topic hints: readOnly: false destructive: true idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicsdelete with: resourceGroupName: tools.resourceGroupName topicName: tools.topicName outputParameters: - type: object mapping: $. - name: microsoft-azure-update-topic description: Microsoft Azure Update A Topic hints: readOnly: false destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicsupdate with: resourceGroupName: tools.resourceGroupName topicName: tools.topicName topicUpdateParameters: tools.topicUpdateParameters outputParameters: - type: object mapping: $. - name: microsoft-azure-list-keys-topic description: Microsoft Azure List Keys For A Topic hints: readOnly: true destructive: false idempotent: false call: eventgridmanagementclient-topics.microsoftazuretopicslistsharedaccesskeys with: resourceGroupName: tools.resourceGroupName topicName: tools.topicName outputParameters: - type: object mapping: $. - name: microsoft-azure-regenerate-key-topic description: Microsoft Azure Regenerate Key For A Topic hints: readOnly: false destructive: false idempotent: false call: eventgridmanagementclient-topics.microsoftazuretopicsregeneratekey with: resourceGroupName: tools.resourceGroupName topicName: tools.topicName regenerateKeyRequest: tools.regenerateKeyRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-list-topic-event description: Microsoft Azure List Topic Event Types hints: readOnly: true destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazuretopicslisteventtypes with: resourceGroupName: tools.resourceGroupName providerNamespace: tools.providerNamespace resourceTypeName: tools.resourceTypeName resourceName: tools.resourceName outputParameters: - type: object mapping: $. - name: microsoft-azure-get-properties-extension description: Microsoft Azure Get Properties Of An Extension Topic hints: readOnly: true destructive: false idempotent: true call: eventgridmanagementclient-topics.microsoftazureextensiontopicsget with: scope: tools.scope outputParameters: - type: object mapping: $.