@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api EngagementFabric
@base https://management.azure.com
@version 2018-09-01-preview
@auth OAuth2
@common_fields {api-version: any # API version}
@endpoints 16
@toc subscriptions(15), providers(1)

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}
@desc Get the EngagementFabric account
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}
@desc Create or Update the EngagementFabric account
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name, account: map # The EngagementFabric account description}
@returns(200) OK

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}
@desc Delete the EngagementFabric account
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name}
@returns(200) OK
@returns(204) NoContent

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}
@desc Update EngagementFabric account
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name, accountPatch: map # The account patch}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EngagementFabric/Accounts
@desc List the EngagementFabric accounts in given subscription
@required {subscriptionId: any # Subscription ID}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts
@desc List EngagementFabric accounts in given resource group
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/listKeys
@desc List keys of the EngagementFabric account
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/regenerateKey
@desc Regenerate key of the EngagementFabric account
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name, parameter: map # Parameters specifying the key to be regenerated}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/listChannelTypes
@desc List available EngagementFabric channel types and functions
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name}
@returns(200) OK

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels/{channelName}
@desc Get the EngagementFabric channel
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name, channelName: any # Channel Name}
@returns(200) OK

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels/{channelName}
@desc Create or Update the EngagementFabric channel
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name, channelName: any # Channel Name, channel: map # The EngagementFabric channel description}
@returns(200) OK

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels/{channelName}
@desc Delete the EngagementFabric channel
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name, channelName: any # The EngagementFabric channel name}
@returns(200) OK
@returns(204) NoContent

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/Accounts/{accountName}/Channels
@desc List the EngagementFabric channels
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, accountName: any # Account Name}
@returns(200) OK

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EngagementFabric/checkNameAvailability
@desc Check availability of EngagementFabric resource
@required {subscriptionId: any # Subscription ID, resourceGroupName: any # Resource Group Name, parameters: map # Parameter describing the name to be checked}
@returns(200) OK

@endgroup

@group providers
@endpoint GET /providers/Microsoft.EngagementFabric/operations
@desc List operation of EngagementFabric resources
@returns(200) OK

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.EngagementFabric/skus
@desc List available SKUs of EngagementFabric resource
@required {subscriptionId: any # Subscription ID}
@returns(200) OK

@endgroup

@end
