Microsoft Azure Functions Recommendations API

The Recommendations API from Microsoft Azure Functions — 15 operation(s) for recommendations.

Operations 15

GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations List all recommendations for a subscription. #
POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable Disables the specified rule so it will not apply to a subscription in the future. #
POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset Reset all recommendation opt-out settings for a subscription. #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory Get past recommendations for an app, optionally specified by the time range. #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations Get all recommendations for a hosting environment. #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name} Get a recommendation rule for an app. #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable Disables the specific rule for a web site permanently. #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable Disable all recommendations for an app. #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset Reset all recommendation opt-out settings for an app. #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory Get past recommendations for an app, optionally specified by the time range. #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations Get all recommendations for an app. #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name} Get a recommendation rule for an app. #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable Disables the specific rule for a web site permanently. #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable Disable all recommendations for an app. #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset Reset all recommendation opt-out settings for an app. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-azure-functions-recommendations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-azure-functions-recommendations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WebApps API Client AppServiceEnvironments Recommendations API
  version: '2025-05-01'
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
servers:
- url: https://management.azure.com
security:
- azure_auth:
  - user_impersonation
tags:
- name: Recommendations
paths:
  /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations:
    get:
      operationId: Recommendations_List
      tags:
      - Recommendations
      summary: List all recommendations for a subscription.
      description: Description for List all recommendations for a subscription.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - name: featured
        in: query
        description: Specify <code>true</code> to return only the most critical recommendations. The default is <code>false</code>, which returns all recommendations.
        required: false
        schema:
          type: boolean
      - name: $filter
        in: query
        description: 'Filter is specified by using OData syntax. Example: $filter=channel eq ''Api'' or channel eq ''Notification'' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration''[PT1H|PT1M|P1D]'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationCollection'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable:
    post:
      operationId: Recommendations_DisableRecommendationForSubscription
      tags:
      - Recommendations
      summary: Disables the specified rule so it will not apply to a subscription in the future.
      description: Description for Disables the specified rule so it will not apply to a subscription in the future.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - name: name
        in: path
        description: Rule name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset:
    post:
      operationId: Recommendations_ResetAllFilters
      tags:
      - Recommendations
      summary: Reset all recommendation opt-out settings for a subscription.
      description: Description for Reset all recommendation opt-out settings for a subscription.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      responses:
        '204':
          description: 'There is no content to send for this request, but the headers may be useful. '
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory
  : get:
      operationId: Recommendations_ListHistoryForHostingEnvironment
      tags:
      - Recommendations
      summary: Get past recommendations for an app, optionally specified by the time range.
      description: Description for Get past recommendations for an app, optionally specified by the time range.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: hostingEnvironmentName
        in: path
        description: Name of the App Service Environment.
        required: true
        schema:
          type: string
      - name: expiredOnly
        in: query
        description: Specify <code>false</code> to return all recommendations. The default is <code>true</code>, which returns only expired recommendations.
        required: false
        schema:
          type: boolean
      - name: $filter
        in: query
        description: 'Filter is specified by using OData syntax. Example: $filter=channel eq ''Api'' or channel eq ''Notification'' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration''[PT1H|PT1M|P1D]'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationCollection'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations
  : get:
      operationId: Recommendations_ListRecommendedRulesForHostingEnvironment
      tags:
      - Recommendations
      summary: Get all recommendations for a hosting environment.
      description: Description for Get all recommendations for a hosting environment.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: hostingEnvironmentName
        in: path
        description: Name of the App Service Environment.
        required: true
        schema:
          type: string
      - name: featured
        in: query
        description: Specify <code>true</code> to return only the most critical recommendations. The default is <code>false</code>, which returns all recommendations.
        required: false
        schema:
          type: boolean
      - name: $filter
        in: query
        description: 'Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq ''Api'' or channel eq ''Notification'''
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationCollection'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}
  : get:
      operationId: Recommendations_GetRuleDetailsByHostingEnvironment
      tags:
      - Recommendations
      summary: Get a recommendation rule for an app.
      description: Description for Get a recommendation rule for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: hostingEnvironmentName
        in: path
        description: Name of the hosting environment.
        required: true
        schema:
          type: string
      - name: name
        in: path
        description: Name of the recommendation.
        required: true
        schema:
          type: string
      - name: updateSeen
        in: query
        description: Specify <code>true</code> to update the last-seen timestamp of the recommendation object.
        required: false
        schema:
          type: boolean
      - name: recommendationId
        in: query
        description: The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationRule'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable
  : post:
      operationId: Recommendations_DisableRecommendationForHostingEnvironment
      tags:
      - Recommendations
      summary: Disables the specific rule for a web site permanently.
      description: Description for Disables the specific rule for a web site permanently.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: hostingEnvironmentName
        in: path
        description: Name of the hosting environment.
        required: true
        schema:
          type: string
      - name: name
        in: path
        description: Name of the recommendation.
        required: true
        schema:
          type: string
      - name: environmentName
        in: query
        description: Site name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable
  : post:
      operationId: Recommendations_DisableAllForHostingEnvironment
      tags:
      - Recommendations
      summary: Disable all recommendations for an app.
      description: Description for Disable all recommendations for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: hostingEnvironmentName
        in: path
        description: Name of the App Service Environment.
        required: true
        schema:
          type: string
      - name: environmentName
        in: query
        description: Name of the app.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset
  : post:
      operationId: Recommendations_ResetAllFiltersForHostingEnvironment
      tags:
      - Recommendations
      summary: Reset all recommendation opt-out settings for an app.
      description: Description for Reset all recommendation opt-out settings for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: hostingEnvironmentName
        in: path
        description: Name of the App Service Environment.
        required: true
        schema:
          type: string
      - name: environmentName
        in: query
        description: Name of the app.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory
  : get:
      operationId: Recommendations_ListHistoryForWebApp
      tags:
      - Recommendations
      summary: Get past recommendations for an app, optionally specified by the time range.
      description: Description for Get past recommendations for an app, optionally specified by the time range.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: siteName
        in: path
        description: Name of the app.
        required: true
        schema:
          type: string
      - name: expiredOnly
        in: query
        description: Specify <code>false</code> to return all recommendations. The default is <code>true</code>, which returns only expired recommendations.
        required: false
        schema:
          type: boolean
      - name: $filter
        in: query
        description: 'Filter is specified by using OData syntax. Example: $filter=channel eq ''Api'' or channel eq ''Notification'' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration''[PT1H|PT1M|P1D]'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationCollection'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations
  : get:
      operationId: Recommendations_ListRecommendedRulesForWebApp
      tags:
      - Recommendations
      summary: Get all recommendations for an app.
      description: Description for Get all recommendations for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: siteName
        in: path
        description: Name of the app.
        required: true
        schema:
          type: string
      - name: featured
        in: query
        description: Specify <code>true</code> to return only the most critical recommendations. The default is <code>false</code>, which returns all recommendations.
        required: false
        schema:
          type: boolean
      - name: $filter
        in: query
        description: 'Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq ''Api'' or channel eq ''Notification'''
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationCollection'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}
  : get:
      operationId: Recommendations_GetRuleDetailsByWebApp
      tags:
      - Recommendations
      summary: Get a recommendation rule for an app.
      description: Description for Get a recommendation rule for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: siteName
        in: path
        description: Name of the app.
        required: true
        schema:
          type: string
      - name: name
        in: path
        description: Name of the recommendation.
        required: true
        schema:
          type: string
      - name: updateSeen
        in: query
        description: Specify <code>true</code> to update the last-seen timestamp of the recommendation object.
        required: false
        schema:
          type: boolean
      - name: recommendationId
        in: query
        description: The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationRule'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable
  : post:
      operationId: Recommendations_DisableRecommendationForSite
      tags:
      - Recommendations
      summary: Disables the specific rule for a web site permanently.
      description: Description for Disables the specific rule for a web site permanently.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: siteName
        in: path
        description: Name of the app.
        required: true
        schema:
          type: string
      - name: name
        in: path
        description: Name of the recommendation.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable
  : post:
      operationId: Recommendations_DisableAllForWebApp
      tags:
      - Recommendations
      summary: Disable all recommendations for an app.
      description: Description for Disable all recommendations for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: siteName
        in: path
        description: Name of the app.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset
  : post:
      operationId: Recommendations_ResetAllFiltersForWebApp
      tags:
      - Recommendations
      summary: Reset all recommendation opt-out settings for an app.
      description: Description for Reset all recommendation opt-out settings for an app.
      parameters:
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter
      - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter
      - name: siteName
        in: path
        description: Name of the app.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: There is no content to send for this request, but the headers may be useful.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
