On this page

9 endpoints.

MethodPathSummary
GET/api/blogsList blogs
POST/api/blogsCreate a new blog
DELETE/api/blogs/{id}Delete a blog
GET/api/blogs/{id}Get blog by ID
PUT/api/blogs/{id}Update a blog
GET/api/blogs/{id}/likeGet blog likes
POST/api/blogs/{id}/likeLike or unlike a blog
GET/api/blogs/{id}/like-statusCheck if current user has liked a blog
PATCH/api/blogs/{id}/toggle-visibilityToggle blog visibility (moderator action)

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
pagequerynointeger—
limitquerynointeger—
searchquerynostring—
categoryIdquerynostring (uuid)—

Responses

StatusDescriptionBody
200Paginated list of blogs—

Auth: Bearer JWT required.

Request body (required) — multipart/form-data

FieldTypeRequiredDescription
titlestringyes—
titleArabicstringyes—
contentstringyes—
contentHtmlstringno—
headerImagestring (binary)no—
categoryIdstring (uuid)no—
isPublishedbooleanno—

Responses

StatusDescriptionBody
201Blog created successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Blog deleted successfully—
403Permission denied—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Blog details—
404Blog not found—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Request body — multipart/form-data

FieldTypeRequiredDescription
titlestringno—
titleArabicstringno—
contentstringno—
contentHtmlstringno—
headerImagestring (binary)no—
categoryIdstring (uuid)no—
isPublishedbooleanno—

Responses

StatusDescriptionBody
200Blog updated 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
200Like status—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
idpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Visibility toggled successfully—
403Permission denied—