@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api ApiManagementClient
@base https://management.azure.com
@version 2019-12-01-preview
@auth OAuth2
@endpoints 10
@toc subscriptions(10)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups
@desc Lists a collection of groups defined within a service instance.
@optional {$filter: any # |   Field     |     Usage     |     Supported operators     |     Supported functions     ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | aadObjectId | filter | eq |     |}
@returns(200) Lists a collection of Group entities.

@endpoint HEAD /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}
@desc Gets the entity state (Etag) version of the group specified by its identifier.
@returns(200) Specified group entity exists and current entity state version is present in the ETag header.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}
@desc Gets the details of the group specified by its identifier.
@returns(200) The response body contains the specified Group entity.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}
@desc Creates or Updates a group.
@required {parameters: any # Create parameters.}
@returns(200) Group already exists.
@returns(201) Group was created successfully.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}
@desc Updates the details of the group specified by its identifier.
@required {parameters: any # Update parameters.}
@returns(204) The group details were successfully updated.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}
@desc Deletes specific group of the API Management service instance.
@returns(200) The group was successfully deleted.
@returns(204) The group was successfully deleted.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users
@desc Lists a collection of user entities associated with the group.
@optional {$filter: any # |   Field     |     Usage     |     Supported operators     |     Supported functions     ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | registrationDate | filter | ge, le, eq, ne, gt, lt |     | | note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |}
@returns(200) Lists a collection of user entities associated with the group.

@endpoint HEAD /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}
@desc Checks that user entity specified by identifier is associated with the group entity.
@returns(204) Entity exists
@errors {404: Entity does not exists.}

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}
@desc Add existing user to existing group
@returns(200) The specified user is already a member of the specified group.
@returns(201) The user was successfully added to the group.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}
@desc Remove existing user from existing group.
@returns(200) The user was successfully removed from the group.
@returns(204) The user was successfully removed from the group.

@end
