On this page

13 endpoints.

MethodPathSummary
GET/api/albumsList albums
POST/api/albumsCreate a new album
DELETE/api/albums/{id}Delete an album
GET/api/albums/{id}Get album by ID
PUT/api/albums/{id}Update an album
POST/api/albums/{id}/hideHide an album (moderator action)
DELETE/api/albums/{id}/imagesDelete an image from an album
POST/api/albums/{id}/imagesUpload images to an album
DELETE/api/albums/{id}/images/allDelete all images from an album
PUT/api/albums/{id}/images/reorderReorder images in an album
GET/api/albums/{id}/likeGet album likes
POST/api/albums/{id}/likeLike or unlike an album
POST/api/albums/{id}/unhideUnhide an album (moderator action)

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
pagequerynointeger—
limitquerynointeger—
searchquerynostring—

Responses

StatusDescriptionBody
200Paginated list of albums—

Auth: Bearer JWT required.

Request body (required) — application/json

FieldTypeRequiredDescription
titlestringyes—
titleArabicstringyes—
descriptionstringno—
descriptionArabicstringno—
isPublicbooleanno—

Responses

StatusDescriptionBody
201Album created successfully—
400Validation error—
401Authentication required—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Album deleted successfully—
403Permission denied—
404Album not found—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Album details—
404Album not found—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Request body (required) — application/json

FieldTypeRequiredDescription
titlestringno—
titleArabicstringno—
descriptionstringno—
descriptionArabicstringno—
isPublicbooleanno—

Responses

StatusDescriptionBody
200Album updated successfully—
403Permission denied—
404Album not found—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Album hidden successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—
imageIdqueryyesstring (uuid)—

Responses

StatusDescriptionBody
200Image deleted successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Request body (required) — multipart/form-data

FieldTypeRequiredDescription
imagesstring (binary)[]no—

Responses

StatusDescriptionBody
200Images uploaded successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200All images deleted successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Request body (required) — application/json

FieldTypeRequiredDescription
imageIdsstring (uuid)[]yes—

Responses

StatusDescriptionBody
200Images reordered successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—
pagequerynointeger—
limitquerynointeger—

Responses

StatusDescriptionBody
200List of likes—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Like toggled successfully—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Album unhidden successfully—
403Permission denied—