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