=head1 NAME

 Imgur::API::Endpoint::Album

=head1 DESCRIPTION

 Access to the imgur Album API Endpoint. 

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

=cut

=head1 METHODS
 
=head2 get

 Get information about a specific album.

B<Parameters>

=item *
 C<album> I<required>

 Album

=cut

=head2 images

 Return all of the images in the album

B<Parameters>

=item *
 C<album> I<required>

 Album

=cut

=head2 image

  Get information about an image in an album, any additional actions found in Image Endpoint will also work. 

B<Parameters>

=item *
 C<album> I<required>

 Album

=item *
 C<image> I<required>

 Image

=cut

=head2 upload

  Create a new album. Optional parameter of ids[] is an array of image ids to add to the album. array of image ids to add to the album. If uploading anonymous images to anonymous album please use the optional parameter of deletehashes[] rather than ids[]. Note: including the optional deletehashes[] parameter will also work for authenticated user albums. There is no need to duplicate image ids with their corresponding deletehash. This method is available without authenticating an account, and may be used merely by sending "Authorization: Client-ID {client_id}" in the request headers. Doing so will create an anonymous album which is not tied to an account. 

B<Parameters>

=item *
 C<layout> I<optional>

 Sets the layout to display the album.  Values are : blog | grid | horizontal | vertical

=item *
 C<privacy> I<optional>

 Sets the privacy level of the album.  Values are : public | hidden | secret. Defaults to user's privacy settings for logged in users.

=item *
 C<deletehashes[]> I<optional>

 The deletehashes of the images that you want to be included in the album.

=item *
 C<ids[]> I<optional>

 The image ids that you want to be included in the album.

=item *
 C<cover> I<optional>

 The ID of an image that you want to be the cover of the album

=item *
 C<description> I<optional>

 The description of the album

=item *
 C<title> I<optional>

 The title of the album

=cut

=head2 update

  Update the information of an album. For anonymous albums, {album} should be the deletehash that is returned at creation. If uploading anonymous images to anonymous album please use the optional parameter of deletehashes[] rather than ids[]. Note: including the optional deletehashes[] parameter will also work for authenticated user albums. There is no need to duplicate image ids with their corresponding deletehash. 

B<Parameters>

=item *
 C<ids[]> I<optional>

 The image ids that you want to be included in the album.

=item *
 C<cover> I<optional>

 The ID of an image that you want to be the cover of the album

=item *
 C<title> I<optional>

 The title of the album

=item *
 C<description> I<optional>

 The description of the album

=item *
 C<layout> I<optional>

 Sets the layout to display the album.  Values are : blog | grid | horizontal | vertical

=item *
 C<album> I<required>

 Album

=item *
 C<privacy> I<optional>

 Sets the privacy level of the album.  Values are : public | hidden | secret

=item *
 C<deletehashes[]> I<optional>

 The deletehashes of the images that you want to be included in the album.

=cut

=head2 delete

  Delete an album with a given ID. You are required to be logged in as the user to delete the album. For anonymous albums, {album} should be the deletehash that is returned at creation. 

B<Parameters>

=item *
 C<album> I<required>

 Album

=cut

=head2 favorite

 Favorite an album with a given ID. The user is required to be logged in to favorite the album.

B<Parameters>

=item *
 C<album> I<required>

 Album

=cut

=head2 setTo

  Sets the images for an album, removes all other images and only uses the images in this request. For anonymous albums, {album} should be the deletehash that is returned at creation. If uploading anonymous images to anonymous album please use the optional parameter of deletehashes[] rather than ids[]. Note: including the optional deletehashes[] parameter will also work for authenticated user albums. There is no need to duplicate image ids with their corresponding deletehash. 

B<Parameters>

=item *
 C<ids[]> I<optional>

 The image ids that you want to be added to the album. The [] represents the ability to use this variable as an array.

=item *
 C<album> I<required>

 Album

=item *
 C<deletehashes[]> I<optional>

 The image deletehashes that you want to be added to the album. The [] represents the ability to use this variable as an array.

=cut

=head2 addTo

  For anonymous albums, {album} should be the deletehash that is returned at creation. If uploading anonymous images to anonymous album please use the optional parameter of deletehashes[] rather than ids[]. Note: including the optional deletehashes[] parameter will also work for authenticated user albums. There is no need to duplicate image ids with their corresponding deletehash. 

B<Parameters>

=item *
 C<deletehashes[]> I<optional>

 The image deletehashes that you want to be added to the album.  The [] represents the ability to use this variable as an array.

=item *
 C<ids[]> I<optional>

 The image ids that you want to be added to the album.  The [] represents the ability to use this variable as an array.

=item *
 C<album> I<required>

 Album

=cut

=head2 removeFrom

  Takes parameter, ids[], as an array of ids and removes from the album. For anonymous albums, {album} should be the deletehash that is returned at creation. 

B<Parameters>

=item *
 C<album> I<required>

 Album

=item *
 C<ids[]> I<required>

 The image ids that you want to be removed from the album.

=cut


