=head1 NAME

 Imgur::API::Endpoint::Account

=head1 DESCRIPTION

 Access to the imgur Account API Endpoint. 

 See: https://api.imgur.com/endpoints/account

=cut

=head1 METHODS
 
=head2 get

  Request standard user information. If you need the username for the account that is logged in, it is returned in the request for an access token. Note: This endpoint also supports the ability to lookup account base info by account ID. To do so, pass the query parameter account_id. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 galleryFavorites

 Return the images the user has favorited in the gallery.

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<page> I<optional>

 integer - allows you to set the page number so you don't have to retrieve all the data at once.

=item *
 C<sort> I<optional>

 'oldest', or 'newest'. Defaults to 'newest'.

=cut

=head2 favorites

 Returns the users favorited images, only accessible if you're logged in as the user.

B<Parameters>

=item *
 C<sort> I<optional>

 'oldest', or 'newest'. Defaults to 'newest'.

=item *
 C<page> I<optional>

 integer - allows you to set the page number so you don't have to retrieve all the data at once.

=item *
 C<username> I<required>

 Username

=cut

=head2 submissions

 Return the images a user has submitted to the gallery

B<Parameters>

=item *
 C<page> I<required>

 Page

=item *
 C<username> I<required>

 Username

=cut

=head2 settings

 Returns the account settings, only accessible if you're logged in as the user.

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 updateSettings

 Updates the account settings for a given user, the user must be logged in.

B<Parameters>

=item *
 C<accepted_gallery_terms> I<optional>

 true | false - The user agreement to the Imgur Gallery terms.

=item *
 C<messaging_enabled> I<optional>

 true | false - Allows the user to enable / disable private messages

=item *
 C<show_mature> I<optional>

 true | false - Toggle display of mature images in gallery list endpoints.

=item *
 C<album_privacy> I<optional>

 public | hidden | secret - Sets the default privacy level of albums the users creates

=item *
 C<username> I<optional>

 A valid Imgur username (between 4 and 63 alphanumeric characters)

=item *
 C<newsletter_subscribed> I<optional>

 true | false - Toggle subscription to email newsletter.

=item *
 C<public_images> I<optional>

 Set the users images to private or public by default

=item *
 C<bio> I<optional>

 The biography of the user, is displayed in the gallery profile page.

=cut

=head2 profile

 Returns the totals for the gallery profile.

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 verifyEmail

 Checks to see if user has verified their email address

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 sendVerifyEmail

 Sends an email to the user to verify that their email is valid to upload to gallery. Must be logged in as the user to send.

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 albums

  Get all the albums associated with the account. Must be logged in as the user to see secret and hidden albums. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<page> I<optional>

 integer - allows you to set the page number so you don't have to retrieve all the data at once.

=cut

=head2 album

  Get additional information about an album, this endpoint works the same as the Album Endpoint. You can also use any of the additional routes that are used on an album in the album endpoint. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<account> I<required>

 Account

=cut

=head2 albumIds

 Return an array of all of the album IDs.

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<page> I<optional>

 integer - allows you to set the page number so you don't have to retrieve all the data at once.

=cut

=head2 albumCount

 Return the total number of albums associated with the account.

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 albumDelete

 Delete an Album with a given id.

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<account> I<required>

 Account

=cut

=head2 comments

 Return the comments the user has created.

B<Parameters>

=item *
 C<sort> I<optional>

 'best', 'worst', 'oldest', or 'newest'. Defaults to 'newest'.

=item *
 C<username> I<required>

 Username

=item *
 C<page> I<optional>

 Page number (50 items per page). Defaults to 0.

=cut

=head2 comment

  Return information about a specific comment. This endpoint works the same as the Comment Endpoint. You can use any of the additional actions that the comment endpoint allows on this end point. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<account> I<required>

 Account

=cut

=head2 commentIds

 Return an array of all of the comment IDs.

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<page> I<optional>

 Page number (50 items per page). Defaults to 0.

=item *
 C<sort> I<optional>

 'best', 'worst', 'oldest', or 'newest'. Defaults to 'newest'.

=cut

=head2 commentCount

 Return a count of all of the comments associated with the account.

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 commentDelete

 Delete a comment. You are required to be logged in as the user whom created the comment.

B<Parameters>

=item *
 C<account> I<required>

 Account

=item *
 C<username> I<required>

 Username

=cut

=head2 images

  Return all of the images associated with the account. You can page through the images by setting the page, this defaults to 0. 

B<Parameters>

=item *
 C<page> I<required>

 Page

=item *
 C<username> I<required>

 Username

=cut

=head2 image

  Return information about a specific image. This endpoint works the same as the Image Endpoint. You can use any of the additional actions that the image endpoint with this endpoint. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<account> I<required>

 Account

=cut

=head2 imageIds

  Returns an array of Image IDs that are associated with the account. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<page> I<optional>

 integer - allows you to set the page number so you don't have to retrieve all the data at once.

=cut

=head2 imageCount

  Returns the total number of images associated with the account. 

B<Parameters>

=item *
 C<username> I<required>

 Username

=cut

=head2 imageDelete

 Deletes an Image. This requires a delete hash rather than an ID.

B<Parameters>

=item *
 C<username> I<required>

 Username

=item *
 C<deletehash> I<required>

 Deletehash

=cut

=head2 replies

 Returns all of the reply notifications for the user. Required to be logged in as that user

B<Parameters>

=item *
 C<new> I<optional>

 boolean - false for all notifications, true for only non-viewed notification. Default is true.

=item *
 C<username> I<required>

 Username

=cut


