LE-KO Groups (v1.0.3)

Download OpenAPI specification:

LE-KO Groups

groups

Groups

Create a new group

✨ Create a new group

Authorizations:
bearerHttpAuthentication
header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Request Body schema: application/json
required
name
required
string <= 60 characters
description
required
string <= 1000 characters
sportId
string <uuid> (SportId) = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Sport Type UUID

coverId
string <uuid> (CoverId)

Cover ID

avatarId
string <uuid> (AvatarId)

Avatar ID

object (GeosuggestedAddress)
formattedAddress
required
string
street
required
string or null
region
required
string or null
city
required
string or null
shortName
required
string (ShortName) [ 5 .. 32 ] characters ^[a-z0-9_]{5,32}$

Short Name for group

postRules
required
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object (Location)
lat
required
number <double> [ -90 .. 90 ]
lng
required
number <double> [ -180 .. 180 ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "sportId": "4b72d209-debd-45e1-93cc-7640bf7d39bf",
  • "coverId": "00000000-0000-1000-9000-510d9bb07630",
  • "avatarId": "00000000-0000-1000-9000-510d9bb07630",
  • "address": {
    • "formattedAddress": "string",
    • "street": "string",
    • "region": "string",
    • "city": "string"
    },
  • "shortName": "group_123",
  • "postRules": "Everyone",
  • "location": {
    • "lat": -90,
    • "lng": -180
    }
}

Response samples

Content type
application/json
{
  • "id": "00000000-0000-1000-9000-510d9bb07630"
}

Get groups

✨ Get groups

Authorizations:
bearerHttpAuthentication
query Parameters
groupName
string (GroupName) <= 60 characters
Example: groupName=SomeName

Group Name

sportId
string <uuid> (SportId) = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...
Example: sportId=4b72d209-debd-45e1-93cc-7640bf7d39bf

Sport Type UUID

object (Address)
myGroups
boolean
isFollowing
boolean
lat
number <double> [ -90 .. 90 ]
lng
number <double> [ -180 .. 180 ]
isPopular
boolean
header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array
id
string <uuid> (GroupId)

Group ID

name
string
description
string
sportId
string <uuid> (SportId) = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Sport Type UUID

coverId
string <uuid> (CoverId)

Cover ID

avatarId
string <uuid> (AvatarId)

Avatar ID

