On this page

Group messaging endpoints

9 endpoints.

MethodPathSummary
GET/api/communities/{communityId}/groups/{groupId}/messagesGet paginated messages for a group
POST/api/communities/{communityId}/groups/{groupId}/messagesSend a new message to a group
DELETE/api/communities/{communityId}/groups/{groupId}/messages/{messageId}Delete a message (soft delete)
PUT/api/communities/{communityId}/groups/{groupId}/messages/{messageId}Update (edit) a message
POST/api/communities/{communityId}/groups/{groupId}/messages/{messageId}/hideHide a message from your own view («حذف لدي»)
POST/api/communities/{communityId}/groups/{groupId}/messages/{messageId}/reactionsAdd an emoji reaction to a message
DELETE/api/communities/{communityId}/groups/{groupId}/messages/{messageId}/reactions/{emoji}Remove an emoji reaction from a message
POST/api/communities/{communityId}/groups/{groupId}/messages/{messageId}/readMark a message as read
GET/api/communities/{communityId}/groups/{groupId}/unread-countGet unread message count for current user in a group

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—
pagequerynointeger—
limitquerynointeger—
beforequerynostring (date-time)—
afterquerynostring (date-time)—
searchquerynostring—

Responses

StatusDescriptionBody
200Paginated list of messages—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—

Request body (required) — application/json

FieldTypeRequiredDescription
contentstringyes—
replyToIdstring (uuid)no—

Responses

StatusDescriptionBody
201Message sent successfully—
403User is restricted from messaging—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—
messageIdpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Message deleted successfully—
403Not authorized—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—
messageIdpathyesstring (uuid)—

Request body (required) — application/json

FieldTypeRequiredDescription
contentstringyes—

Responses

StatusDescriptionBody
200Message updated successfully—
403Not authorized or user is restricted—

Removes one message from the caller's own message list only — every other member still sees it. Any member of the group may hide any message in it. Idempotent. To delete a message for everyone, use DELETE on the message.

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring—
groupIdpathyesstring—
messageIdpathyesstring—

Responses

StatusDescriptionBody
200Hidden for the caller—
403Not a member of the community or the group—
404MESSAGE_NOT_FOUND — the message is not in this group—
503MESSAGE_HIDE_UNAVAILABLE — the migration has not run yet—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—
messageIdpathyesstring (uuid)—

Request body (required) — application/json

FieldTypeRequiredDescription
emojistringyes—

Responses

StatusDescriptionBody
200Reaction added successfully—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—
messageIdpathyesstring (uuid)—
emojipathyesstring—

Responses

StatusDescriptionBody
200Reaction removed successfully—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—
messageIdpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Message marked as read—

Auth: Bearer JWT required.

Parameters

NameInRequiredTypeDescription
communityIdpathyesstring (uuid)—
groupIdpathyesstring (uuid)—

Responses

StatusDescriptionBody
200Unread countobject