@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Recommendations API Client
@base https://management.azure.com
@version 2018-02-01
@auth OAuth2
@common_fields {subscriptionId: any # Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)., api-version: any # API Version}
@endpoints 15
@toc subscriptions(15)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations
@desc List all recommendations for a subscription.
@optional {featured: any # Specify true to return only the most critical recommendations. The default is false, which returns all recommendations., $filter: any # 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]}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset
@desc Reset all recommendation opt-out settings for a subscription.
@returns(204) No Content

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable
@desc Disables the specified rule so it will not apply to a subscription in the future.
@required {name: any # Rule name}
@returns(200) Successfully disabled recommendations.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory
@desc Get past recommendations for an app, optionally specified by the time range.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., hostingEnvironmentName: any # Name of the hosting environment.}
@optional {expiredOnly: any # Specify false to return all recommendations. The default is true, which returns only expired recommendations., $filter: any # 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]}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations
@desc Get all recommendations for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., hostingEnvironmentName: any # Name of the app.}
@optional {featured: any # Specify true to return only the most critical recommendations. The default is false, which returns all recommendations., $filter: any # Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable
@desc Disable all recommendations for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., environmentName: any # Name of the app., hostingEnvironmentName: any}
@returns(204) No Content

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset
@desc Reset all recommendation opt-out settings for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., environmentName: any # Name of the app., hostingEnvironmentName: any}
@returns(204) No Content

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}
@desc Get a recommendation rule for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., hostingEnvironmentName: any # Name of the hosting environment., name: any # Name of the recommendation.}
@optional {updateSeen: any # Specify true to update the last-seen timestamp of the recommendation object., recommendationId: any # The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable
@desc Disables the specific rule for a web site permanently.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., environmentName: any # Site name, name: any # Rule name, hostingEnvironmentName: any}
@returns(200) Successfully disabled recommendations.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory
@desc Get past recommendations for an app, optionally specified by the time range.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., siteName: any # Name of the app.}
@optional {expiredOnly: any # Specify false to return all recommendations. The default is true, which returns only expired recommendations., $filter: any # 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]}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations
@desc Get all recommendations for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., siteName: any # Name of the app.}
@optional {featured: any # Specify true to return only the most critical recommendations. The default is false, which returns all recommendations., $filter: any # Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable
@desc Disable all recommendations for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., siteName: any # Name of the app.}
@returns(204) No Content

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset
@desc Reset all recommendation opt-out settings for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., siteName: any # Name of the app.}
@returns(204) No Content

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}
@desc Get a recommendation rule for an app.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., siteName: any # Name of the app., name: any # Name of the recommendation.}
@optional {updateSeen: any # Specify true to update the last-seen timestamp of the recommendation object., recommendationId: any # The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable
@desc Disables the specific rule for a web site permanently.
@required {resourceGroupName: any # Name of the resource group to which the resource belongs., siteName: any # Site name, name: any # Rule name}
@returns(200) Successfully disabled recommendations.

@end