shortName
string (ShortName) [ 5 .. 32 ] characters ^[a-z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
address
string
groupType
string (GroupType)
Enum: "Public" "Private"
createdAt
string <date-time>
updatedAt
string <date-time>
ownerId
string <uuid> (OwnerId)

Owner ID

participantsCount
integer
participantsIds
Array of strings <uuid> (ParticipantId) [ items <uuid > ]
isFollowing
boolean
distance
number <double> >= 0

Distance in kilometers

Response samples

Content type
application/json
[
  • {
    • "id": "00000000-0000-1000-9000-510d9bb07630",
    • "name": "string",
    • "description": "string",
    • "sportId": "4b72d209-debd-45e1-93cc-7640bf7d39bf",
    • "coverId": "00000000-0000-1000-9000-510d9bb07630",
    • "avatarId": "00000000-0000-1000-9000-510d9bb07630",
    • "shortName": "group_123",
    • "postRules": "Everyone",
    • "address": "string",
    • "groupType": "Public",
    • "createdAt": "2019-08-24T14:15:22Z",
    • "updatedAt": "2019-08-24T14:15:22Z",
    • "ownerId": "00000000-0000-1000-9000-510d9bb07630",
    • "participantsCount": 0,
    • "participantsIds": [
      • "00000000-0000-1000-9000-510d9bb07630"
      ],
    • "isFollowing": true,
    • "distance": 0.1
    }
]

Update a group

✨ Update a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Request Body schema: application/json
required
object (GeosuggestedAddress)
formattedAddress
required
string
street
required
string or null
region
required
string or null
city
required
string or null
name
required
string <= 60 characters
description
required
string <= 1000 characters
sportId
string <uuid> (SportId) = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Sport Type UUID

coverId
string <uuid> (CoverId)

Cover ID

avatarId
string <uuid> (AvatarId)

Avatar ID

shortName
required
string (ShortName) [ 5 .. 32 ] characters ^[a-z0-9_]{5,32}$

Short Name for group

postRules
required
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object (Location)
lat
required
number <double> [ -90 .. 90 ]
lng
required
number <double> [ -180 .. 180 ]

Responses

Response Schema: application/json
id
string <uuid> (GroupId)

Group ID

name
string
description
string
sportId
string <uuid> (SportId) = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Sport Type UUID

coverId
string <uuid> (CoverId)

Cover ID

avatarId
string <uuid> (AvatarId)

Avatar ID

shortName
string (ShortName) [ 5 .. 32 ] characters ^[a-z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
address
string
groupType
string (GroupType)
Enum: "Public" "Private"
createdAt
string <date-time>
updatedAt
string <date-time>
ownerId
string <uuid> (OwnerId)

Owner ID

participantsCount
integer
participantsIds
Array of strings <uuid> (ParticipantId) [ items <uuid > ]
isFollowing
boolean
distance
number <double> >= 0

Distance in kilometers

Request samples

Content type
application/json
{
  • "address": {
    • "formattedAddress": "string",
    • "street": "string",
    • "region": "string",
    • "city": "string"
    },
  • "name": "string",
  • "description": "string",
  • "sportId": "4b72d209-debd-45e1-93cc-7640bf7d39bf",
  • "coverId": "00000000-0000-1000-9000-510d9bb07630",
  • "avatarId": "00000000-0000-1000-9000-510d9bb07630",
  • "shortName": "group_123",
  • "postRules": "Everyone",
  • "location": {
    • "lat": -90,
    • "lng": -180
    }
}

Response samples

Content type
application/json
{
  • "id": "00000000-0000-1000-9000-510d9bb07630",
  • "name": "string",
  • "description": "string",
  • "sportId": "4b72d209-debd-45e1-93cc-7640bf7d39bf",
  • "coverId": "00000000-0000-1000-9000-510d9bb07630",
  • "avatarId": "00000000-0000-1000-9000-510d9bb07630",
  • "shortName": "group_123",
  • "postRules": "Everyone",
  • "address": "string",
  • "groupType": "Public",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "ownerId": "00000000-0000-1000-9000-510d9bb07630",
  • "participantsCount": 0,
  • "participantsIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "isFollowing": true,
  • "distance": 0.1
}

Get a group

✨ Get a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
id
string <uuid> (GroupId)

Group ID

name
string
description
string
sportId
string <uuid> (SportId) = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Sport Type UUID

coverId
string <uuid> (CoverId)

Cover ID

avatarId
string <uuid> (AvatarId)

Avatar ID

shortName
string (ShortName) [ 5 .. 32 ] characters ^[a-z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
address
string
groupType
string (GroupType)
Enum: "Public" "Private"
createdAt
string <date-time>
updatedAt
string <date-time>
ownerId
string <uuid> (OwnerId)

Owner ID

participantsCount
integer
participantsIds
Array of strings <uuid> (ParticipantId) [ items <uuid > ]
isFollowing
boolean
distance
number <double> >= 0

Distance in kilometers

Response samples

Content type
application/json
{
  • "id": "00000000-0000-1000-9000-510d9bb07630",
  • "name": "string",
  • "description": "string",
  • "sportId": "4b72d209-debd-45e1-93cc-7640bf7d39bf",
  • "coverId": "00000000-0000-1000-9000-510d9bb07630",
  • "avatarId": "00000000-0000-1000-9000-510d9bb07630",
  • "shortName": "group_123",
  • "postRules": "Everyone",
  • "address": "string",
  • "groupType": "Public",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "ownerId": "00000000-0000-1000-9000-510d9bb07630",
  • "participantsCount": 0,
  • "participantsIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "isFollowing": true,
  • "distance": 0.1
}

Delete a group

✨ Delete a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Follow a group

✨ Follow a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Unfollow a group

✨ Unfollow a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Get a group feed

✨ Get a group feed

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

query Parameters
page
integer (PageNumber) >= 0
Default: 0
Example: page=0

Page number

limit
integer (PageLimit) [ 1 .. 100 ]
Default: 10
Example: limit=10

Page limit

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array of objects
Array
id
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
groupId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
count
required
integer (Count)

Page entries count

currentPage
integer (CurrentPage) >= 0
Deprecated
Default: 0

Current page

page
required
integer (PageNumber) >= 0
Default: 0

Page number

pageSize
integer (PageSize) [ 1 .. 100 ]
Deprecated
Default: 10

Page size

limit
required
integer (PageLimit) [ 1 .. 100 ]
Default: 10

Page limit

total
required
integer (TotalCount) >= 0
Default: 0

Total count

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      • "text": "string",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "updatedAt": "2019-08-24T14:15:22Z",
      • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
      • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
      • "mediaIds": [
        ],
      • "likeCount": 0,
      • "commentCount": 0,
      • "likedByUser": true,
      • "commentedByUser": true
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

Delete user data from groups

✨ Deletes all user-related data from the groups system including:

  • User's group memberships
  • User's posts and comments
  • User's likes and interactions
  • User's group creation history

If userId parameter is provided, deletes the specified user (admin only). If userId is not provided, deletes the current user (from x-current-user-id header).

Authorizations:
bearerHttpAuthentication
query Parameters
userId
string <uuid>
Example: userId=4b72d209-debd-45e1-93cc-7640bf7d39bf

User ID to delete. If not provided, deletes the current user (from x-current-user-id header). Only admins can delete other users.

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Check if user deletion is available

Authorizations:
bearerHttpAuthentication
query Parameters
userId
string <uuid>
Example: userId=4b72d209-debd-45e1-93cc-7640bf7d39bf

User ID to delete. If not provided, deletes the current user (from x-current-user-id header). Only admins can delete other users.

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

participants

Get participants of a group

✨ Get participants of a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

query Parameters
isMuted
boolean
header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array
userId
required
string <uuid> (ParticipantId)

Participant ID

isMuted
required
boolean
isAdmin
required
boolean

Response samples

Content type
application/json
[
  • {
    • "userId": "00000000-0000-1000-9000-510d9bb07630",
    • "isMuted": true,
    • "isAdmin": true
    }
]

Remove a participant from a group

✨ Remove a participant from a group

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

participantId
required
string <uuid> (ParticipantId)
Example: 00000000-0000-1000-9000-510d9bb07630

Participant ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Mute a participant

✨ Mute a participant

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

participantId
required
string <uuid> (ParticipantId)
Example: 00000000-0000-1000-9000-510d9bb07630

Participant ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Unmute a participant

✨ Unmute a participant

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

participantId
required
string <uuid> (ParticipantId)
Example: 00000000-0000-1000-9000-510d9bb07630

Participant ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

posts

Create a new post

✨ Create a new post

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Request Body schema: application/json
required
text
string <= 1200 characters
mediaIds
Array of strings <uuid> (MediaId) <= 6 items [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ]
}

Response samples

Content type
application/json
{
  • "id": "00000000-0000-1000-9000-510d9bb07630"
}

Update a post

✨ Update a post

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Request Body schema: application/json
required
text
required
string <= 1200 characters
mediaIds
Array of strings <uuid> (MediaId) <= 6 items [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ]
}

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Delete a post

✨ Delete a post

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

Get a post

✨ Get a post

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
id
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
groupId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "text": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
  • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "likeCount": 0,
  • "commentCount": 0,
  • "likedByUser": true,
  • "commentedByUser": true
}