components:
  schemas:
    Recommendation:
      type: object
      description: Represents a recommendation result generated by the recommendation engine.
      properties:
        properties:
          $ref: '#/components/schemas/RecommendationProperties'
          description: Recommendation resource specific properties
          x-ms-client-flatten: true
      allOf:
      - $ref: '#/components/schemas/ProxyOnlyResource'
    DefaultErrorResponse:
      type: object
      description: App Service error response.
      properties:
        error:
          $ref: '#/components/schemas/DefaultErrorResponseError'
          description: Error model.
          readOnly: true
    ProxyOnlyResource:
      type: object
      description: Azure proxy only resource. This resource is not tracked by Azure Resource Manager.
      properties:
        id:
          type: string
          description: Resource Id.
          readOnly: true
        name:
          type: string
          description: Resource Name.
          readOnly: true
        kind:
          type: string
          description: Kind of resource.
        type:
          type: string
          description: Resource type.
          readOnly: true
    Channels:
      type: string
      description: List of channels that this recommendation can apply.
      enum:
      - Notification
      - Api
      - Email
      - Webhook
      - All
      x-ms-enum:
        name: Channels
        modelAsString: false
    NotificationLevel:
      type: string
      description: Level indicating how critical this recommendation can impact.
      enum:
      - Critical
      - Warning
      - Information
      - NonUrgentSuggestion
      x-ms-enum:
        name: NotificationLevel
        modelAsString: false
    DefaultErrorResponseError:
      type: object
      description: Error model.
      properties:
        code:
          type: string
          description: Standardized string to programmatically identify the error.
          readOnly: true
        message:
          type: string
          description: Detailed error description and debugging information.
          readOnly: true
        target:
          type: string
          description: Detailed error description and debugging information.
          readOnly: true
        details:
          type: array
          items:
            $ref: '#/components/schemas/DefaultErrorResponseErrorDetailsItem'
          x-ms-identifiers: []
        innererror:
          type: string
          description: More information to debug error.
          readOnly: true
    RecommendationRuleProperties:
      type: object
      description: RecommendationRule resource specific properties
      properties:
        recommendationName:
          type: string
          description: Unique name of the rule.
        displayName:
          type: string
          description: UI friendly name of the rule.
        message:
          type: string
          description: Localized name of the rule (Good for UI).
        recommendationId:
          type: string
          format: uuid
          description: 'Recommendation ID of an associated recommendation object tied to the rule, if exists.

            If such an object doesn''t exist, it is set to null.'
        description:
          type: string
          description: Localized detailed description of the rule.
        actionName:
          type: string
          description: Name of action that is recommended by this rule in string.
        level:
          $ref: '#/components/schemas/NotificationLevel'
          description: Level of impact indicating how critical this rule is.
        channels:
          $ref: '#/components/schemas/Channels'
          description: List of available channels that this rule applies.
        categoryTags:
          type: array
          description: The list of category tags that this recommendation rule belongs to.
          items:
            type: string
          readOnly: true
        isDynamic:
          type: boolean
          description: True if this is associated with a dynamically added rule
        extensionName:
          type: string
          description: Extension name of the portal if exists. Applicable to dynamic rule only.
        bladeName:
          type: string
          description: Deep link to a blade on the portal. Applicable to dynamic rule only.
        forwardLink:
          type: string
          description: Forward link to an external document associated with the rule. Applicable to dynamic rule only.
    RecommendationProperties:
      type: object
      description: Recommendation resource specific properties
      properties:
        creationTime:
          type: string
          format: date-time
          description: Timestamp when this instance was created.
        recommendationId:
          type: string
          format: uuid
          description: A GUID value that each recommendation object is associated with.
        resourceId:
          type: string
          description: Full ARM resource ID string that this recommendation object is associated with.
        resourceScope:
          $ref: '#/components/schemas/ResourceScopeType'
          description: Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site.
        ruleName:
          type: string
          description: Unique name of the rule.
        displayName:
          type: string
          description: UI friendly name of the rule (may not be unique).
        message:
          type: string
          description: Recommendation text.
        level:
          $ref: '#/components/schemas/NotificationLevel'
          description: Level indicating how critical this recommendation can impact.
        channels:
          $ref: '#/components/schemas/Channels'
          description: List of channels that this recommendation can apply.
        categoryTags:
          type: array
          description: The list of category tags that this recommendation belongs to.
          items:
            type: string
          readOnly: true
        actionName:
          type: string
          description: Name of action recommended by this object.
        enabled:
          type: integer
          format: int32
          description: True if this recommendation is still valid (i.e. "actionable"). False if it is invalid.
        states:
          type: array
          description: The list of states of this recommendation. If it's null then it should be considered "Active".
          items:
            type: string
        startTime:
          type: string
          format: date-time
          description: The beginning time in UTC of a range that the recommendation refers to.
        endTime:
          type: string
          format: date-time
          description: The end time in UTC of a range that the recommendation refers to.
        nextNotificationTime:
          type: string
          format: date-time
          description: When to notify this recommendation next in UTC. Null means that this will never be notified anymore.
        notificationExpirationTime:
          type: string
          format: date-time
          description: Date and time in UTC when this notification expires.
        notifiedTime:
          type: string
          format: date-time
          description: Last timestamp in UTC this instance was actually notified. Null means that this recommendation hasn't been notified yet.
        score:
          type: number
          format: double
          description: A metric value measured by the rule.
        isDynamic:
          type: boolean
          description: True if this is associated with a dynamically added rule
        extensionName:
          type: string
          description: Extension name of the portal if exists.
        bladeName:
          type: string
          description: Deep link to a blade on the portal.
        forwardLink:
          type: string
          description: Forward link to an external document associated with the rule.
    RecommendationCollection:
      type: object
      description: Collection of recommendations.
      properties:
        value:
          type: array
          description: The Recommendation items on this page
          items:
            $ref: '#/components/schemas/Recommendation'
        nextLink:
          type: string
          format: uri
          description: The link 

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure-functions/refs/heads/main/openapi/microsoft-azure-functions-recommendations-api-openapi.yml