@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api FeatureClient
@base https://management.azure.com
@version 2015-12-01
@auth OAuth2
@common_fields {api-version: any # The API version to use for this operation.}
@endpoints 6
@toc providers(1), subscriptions(5)

@group providers
@endpoint GET /providers/Microsoft.Features/operations
@desc Lists all of the available Microsoft.Features REST API operations.
@returns(200) OK. The request has succeeded.

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Features/features
@desc Gets all the preview features that are available through AFEC for the subscription.
@required {subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns an array containing metadata for each feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features
@desc Gets all the preview features in a provider namespace that are available through AFEC for the subscription.
@required {resourceProviderNamespace: any # The namespace of the resource provider for getting features., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns an array containing metadata for each feature in the resource provider. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}
@desc Gets the preview feature with the specified name.
@required {resourceProviderNamespace: any # The resource provider namespace for the feature., featureName: any # The name of the feature to get., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns metadata about the feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register
@desc Registers the preview feature for the subscription.
@required {resourceProviderNamespace: any # The namespace of the resource provider., featureName: any # The name of the feature to register., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns metadata about the registered feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/unregister
@desc Unregisters the preview feature for the subscription.
@required {resourceProviderNamespace: any # The namespace of the resource provider., featureName: any # The name of the feature to unregister., subscriptionId: any # The ID of the target subscription.}
@returns(200) OK - Returns metadata about the unregistered feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.

@endgroup

@end
