=head1 NAME

 Imgur::API::Endpoint::Album

=head1 SYNOPSISA

 Access to the imgur Album API Endpoint. 

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

=cut

=head1 METHODS
 
=head2 get(%params)

 Get information about a specific album.

=head3 Parameters
=over 4

=item *
album REQUIRED
 Album

=back
=cut

=head2 images(%params)

 Return all of the images in the album

=head3 Parameters
=over 4

=item *
album REQUIRED
 Album

=back
=cut

=head2 image(%params)

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

=head3 Parameters
=over 4

=item *
album REQUIRED
 Album

=item *
image REQUIRED
 Image

=back
=cut

=head2 upload(%params)

  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. 

=head3 Parameters
=over 4

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

=item *
cover OPTIONAL
 The ID of an image that you want to be the cover of the album

=item *
layout OPTIONAL
 Sets the layout to display the album.  Values are : blog | grid | horizontal | vertical

=item *
ids[] OPTIONAL
 The image ids that you want to be included in the album.

=item *
description OPTIONAL
 The description of the album

=item *
title OPTIONAL
 The title of the album

=item *
deletehashes[] OPTIONAL
 The deletehashes of the images that you want to be included in the album.

=back
=cut

=head2 update(%params)

  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. 

=head3 Parameters
=over 4

=item *
title OPTIONAL
 The title of the album

=item *
album REQUIRED
 Album

=item *
privacy OPTIONAL
 Sets the privacy level of the album.  Values are : public | hidden | secret

=item *
layout OPTIONAL
 Sets the layout to display the album.  Values are : blog | grid | horizontal | vertical

=item *
deletehashes[] OPTIONAL
 The deletehashes of the images that you want to be included in the album.

=item *
cover OPTIONAL
 The ID of an image that you want to be the cover of the album

=item *
ids[] OPTIONAL
 The image ids that you want to be included in the album.

=item *
description OPTIONAL
 The description of the album

=back
=cut

=head2 delete(%params)

  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. 

=head3 Parameters
=over 4

=item *
album REQUIRED
 Album

=back
=cut

=head2 favorite(%params)

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

=head3 Parameters
=over 4

=item *
album REQUIRED
 Album

=back
=cut

=head2 setTo(%params)

  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. 

=head3 Parameters
=over 4

=item *
ids[] 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 *
deletehashes[] 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 *
album REQUIRED
 Album

=back
=cut

=head2 addTo(%params)

  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. 

=head3 Parameters
=over 4

=item *
ids[] 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 *
album REQUIRED
 Album

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

=back
=cut

=head2 removeFrom(%params)

  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. 

=head3 Parameters
=over 4

=item *
album REQUIRED
 Album

=item *
ids[] REQUIRED
 The image ids that you want to be removed from the album.

=back
=cut


