# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Namespaces API version: 1.0.0 extends: openapi/microsoft-azure-namespaces-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 20 - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability'].post update: x-apievangelist-phrasing: intent: Check if a Notification Hubs namespace name is free effect: read questions: - Is the notification hub namespace name I want still available across Azure? - Can I check a namespace name before trying to create it for push notifications? instructions: - text: Check whether the notification hubs namespace name {name} is available. slots: name: requestBody.name - text: See if {name} can be used as a new Notification Hubs namespace in {location}. slots: name: requestBody.name location: requestBody.location method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}'].get update: x-apievangelist-phrasing: intent: Get a notification hubs namespace effect: read questions: - What are the settings and status of my notification hubs namespace? - Where can I see the SKU and properties of one push notification namespace? instructions: - text: Show me the details of notification hubs namespace {namespaceName}. slots: namespaceName: path.namespaceName - text: Fetch namespace {namespaceName} and tell me its SKU. slots: namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}'].put update: x-apievangelist-phrasing: intent: Create or replace a notification hubs namespace effect: write questions: - How do I set up a new namespace to hold my notification hubs? - Is creating a Notification Hubs namespace safe to repeat with the same settings? instructions: - text: Create notification hubs namespace {namespaceName} on the {sku} tier. slots: namespaceName: path.namespaceName sku: requestBody.sku - text: 'Provision namespace {namespaceName} with SKU {sku} and these properties: {properties}.' slots: namespaceName: path.namespaceName sku: requestBody.sku properties: requestBody.properties method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}'].delete update: x-apievangelist-phrasing: intent: Delete a namespace and its notification hubs effect: destructive questions: - What happens to my notification hubs when I delete their namespace? - Can I tear down an entire push notification namespace at once? instructions: - text: Delete notification hubs namespace {namespaceName} along with all of its hubs. slots: namespaceName: path.namespaceName - text: Remove namespace {namespaceName} permanently. slots: namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}'].patch update: x-apievangelist-phrasing: intent: Patch an existing notification hubs namespace effect: write questions: - Can I change the tags or SKU of an existing namespace without recreating it? - How do I patch just a few fields on a notification hubs namespace? instructions: - text: Patch namespace {namespaceName} with tags {tags}. slots: namespaceName: path.namespaceName tags: requestBody.tags - text: Change the SKU of existing namespace {namespaceName} to {sku}. slots: namespaceName: path.namespaceName sku: requestBody.sku method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces'].get update: x-apievangelist-phrasing: intent: List all notification hubs namespaces in a subscription effect: read questions: - Which notification hubs namespaces exist anywhere in my Azure subscription? - Can I page through every namespace across all resource groups? instructions: - text: List every notification hubs namespace in my subscription. - text: Show the first {top} namespaces across the whole subscription. slots: top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces'].get update: x-apievangelist-phrasing: intent: List notification hubs namespaces in a resource group effect: read questions: - What notification hubs namespaces live in one particular resource group? - How can I limit the namespace listing to a single resource group? instructions: - text: List the notification hubs namespaces in this resource group. - text: Show up to {top} namespaces from the current resource group. slots: top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}'].get update: x-apievangelist-phrasing: intent: Get a namespace access rule (lowercase path) effect: read questions: - How do I read one shared access rule on a namespace via the lowercase authorizationRules route? - What rights does a named namespace authorization rule grant, per the RP client definition? instructions: - text: Using the lowercase authorizationRules route, get rule {authorizationRuleName} on namespace {namespaceName}. slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'RP client: show access rule {authorizationRuleName} of namespace {namespaceName}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}'].put update: x-apievangelist-phrasing: intent: Create a namespace access rule (lowercase path) effect: write questions: - Can I add a shared access policy to a namespace through the lowercase authorizationRules route? - Which call in the RP client definition creates a namespace authorization rule? instructions: - text: Via the lowercase authorizationRules route, create rule {authorizationRuleName} on namespace {namespaceName}. slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'RP client: add access rule {authorizationRuleName} to {namespaceName} with rights {properties}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName properties: requestBody.properties method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}'].delete update: x-apievangelist-phrasing: intent: Delete a namespace access rule (lowercase path) effect: destructive questions: - How do I remove a namespace shared access policy using the RP client definition? - Can a namespace authorization rule be deleted through the lowercase authorizationRules route? instructions: - text: Via the lowercase authorizationRules route, delete rule {authorizationRuleName} from namespace {namespaceName}. slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'RP client: revoke access rule {authorizationRuleName} on {namespaceName}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules'].get update: x-apievangelist-phrasing: intent: List namespace access rules (lowercase path) effect: read questions: - Which shared access rules are on my namespace, via the RP client's lowercase route? - Can I enumerate all namespace authorization rules from the RP client definition? instructions: - text: Via the lowercase authorizationRules route, list all rules on namespace {namespaceName}. slots: namespaceName: path.namespaceName - text: 'RP client: show every access policy defined on {namespaceName}.' slots: namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys'].post update: x-apievangelist-phrasing: intent: Get namespace connection strings (lowercase path) effect: read questions: - Where do I get the namespace connection strings through the RP client's lowercase route? - Can I read primary and secondary keys of a namespace rule from the RP client definition? instructions: - text: Via the lowercase authorizationRules route, list keys for rule {authorizationRuleName} on {namespaceName}. slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'RP client: give me the connection strings of namespace {namespaceName} rule {authorizationRuleName}.' slots: namespaceName: path.namespaceName authorizationRuleName: path.authorizationRuleName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys'].post update: x-apievangelist-phrasing: intent: Regenerate a namespace rule key (lowercase path) effect: destructive questions: - How do I rotate a namespace key using the RP client's lowercase route, which requires naming the key? - Can I regenerate only the secondary key of a namespace rule through the RP client definition? instructions: - text: Via the lowercase authorizationRules route, regenerate the {policyKey} of rule {authorizationRuleName} on {namespaceName}. slots: policyKey: requestBody.policyKey authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'RP client: rotate key {policyKey} for namespace {namespaceName} rule {authorizationRuleName}.' slots: policyKey: requestBody.policyKey namespaceName: path.namespaceName authorizationRuleName: path.authorizationRuleName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/pnsCredentials'].post update: x-apievangelist-phrasing: intent: List push credentials configured on a namespace effect: read questions: - What platform notification service credentials are set on my namespace? - Can I see which APNs or FCM credentials a notification hubs namespace uses? instructions: - text: List the PNS credentials for namespace {namespaceName}. slots: namespaceName: path.namespaceName - text: Show the push platform credentials attached to {namespaceName}. slots: namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}'].get update: x-apievangelist-phrasing: intent: Get a namespace access rule in a resource group effect: read questions: - How do I fetch a namespace authorization rule when I know its resource group, using the management client? - Which management client call returns one AuthorizationRules entry of a namespace? instructions: - text: In resource group {resourceGroupName}, get AuthorizationRules entry {authorizationRuleName} of namespace {namespaceName}. slots: resourceGroupName: path.resourceGroupName authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'Management client: look up rule {authorizationRuleName} on {namespaceName} in {resourceGroupName}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName resourceGroupName: path.resourceGroupName - text: 'Management client, subscription {subscriptionId}: read AuthorizationRules entry {authorizationRuleName} of {namespaceName}.' slots: subscriptionId: path.subscriptionId authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}'].put update: x-apievangelist-phrasing: intent: Create a namespace access rule in a resource group effect: write questions: - How do I add a shared access policy to a namespace in a given resource group with the management client? - Does the management client require rule properties when creating a namespace AuthorizationRules entry? instructions: - text: In resource group {resourceGroupName}, create AuthorizationRules entry {authorizationRuleName} on {namespaceName} with {properties}. slots: resourceGroupName: path.resourceGroupName authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName properties: requestBody.properties - text: 'Management client: add rule {authorizationRuleName} to namespace {namespaceName} in {resourceGroupName} with rights {properties}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName resourceGroupName: path.resourceGroupName properties: requestBody.properties - text: 'Management client, subscription {subscriptionId}: set up AuthorizationRules entry {authorizationRuleName} on {namespaceName}.' slots: subscriptionId: path.subscriptionId authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}'].delete update: x-apievangelist-phrasing: intent: Delete a namespace access rule in a resource group effect: destructive questions: - How do I delete a namespace shared access policy in a specific resource group via the management client? - Which management client call removes a namespace AuthorizationRules entry? instructions: - text: In resource group {resourceGroupName}, delete AuthorizationRules entry {authorizationRuleName} from {namespaceName}. slots: resourceGroupName: path.resourceGroupName authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'Management client: drop rule {authorizationRuleName} on namespace {namespaceName} in {resourceGroupName}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName resourceGroupName: path.resourceGroupName - text: 'Management client, subscription {subscriptionId}: remove AuthorizationRules entry {authorizationRuleName} from {namespaceName}.' slots: subscriptionId: path.subscriptionId authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules'].get update: x-apievangelist-phrasing: intent: List namespace access rules in a resource group effect: read questions: - What AuthorizationRules exist on a namespace in a given resource group, per the management client? - Can I list namespace access policies through the management client definition? instructions: - text: In resource group {resourceGroupName}, list AuthorizationRules on namespace {namespaceName}. slots: resourceGroupName: path.resourceGroupName namespaceName: path.namespaceName - text: 'Management client: enumerate access rules of {namespaceName} in {resourceGroupName}.' slots: namespaceName: path.namespaceName resourceGroupName: path.resourceGroupName - text: 'Management client, subscription {subscriptionId}: list the AuthorizationRules of {namespaceName}.' slots: subscriptionId: path.subscriptionId namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys'].post update: x-apievangelist-phrasing: intent: Get namespace connection strings in a resource group effect: read questions: - Where do I get primary and secondary namespace connection strings with the management client? - Can I read the keys of a namespace AuthorizationRules entry in a known resource group? instructions: - text: In resource group {resourceGroupName}, list keys for AuthorizationRules entry {authorizationRuleName} on {namespaceName}. slots: resourceGroupName: path.resourceGroupName authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'Management client: return connection strings of rule {authorizationRuleName} on {namespaceName} in {resourceGroupName}.' slots: authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName resourceGroupName: path.resourceGroupName - text: 'Management client, subscription {subscriptionId}: fetch keys of AuthorizationRules entry {authorizationRuleName} on {namespaceName}.' slots: subscriptionId: path.subscriptionId authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26' - target: $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys'].post update: x-apievangelist-phrasing: intent: Regenerate a namespace rule key in a resource group effect: destructive questions: - How do I rotate namespace AuthorizationRules keys through the management client? - Is naming the key optional when regenerating a namespace rule key via the management client? instructions: - text: In resource group {resourceGroupName}, regenerate keys for AuthorizationRules entry {authorizationRuleName} on {namespaceName}. slots: resourceGroupName: path.resourceGroupName authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName - text: 'Management client: rotate the {policyKey} of rule {authorizationRuleName} on {namespaceName} in {resourceGroupName}.' slots: policyKey: requestBody.policyKey authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName resourceGroupName: path.resourceGroupName - text: 'Management client, subscription {subscriptionId}: regenerate keys of AuthorizationRules entry {authorizationRuleName} on {namespaceName}.' slots: subscriptionId: path.subscriptionId authorizationRuleName: path.authorizationRuleName namespaceName: path.namespaceName method: generated generated: '2026-09-26'