Get suggested posts

✨ Get suggested posts

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array
id
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
groupId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean

Response samples

Content type
application/json
[
  • {
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "text": "string",
    • "createdAt": "2019-08-24T14:15:22Z",
    • "updatedAt": "2019-08-24T14:15:22Z",
    • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
    • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
    • "mediaIds": [
      • "00000000-0000-1000-9000-510d9bb07630"
      ],
    • "likeCount": 0,
    • "commentCount": 0,
    • "likedByUser": true,
    • "commentedByUser": true
    }
]

Suggest a post

✨ Suggest a post

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

likes

.../groups/{groupId}/posts/{postId}/likes

✨ Get Post Likes

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

query Parameters
page
integer (PageNumber) >= 0
Default: 0
Example: page=0

Page number

limit
integer (PageLimit) [ 1 .. 100 ]
Default: 10
Example: limit=10

Page limit

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array of objects
Array
likeId
string <uuid> (LikeId)

Like ID

postId
required
string <uuid> (PostId)

Post ID

commentId
string <uuid> (CommentId)

Comment ID

likeUserId
required
string <uuid> (LikeUserId)

Like User ID

isLiked
required
boolean
createdAt
string <date-time> (DateTime)

Date and time in RFC-3339

count
required
integer (Count)

Page entries count

currentPage
integer (CurrentPage) >= 0
Deprecated
Default: 0

Current page

page
required
integer (PageNumber) >= 0
Default: 0

Page number

pageSize
integer (PageSize) [ 1 .. 100 ]
Deprecated
Default: 10

Page size

