@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 12
@toc subscriptions(12)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users
@desc Lists a collection of registered users in the specified service instance.
@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 | | state | filter | eq |     | | registrationDate | filter | ge, le, eq, ne, gt, lt |     | | note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | groups | expand |     |     |, expandGroups: any # Detailed Group in response.}
@returns(200) Lists a collection of User entities.

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

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}
@desc Gets the details of the user specified by its identifier.
@returns(200) Gets the specified user entity.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}
@desc Creates or Updates a user.
@required {parameters: any # Create or update parameters.}
@returns(200) User was successfully updated.
@returns(201) User was successfully created.

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

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}
@desc Deletes specific user.
@optional {deleteSubscriptions: any # Whether to delete user's subscription or not., notify: any # Send an Account Closed Email notification to the User.}
@returns(200) The user details were successfully deleted.
@returns(204) The user details were successfully deleted.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/generateSsoUrl
@desc Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.
@returns(200) The response body contains the single sign-on URL.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/groups
@desc Lists all user groups.
@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 |}
@returns(200) Lists a collection of Group entities.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions
@desc Lists the collection of subscriptions of the specified user.
@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 | | stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith | | productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |}
@returns(200) Lists a collection of Subscription entities.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/identities
@desc List of all user identities.
@returns(200) Lists of User Identities.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/token
@desc Gets the Shared Access Authorization Token for the User.
@required {parameters: any # Create Authorization Token parameters.}
@returns(200) The response body contains the authorization token for the user.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/confirmations/password/send
@desc Sends confirmation
@returns(204) Notification successfully sent

@end
