{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Azure NotificationHub client",
    "title": "NotificationHubsManagementClient",
    "version": "2014-09-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2014-09-01/notificationhubs.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "notificationhubs",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json",
    "text/json"
  ],
  "produces": [
    "application/json",
    "text/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "Client Api Version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability": {
      "post": {
        "description": "Checks the availability of the given service namespace across all Windows Azure subscriptions. This is useful because the domain name is created based on the service namespace name.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx"
        },
        "operationId": "Namespaces_CheckAvailability",
        "parameters": [
          {
            "description": "The namespace name.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckAvailabilityParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CheckAvailabilityResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces": {
      "get": {
        "description": "Lists all the available namespaces within the subscription irrespective of the resourceGroups.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx"
        },
        "operationId": "Namespaces_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NamespaceListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces": {
      "get": {
        "description": "Lists the available namespaces within a resourceGroup.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx"
        },
        "operationId": "Namespaces_List",
        "parameters": [
          {
            "description": "The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NamespaceListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}": {
      "delete": {
        "description": "Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj856296.aspx"
        },
        "operationId": "Namespaces_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Returns the description for the specified namespace.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/library/azure/dn140232.aspx"
        },
        "operationId": "Namespaces_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "put": {
        "description": "Creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx"
        },
        "operationId": "Namespaces_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to create a Namespace Resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NamespaceCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules": {
      "post": {
        "description": "Gets the authorization rules for a namespace.",
        "operationId": "Namespaces_ListAuthorizationRules",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": {
      "delete": {
        "description": "Deletes a namespace authorization rule",
        "operationId": "Namespaces_DeleteAuthorizationRule",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Authorization Rule Name.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "post": {
        "description": "Gets an authorization rule for a namespace by name.",
        "operationId": "Namespaces_GetAuthorizationRule",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Authorization rule name.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "put": {
        "description": "Creates an authorization rule for a namespace",
        "operationId": "Namespaces_CreateOrUpdateAuthorizationRule",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Authorization Rule Name.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The shared access authorization rule.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": {
      "post": {
        "description": "Gets the Primary and Secondary ConnectionStrings to the namespace ",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx"
        },
        "operationId": "Namespaces_ListKeys",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The connection string of the namespace for the specified authorizationRule.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceListKeys"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability": {
      "post": {
        "description": "Checks the availability of the given notificationHub in a namespace.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx"
        },
        "operationId": "NotificationHubs_CheckAvailability",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notificationHub name.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckAvailabilityParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CheckAvailabilityResource"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs": {
      "get": {
        "description": "Lists the notification hubs associated with a namespace.",
        "operationId": "NotificationHubs_List",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NotificationHubListResult"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}": {
      "delete": {
        "description": "Deletes a notification hub associated with a namespace.",
        "operationId": "NotificationHubs_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      },
      "get": {
        "description": "Lists the notification hubs associated with a namespace.",
        "operationId": "NotificationHubs_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NotificationHubResource"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      },
      "put": {
        "description": "Creates/Update a NotificationHub in a namespace.",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx"
        },
        "operationId": "NotificationHubs_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create/update a NotificationHub Resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NotificationHubCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NotificationHubResource"
            }
          },
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NotificationHubResource"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules": {
      "post": {
        "description": "Gets the authorization rules for a NotificationHub.",
        "operationId": "NotificationHubs_ListAuthorizationRules",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}": {
      "delete": {
        "description": "Deletes a notificationHub authorization rule",
        "operationId": "NotificationHubs_DeleteAuthorizationRule",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Authorization Rule Name.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "204": {
            "description": ""
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      },
      "post": {
        "description": "Gets an authorization rule for a NotificationHub by name.",
        "operationId": "NotificationHubs_GetAuthorizationRule",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "description": "authorization rule name.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      },
      "put": {
        "description": "Creates/Updates an authorization rule for a NotificationHub",
        "operationId": "NotificationHubs_CreateOrUpdateAuthorizationRule",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Authorization Rule Name.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The shared access authorization rule.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys": {
      "post": {
        "description": "Gets the Primary and Secondary ConnectionStrings to the NotificationHub ",
        "externalDocs": {
          "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx"
        },
        "operationId": "NotificationHubs_ListKeys",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The connection string of the NotificationHub for the specified authorizationRule.",
            "in": "path",
            "name": "authorizationRuleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ResourceListKeys"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials": {
      "post": {
        "description": "Lists the PNS Credentials associated with a notification hub .",
        "operationId": "NotificationHubs_GetPnsCredentials",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The notification hub name.",
            "in": "path",
            "name": "notificationHubName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/NotificationHubResource"
            }
          }
        },
        "tags": [
          "NotificationHubs"
        ]
      }
    },
    "/{operationStatusLink}": {
      "get": {
        "description": "The Get Operation Status operation returns the status of the specified operation. After calling an asynchronous operation, you can call Get Operation Status to determine whether the operation has succeeded, failed, or is still in progress.",
        "operationId": "Namespaces_GetLongRunningOperationStatus",
        "parameters": [
          {
            "description": "Location value returned by the Begin operation.",
            "in": "path",
            "name": "operationStatusLink",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "202": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    }
  },
  "definitions": {
    "AdmCredential": {
      "description": "Description of a NotificationHub AdmCredential.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/AdmCredentialProperties",
          "description": "Gets or sets properties of NotificationHub AdmCredential."
        }
      }
    },
    "AdmCredentialProperties": {
      "description": "Description of a NotificationHub AdmCredential.",
      "properties": {
        "authTokenUrl": {
          "description": "Gets or sets the URL of the authorization token.",
          "type": "string"
        },
        "clientId": {
          "description": "Gets or sets the client identifier.",
          "type": "string"
        },
        "clientSecret": {
          "description": "Gets or sets the credential secret access key.",
          "type": "string"
        }
      }
    },
    "ApnsCredential": {
      "description": "Description of a NotificationHub ApnsCredential.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ApnsCredentialProperties",
          "description": "Gets or sets properties of NotificationHub ApnsCredential."
        }
      }
    },
    "ApnsCredentialProperties": {
      "description": "Description of a NotificationHub ApnsCredential.",
      "properties": {
        "apnsCertificate": {
          "description": "Gets or sets the APNS certificate.",
          "type": "string"
        },
        "certificateKey": {
          "description": "Gets or sets the certificate key.",
          "type": "string"
        },
        "endpoint": {
          "description": "Gets or sets the endpoint of this credential.",
          "type": "string"
        },
        "thumbprint": {
          "description": "Gets or sets the Apns certificate Thumbprint",
          "type": "string"
        }
      }
    },
    "BaiduCredential": {
      "description": "Description of a NotificationHub BaiduCredential.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/BaiduCredentialProperties",
          "description": "Gets or sets properties of NotificationHub BaiduCredential."
        }
      }
    },
    "BaiduCredentialProperties": {
      "description": "Description of a NotificationHub BaiduCredential.",
      "properties": {
        "baiduApiKey": {
          "description": "Get or Set Baidu Api Key.",
          "type": "string"
        },
        "baiduEndPoint": {
          "description": "Get or Set Baidu Endpoint.",
          "type": "string"
        },
        "baiduSecretKey": {
          "description": "Get or Set Baidu Secret Key",
          "type": "string"
        }
      }
    },
    "CheckAvailabilityParameters": {
      "description": "Parameters supplied to the Check Name Availability for Namespace and NotificationHubs.",
      "properties": {
        "isAvailiable": {
          "description": "Gets or sets true if the name is available and can be used to create new Namespace/NotificationHub. Otherwise false.",
          "type": "boolean"
        },
        "location": {
          "description": "Gets or sets location.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets name",
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets tags.",
          "type": "object"
        }
      },
      "required": [
        "name"
      ]
    },
    "CheckAvailabilityResource": {
      "description": "Description of a CheckAvailability resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the id",
          "type": "string"
        },
        "isAvailiable": {
          "description": "Gets or sets true if the name is available and can be used to create new Namespace/NotificationHub. Otherwise false.",
          "type": "boolean"
        },
        "location": {
          "description": "Gets or sets datacenter location",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets name",
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets tags",
          "type": "object"
        },
        "type": {
          "description": "Gets or sets resource type",
          "type": "string"
        }
      }
    },
    "GcmCredential": {
      "description": "Description of a NotificationHub GcmCredential.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/GcmCredentialProperties",
          "description": "Gets or sets properties of NotificationHub GcmCredential."
        }
      }
    },
    "GcmCredentialProperties": {
      "description": "Description of a NotificationHub GcmCredential.",
      "properties": {
        "gcmEndpoint": {
          "description": "Gets or sets the GCM endpoint.",
          "type": "string"
        },
        "googleApiKey": {
          "description": "Gets or sets the Google API key.",
          "type": "string"
        }
      }
    },
    "MpnsCredential": {
      "description": "Description of a NotificationHub MpnsCredential.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/MpnsCredentialProperties",
          "description": "Gets or sets properties of NotificationHub MpnsCredential."
        }
      }
    },
    "MpnsCredentialProperties": {
      "description": "Description of a NotificationHub MpnsCredential.",
      "properties": {
        "certificateKey": {
          "description": "Gets or sets the certificate key for this credential.",
          "type": "string"
        },
        "mpnsCertificate": {
          "description": "Gets or sets the MPNS certificate.",
          "type": "string"
        },
        "thumbprint": {
          "description": "Gets or sets the Mpns certificate Thumbprint",
          "type": "string"
        }
      }
    },
    "NamespaceCreateOrUpdateParameters": {
      "description": "Parameters supplied to the CreateOrUpdate Namespace operation.",
      "properties": {
        "location": {
          "description": "Gets or sets Namespace data center location.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NamespaceProperties",
          "description": "Gets or sets properties of the Namespace."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets Namespace tags.",
          "type": "object"
        }
      },
      "required": [
        "location",
        "properties"
      ]
    },
    "NamespaceListResult": {
      "description": "The response of the List Namespace operation.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets link to the next set of results. Not empty if Value contains incomplete list of Namespaces",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets result of the List Namespace operation.",
          "items": {
            "$ref": "#/definitions/NamespaceResource"
          },
          "type": "array"
        }
      }
    },
    "NamespaceProperties": {
      "description": "Namespace properties.",
      "properties": {
        "createdAt": {
          "description": "The time the namespace was created.",
          "format": "date-time",
          "type": "string"
        },
        "critical": {
          "description": "Whether or not the namespace is set as Critical.",
          "type": "boolean"
        },
        "enabled": {
          "description": "Whether or not the namespace is currently enabled.",
          "type": "boolean"
        },
        "name": {
          "description": "The name of the namespace.",
          "type": "string"
        },
        "namespaceType": {
          "description": "Gets or sets the namespace type.",
          "enum": [
            "Messaging",
            "NotificationHub"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "NamespaceType"
          }
        },
        "provisioningState": {
          "description": "Gets or sets provisioning state of the Namespace.",
          "type": "string"
        },
        "region": {
          "description": "Specifies the targeted region in which the namespace should be created. It can be any of the following values: Australia East, Australia Southeast, Central US, East US, East US 2, West US, North Central US, South Central US, East Asia, Southeast Asia, Brazil South, Japan East, Japan West, North Europe, West Europe",
          "externalDocs": {
            "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx"
          },
          "type": "string"
        },
        "scaleUnit": {
          "description": "ScaleUnit where the namespace gets created",
          "type": "string"
        },
        "serviceBusEndpoint": {
          "description": "Endpoint you can use to perform NotificationHub operations.",
          "externalDocs": {
            "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx"
          },
          "type": "string"
        },
        "status": {
          "description": "Status of the namespace. It can be any of these values:1 = Created/Active2 = Creating3 = Suspended4 = Deleting",
          "externalDocs": {
            "url": "http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx"
          },
          "type": "string"
        },
        "subscriptionId": {
          "description": "The Id of the Azure subscription associated with the namespace.",
          "type": "string"
        }
      }
    },
    "NamespaceResource": {
      "description": "Description of a Namespace resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the id of the created Namespace.",
          "type": "string"
        },
        "location": {
          "description": "Gets or sets datacenter location of the Namespace.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets name of the Namespace.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NamespaceProperties",
          "description": "Gets or sets properties of the Namespace."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets tags of the Namespace.",
          "type": "object"
        },
        "type": {
          "description": "Gets or sets resource type of the Namespace.",
          "type": "string"
        }
      }
    },
    "NotificationHubCreateOrUpdateParameters": {
      "description": "Parameters supplied to the CreateOrUpdate NotificationHub operation.",
      "properties": {
        "location": {
          "description": "Gets or sets NotificationHub data center location.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NotificationHubProperties",
          "description": "Gets or sets properties of the NotificationHub."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets NotificationHub tags.",
          "type": "object"
        }
      },
      "required": [
        "location",
        "properties"
      ]
    },
    "NotificationHubListResult": {
      "description": "The response of the List NotificationHub operation.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets link to the next set of results. Not empty if Value contains incomplete list of NotificationHub",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets result of the List NotificationHub operation.",
          "items": {
            "$ref": "#/definitions/NotificationHubResource"
          },
          "type": "array"
        }
      }
    },
    "NotificationHubProperties": {
      "description": "NotificationHub properties.",
      "properties": {
        "admCredential": {
          "$ref": "#/definitions/AdmCredential",
          "description": "The AdmCredential of the created NotificationHub"
        },
        "apnsCredential": {
          "$ref": "#/definitions/ApnsCredential",
          "description": "The ApnsCredential of the created NotificationHub"
        },
        "authorizationRules": {
          "description": "The AuthorizationRules of the created NotificationHub",
          "items": {
            "$ref": "#/definitions/SharedAccessAuthorizationRuleProperties"
          },
          "type": "array"
        },
        "baiduCredential": {
          "$ref": "#/definitions/BaiduCredential",
          "description": "The BaiduCredential of the created NotificationHub"
        },
        "gcmCredential": {
          "$ref": "#/definitions/GcmCredential",
          "description": "The GcmCredential of the created NotificationHub"
        },
        "mpnsCredential": {
          "$ref": "#/definitions/MpnsCredential",
          "description": "The MpnsCredential of the created NotificationHub"
        },
        "name": {
          "description": "The NotificationHub name.",
          "type": "string"
        },
        "registrationTtl": {
          "description": "The RegistrationTtl of the created NotificationHub",
          "type": "string"
        },
        "wnsCredential": {
          "$ref": "#/definitions/WnsCredential",
          "description": "The WnsCredential of the created NotificationHub"
        }
      }
    },
    "NotificationHubResource": {
      "description": "Description of a NotificationHub Resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the id of the created NotificationHub.",
          "type": "string"
        },
        "location": {
          "description": "Gets or sets datacenter location of the NotificationHub.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets name of the NotificationHub.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NotificationHubProperties",
          "description": "Gets or sets properties of the NotificationHub."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets tags of the NotificationHub.",
          "type": "object"
        },
        "type": {
          "description": "Gets or sets resource type of the NotificationHub.",
          "type": "string"
        }
      }
    },
    "Resource": {
      "properties": {
        "id": {
          "description": "Resource Id",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Resource location",
          "type": "string"
        },
        "name": {
          "description": "Resource name",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags",
          "type": "object"
        },
        "type": {
          "description": "Resource type",
          "readOnly": true,
          "type": "string"
        }
      },
      "required": [
        "location"
      ],
      "x-ms-azure-resource": true
    },
    "ResourceListKeys": {
      "description": "Namespace/NotificationHub Connection String",
      "properties": {
        "primaryConnectionString": {
          "description": "Gets or sets the primaryConnectionString of the created Namespace AuthorizationRule.",
          "type": "string"
        },
        "secondaryConnectionString": {
          "description": "Gets or sets the secondaryConnectionString of the created Namespace AuthorizationRule",
          "type": "string"
        }
      }
    },
    "SharedAccessAuthorizationRuleCreateOrUpdateParameters": {
      "description": "Parameters supplied to the CreateOrUpdate Namespace AuthorizationRules.",
      "properties": {
        "location": {
          "description": "Gets or sets Namespace data center location.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets Name of the Namespace AuthorizationRule.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/SharedAccessAuthorizationRuleProperties",
          "description": "Gets or sets properties of the Namespace AuthorizationRules."
        }
      },
      "required": [
        "properties"
      ]
    },
    "SharedAccessAuthorizationRuleListResult": {
      "description": "The response of the List Namespace operation.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets link to the next set of results. Not empty if Value contains incomplete list of AuthorizationRules",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets result of the List AuthorizationRules operation.",
          "items": {
            "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
          },
          "type": "array"
        }
      }
    },
    "SharedAccessAuthorizationRuleProperties": {
      "description": "SharedAccessAuthorizationRule properties.",
      "properties": {
        "claimType": {
          "description": "The type of the claim.",
          "type": "string"
        },
        "claimValue": {
          "description": "The value of the claim.",
          "type": "string"
        },
        "createdTime": {
          "description": "The time at which the authorization rule was created.",
          "format": "date-time",
          "type": "string"
        },
        "keyName": {
          "description": "The name of the key that was used.",
          "type": "string"
        },
        "modifiedTime": {
          "description": "The most recent time the rule was updated.",
          "format": "date-time",
          "type": "string"
        },
        "primaryKey": {
          "description": "The primary key that was used.",
          "type": "string"
        },
        "revision": {
          "description": "The revision number for the rule.",
          "format": "int32",
          "type": "integer"
        },
        "rights": {
          "description": "The rights associated with the rule.",
          "items": {
            "enum": [
              "Manage",
              "Send",
              "Listen"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "AccessRights"
            }
          },
          "type": "array"
        },
        "secondaryKey": {
          "description": "The secondary key that was used.",
          "type": "string"
        }
      }
    },
    "SharedAccessAuthorizationRuleResource": {
      "description": "Description of a Namespace AuthorizationRules.",
      "properties": {
        "id": {
          "description": "Gets or sets the id of the created Namespace AuthorizationRules.",
          "type": "string"
        },
        "location": {
          "description": "Gets or sets datacenter location of the Namespace AuthorizationRules.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets name of the Namespace AuthorizationRules.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/SharedAccessAuthorizationRuleProperties",
          "description": "Gets or sets properties of the Namespace."
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets tags of the Namespace AuthorizationRules.",
          "type": "object"
        },
        "type": {
          "description": "Gets or sets resource type of the Namespace AuthorizationRules.",
          "type": "string"
        }
      }
    },
    "SubResource": {
      "properties": {
        "id": {
          "description": "Resource Id",
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "WnsCredential": {
      "description": "Description of a NotificationHub WnsCredential.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/WnsCredentialProperties",
          "description": "Gets or sets properties of NotificationHub WnsCredential."
        }
      }
    },
    "WnsCredentialProperties": {
      "description": "Description of a NotificationHub WnsCredential.",
      "properties": {
        "packageSid": {
          "description": "Gets or sets the package ID for this credential.",
          "type": "string"
        },
        "secretKey": {
          "description": "Gets or sets the secret key.",
          "type": "string"
        },
        "windowsLiveEndpoint": {
          "description": "Gets or sets the Windows Live endpoint.",
          "type": "string"
        }
      }
    }
  }
}