limit
required
integer (PageLimit) [ 1 .. 100 ]
Default: 10

Page limit

total
required
integer (TotalCount) >= 0
Default: 0

Total count

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "likeId": "00000000-0000-1000-9000-510d9bb07630",
      • "postId": "00000000-0000-1000-9000-510d9bb07630",
      • "commentId": "00000000-0000-1000-9000-510d9bb07630",
      • "likeUserId": "00000000-0000-1000-9000-510d9bb07630",
      • "isLiked": true,
      • "createdAt": "2024-11-29T12:09:53+00:00"
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

.../groups/{groupId}/posts/{postId}/like

✨ Post like toggling

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
likeId
string <uuid> (LikeId)

Like ID

postId
required
string <uuid> (PostId)

Post ID

commentId
string <uuid> (CommentId)

Comment ID

likeUserId
required
string <uuid> (LikeUserId)

Like User ID

isLiked
required
boolean
createdAt
string <date-time> (DateTime)

Date and time in RFC-3339

Response samples

Content type
application/json
{
  • "likeId": "00000000-0000-1000-9000-510d9bb07630",
  • "postId": "00000000-0000-1000-9000-510d9bb07630",
  • "commentId": "00000000-0000-1000-9000-510d9bb07630",
  • "likeUserId": "00000000-0000-1000-9000-510d9bb07630",
  • "isLiked": true,
  • "createdAt": "2024-11-29T12:09:53+00:00"
}

comments

.../groups/{groupId}/posts/{postId}/comments

✨ Comments of specific Post.

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

query Parameters
page
integer (PageNumber) >= 0
Default: 0
Example: page=0

Page number

limit
integer (PageLimit) [ 1 .. 100 ]
Default: 10
Example: limit=10

Page limit

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array of objects
Array
commentId
required
string <uuid> (CommentId)

Comment ID

postId
required
string <uuid> (PostId)

Post ID

commenterUserId
required
string <uuid> (CommenterUserId)

Commenter User ID

text
required
string <text> (CommentText) [ 1 .. 2000 ] characters

Comment text

likeCount
required
integer
likedByUser
required
boolean
edited
required
boolean
createdAt
required
string <date-time> (DateTime)

Date and time in RFC-3339

updatedAt
required
string <date-time> (DateTime)

Date and time in RFC-3339

count
required
integer (Count)

Page entries count

currentPage
integer (CurrentPage) >= 0
Deprecated
Default: 0

Current page

page
required
integer (PageNumber) >= 0
Default: 0

Page number

pageSize
integer (PageSize) [ 1 .. 100 ]
Deprecated
Default: 10

Page size

limit
required
integer (PageLimit) [ 1 .. 100 ]
Default: 10

Page limit

total
required
integer (TotalCount) >= 0
Default: 0

Total count

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "commentId": "00000000-0000-1000-9000-510d9bb07630",
      • "postId": "00000000-0000-1000-9000-510d9bb07630",
      • "commenterUserId": "00000000-0000-1000-9000-510d9bb07630",
      • "text": "ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n",
      • "likeCount": 0,
      • "likedByUser": true,
      • "edited": true,
      • "createdAt": "2024-11-29T12:09:53+00:00",
      • "updatedAt": "2024-11-29T12:09:53+00:00"
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

.../groups/{groupId}/posts/{postId}/comments

✨ Create new Post Comment.

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Request Body schema: application/json
required
text
required
string <text> (CommentText) [ 1 .. 2000 ] characters

Comment text

Responses

Request samples

Content type
application/json
{
  • "text": "ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"
}

Response samples

Content type
application/json
{
  • "id": "00000000-0000-1000-9000-510d9bb07630"
}

.../groups/{groupId}/posts/{postId}/comments/{commentId}

✨ Get Post Comment.

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

commentId
required
string <uuid> (CommentId)
Example: 00000000-0000-1000-9000-510d9bb07630

Comment ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
commentId
required
string <uuid> (CommentId)

Comment ID

postId
required
string <uuid> (PostId)

Post ID

commenterUserId
required
string <uuid> (CommenterUserId)

Commenter User ID

text
required
string <text> (CommentText) [ 1 .. 2000 ] characters

Comment text

likeCount
required
integer
likedByUser
required
boolean
edited
required
boolean
createdAt
required
string <date-time> (DateTime)

Date and time in RFC-3339

updatedAt
required
string <date-time> (DateTime)

Date and time in RFC-3339

Response samples

