Deploy Microsoft Web IQ with the Azure CLI

The steps below sign you in to Azure, register the Web IQ resource provider, create the account, retrieve its resource ID, and check its billing cost. Run all the commands in PowerShell, because the request bodies are built as PowerShell objects and converted to JSON. Before you run them, replace the placeholder values for the subscription ID, resource group, and account name with your own.

To deploy Web IQ from your browser instead, see Deploy Microsoft Web IQ with the Azure portal.

Prerequisites

  • An Azure subscription where you can create resources. Web IQ requires a paid Azure subscription. Azure credits don't work for Web IQ.
  • The Azure CLI and PowerShell.

Create a Web IQ account

This step signs you in to Azure, selects the subscription where the account will be created, and registers the Microsoft.WebIQ resource provider. Registering the provider makes the Web IQ resource type available in your subscription and only needs to be done once per subscription. The registration command waits until the provider is fully registered before it returns.

az login

$subscriptionId = "<subscription-id>"
$resourceGroup = "<resource-group>"
$accountName = "<globally-unique-account-name>"
$apiVersion = "2026-06-01-preview"

az account set --subscription $subscriptionId
az provider register --namespace Microsoft.WebIQ --wait

The account is then created from a definition that is built as a PowerShell object and converted to JSON. The command passes this JSON as the complete resource definition. In this example the account uses the global location, the WebIQ.Grounding kind, and the G3 SKU, with statisticsEnabled set to false. The API version identifies the Microsoft.WebIQ revision used for the deployment, so use the same value in the later commands.

$account = @{
  location = "global"
  kind = "WebIQ.Grounding"
  sku = @{
    name = "G3"
  }
  properties = @{
    statisticsEnabled = $false
  }
} | ConvertTo-Json -Depth 10 -Compress

az resource create `
  --resource-group $resourceGroup `
  --name $accountName `
  --resource-type "Microsoft.WebIQ/accounts" `
  --api-version $apiVersion `
  --is-full-object `
  --properties $account

Get the resource ID

After the account is created, retrieve its resource ID. The resource ID is the account's unique path in Azure, and you use it to reference the account in later operations, including the cost query in the next section. This command looks up the account by name and returns only its ID value.

$resourceId = az resource show `
  --resource-group $resourceGroup `
  --name $accountName `
  --resource-type "Microsoft.WebIQ/accounts" `
  --api-version $apiVersion `
  --query id `
  --output tsv

$resourceId

Check Azure billing cost

This step checks how much the account has cost. It builds a date range that covers the last 30 days and then requests the daily cost, using the PreTaxCost measure, filtered to the resource ID from the previous section.

The request is sent to Azure Cost Management. Because it targets Cost Management rather than the Web IQ provider, this call uses its own API version, which is different from the one used to create the account. Cost data can take some time to appear after an account is first created, so a new account may show little or no cost for the current period.

$from = (Get-Date).AddDays(-30).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
$to = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")

$query = @{
  type = "ActualCost"
  timeframe = "Custom"
  timePeriod = @{
    from = $from
    to = $to
  }
  dataset = @{
    granularity = "Daily"
    aggregation = @{
      totalCost = @{
        name = "PreTaxCost"
        function = "Sum"
      }
    }
    filter = @{
      dimensions = @{
        name = "ResourceId"
        operator = "In"
        values = @($resourceId)
      }
    }
  }
} | ConvertTo-Json -Depth 10 -Compress

az rest `
  --method post `
  --url "https://management.azure.com/subscriptions/${subscriptionId}/providers/Microsoft.CostManagement/query?api-version=2025-03-01" `
  --body $query `
  --output json

Troubleshooting

This section lists common errors you might see when you create the Web IQ account, and how to resolve them. If a command fails, read the full error text that the Azure CLI returns, because it usually names the exact cause and the action to take.

Web IQ is not enabled for your subscription

Web IQ must be enabled for your Azure subscription before you can deploy the resource. If it isn't, account creation fails with an error stating that the feature is not enabled for the selected subscription.

To resolve it, contact your Microsoft account representative or sales executive to request access. Once your subscription is enabled, run the account creation command again.

The API version is not valid

The api-version value must be a revision that the Microsoft.WebIQ provider supports. This guide uses 2026-06-01-preview. If you pass a version the provider does not support, the command fails, and Azure usually lists the supported versions in the error message. To see which versions the provider supports, run:

az provider show --namespace Microsoft.WebIQ --query "resourceTypes[?resourceType=='accounts'].apiVersions" --output tsv

Use one of the versions the command returns (2026-06-01-preview for this guide), and use the same value in every Web IQ command so the request and the response match.

After deployment

After deployment, sign up or sign in to the Web IQ portal, connect your resource ID, and create the API keys. New Web IQ resources start with a default rate limit of 15 queries per second (QPS); your current limit is shown in the Web IQ portal. Your use of Web IQ is subject to the Web IQ Terms of Use. Please review them before you begin.