diff --git a/PiwigoDotnet/Piwigo.Client/IImageApi.cs b/PiwigoDotnet/Piwigo.Client/IImageApi.cs
index dfbfc06..c528203 100644
--- a/PiwigoDotnet/Piwigo.Client/IImageApi.cs
+++ b/PiwigoDotnet/Piwigo.Client/IImageApi.cs
@@ -4,13 +4,89 @@ namespace Piwigo.Client;
public interface IImageApi
{
+ ///
+ /// Adds an image to piwigo after all parts have been uploaded.
+ ///
+ /// The metadata of the uploaded image
+ ///
+ ///
+ ///
+ /// Information about the uploaded image
+ /// Ensure that you called for every chunk of the image.
Task AddAsync(ImageUpload imageUpload, CancellationToken cancellationToken = default);
+
+ ///
+ /// Updates an image to piwigo after all parts have been uploaded.
+ ///
+ /// The image id to update
+ /// The metadata of the uploaded image
+ ///
+ ///
+ ///
+ /// Information about the uploaded image
+ /// Ensure that you called for every chunk of the image.
Task UpdateAsync(int imageId, ImageUpload imageUpload, CancellationToken cancellationToken = default);
+
+ ///
+ /// Adds a comment to the given image.
+ ///
+ /// The id of the image
+ /// The author
+ /// The content
+ ///
+ /// The key to post: The key can read from and
+ ///
+ ///
+ ///
+ ///
+ /// The id of the new comment
Task AddCommentAsync(int imageId, string? author, string content, string key, CancellationToken cancellationToken = default);
+
+ ///
+ /// Adds a chunk of an image to piwigo.
+ /// This enables uploading of large images using multiple chunks of data.
+ ///
+ /// The chunk to upload
+ /// The original image checksum
+ /// The chunk position
+ ///
+ ///
+ ///
Task AddChunkAsync(byte[] data, string originalSum, int position, CancellationToken cancellationToken = default);
+
+ ///
+ /// Checks if piwigo is ready to get images uploaded.
+ ///
+ ///
+ ///
+ ///
+ /// true if ready; otherwise false
Task ReadyForUploadAsync(CancellationToken cancellationToken = default);
+
+ ///
+ /// Gets detailed information about the image.
+ ///
+ /// The image id to read
+ /// The requested comments page
+ /// Number of comments per page
+ ///
+ ///
+ ///
+ /// The metadata of a given image id
Task GetInfoAsync(int imageId, int? commentsPage, int? commentsPerPage, CancellationToken cancellationToken = default);
+ ///
+ /// Gets a list of images for a given album.
+ ///
+ /// The album id
+ /// true to get images from sub-albums
+ /// Information about the paging
+ /// Filter criteria applied to the returned images
+ /// How the list should be sorted
+ ///
+ ///
+ ///
+ /// a paged list of the images of a given album
Task GetImages(int albumId, bool recursive, PagingInfo page, ImageFilter filter, ImageOrder order = ImageOrder.Name,
CancellationToken cancellationToken = default);