Content type
application/json
{
  • "commentId": "00000000-0000-1000-9000-510d9bb07630",
  • "postId": "00000000-0000-1000-9000-510d9bb07630",
  • "commenterUserId": "00000000-0000-1000-9000-510d9bb07630",
  • "text": "ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n",
  • "likeCount": 0,
  • "likedByUser": true,
  • "edited": true,
  • "createdAt": "2024-11-29T12:09:53+00:00",
  • "updatedAt": "2024-11-29T12:09:53+00:00"
}

.../groups/{groupId}/posts/{postId}/comments/{commentId}

✨ Update Post Comment

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

commentId
required
string <uuid> (CommentId)
Example: 00000000-0000-1000-9000-510d9bb07630

Comment ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Request Body schema: application/json
required
text
required
string <text> (CommentText) [ 1 .. 2000 ] characters

Comment text

Responses

Request samples

Content type
application/json
{
  • "text": "ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"
}

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

.../comments/{id}

✨ Delete Post Comment.

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

commentId
required
string <uuid> (CommentId)
Example: 00000000-0000-1000-9000-510d9bb07630

Comment ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response samples

Content type
application/json
{
  • "errors": [
    • {
      • "code": "validation",
      • "message": "string",
      • "endpoint": "string",
      • "requestId": "string"
      }
    ]
}

.../groups/{groupId}/posts/{postId}/comments/{commentId}/likes

✨ Get Comment Likes

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

commentId
required
string <uuid> (CommentId)
Example: 00000000-0000-1000-9000-510d9bb07630

Comment ID

query Parameters
page
integer (PageNumber) >= 0
Default: 0
Example: page=0

Page number

limit
integer (PageLimit) [ 1 .. 100 ]
Default: 10
Example: limit=10

Page limit

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
Array of objects
Array
likeId
string <uuid> (LikeId)

Like ID

postId
required
string <uuid> (PostId)

Post ID

commentId
string <uuid> (CommentId)

Comment ID

likeUserId
required
string <uuid> (LikeUserId)

Like User ID

isLiked
required
boolean
createdAt
string <date-time> (DateTime)

Date and time in RFC-3339

count
required
integer (Count)

Page entries count

currentPage
integer (CurrentPage) >= 0
Deprecated
Default: 0

Current page

page
required
integer (PageNumber) >= 0
Default: 0

Page number

pageSize
integer (PageSize) [ 1 .. 100 ]
Deprecated
Default: 10

Page size

limit
required
integer (PageLimit) [ 1 .. 100 ]
Default: 10

Page limit

total
required
integer (TotalCount) >= 0
Default: 0

Total count

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "likeId": "00000000-0000-1000-9000-510d9bb07630",
      • "postId": "00000000-0000-1000-9000-510d9bb07630",
      • "commentId": "00000000-0000-1000-9000-510d9bb07630",
      • "likeUserId": "00000000-0000-1000-9000-510d9bb07630",
      • "isLiked": true,
      • "createdAt": "2024-11-29T12:09:53+00:00"
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

.../groups/{groupId}/posts/{postId}/comments/{commentId}/like

✨ Comment like toggling

Authorizations:
bearerHttpAuthentication
path Parameters
groupId
required
string <uuid> (GroupId)
Example: 00000000-0000-1000-9000-510d9bb07630

Group ID

postId
required
string <uuid> (PostId)
Example: 00000000-0000-1000-9000-510d9bb07630

Post ID

commentId
required
string <uuid> (CommentId)
Example: 00000000-0000-1000-9000-510d9bb07630

Comment ID

header Parameters
x-current-user-id
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf

Current user ID for authentication and authorization

Responses

Response Schema: application/json
likeId
string <uuid> (LikeId)

Like ID

postId
required
string <uuid> (PostId)

Post ID

commentId
string <uuid> (CommentId)

Comment ID

likeUserId
required
string <uuid> (LikeUserId)

Like User ID

isLiked
required
boolean
createdAt
string <date-time> (DateTime)

Date and time in RFC-3339

Response samples

Content type
application/json
{
  • "likeId": "00000000-0000-1000-9000-510d9bb07630",
  • "postId": "00000000-0000-1000-9000-510d9bb07630",
  • "commentId": "00000000-0000-1000-9000-510d9bb07630",
  • "likeUserId": "00000000-0000-1000-9000-510d9bb07630",
  • "isLiked": true,
  • "createdAt": "2024-11-29T12:09:53+00:00"
}