LE-KO Groups (v1.0.3)

Download OpenAPI specification:

LE-KO Groups

groups

Groups

Create a new group

✨ Create a new group

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 (GroupAddressInput)
uri
required
string non-empty
shortName
required
string (ShortName) [ 5 .. 32 ] characters ^[a-zA-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": {
    • "uri": "string"
    },
  • "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": {
    • "title": "string",
    • "formattedAddress": "string",
    • "country": "string",
    • "countryCode": "string",
    • "latitude": 0.1,
    • "longitude": 0.1,
    • "city": "string",
    • "region": "string",
    • "street": "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,
  • "moderationStatus": "posted",
  • "moderated": true
}

Get groups

✨ Get groups

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
includeFollowing
boolean

When used with myGroups=true, also includes groups the user is following (not just created/admin groups)

lat
number <double> [ -90 .. 90 ]
lng
number <double> [ -180 .. 180 ]
isPopular
boolean
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
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-zA-Z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object (GroupAddress)
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

moderationStatus
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
moderated
boolean

When true, content fields have been redacted due to moderation policy.

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": "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": {
        },
      • "groupType": "Public",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "updatedAt": "2019-08-24T14:15:22Z",
      • "ownerId": "00000000-0000-1000-9000-510d9bb07630",
      • "participantsCount": 0,
      • "participantsIds": [
        ],
      • "isFollowing": true,
      • "distance": 0.1,
      • "moderationStatus": "posted",
      • "moderated": true
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

Patch a group

✨ Patch a group. Only fields present and non-null in the request body are updated. Explicit null values are ignored, so PATCH does not remove existing field values.

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 or null
uri
required
string non-empty
name
string or null <= 60 characters
description
string or null <= 1000 characters
sportId
string or null <uuid> = 36 characters ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Sport Type UUID

coverId
string or null <uuid>

Cover ID

avatarId
string or null <uuid>

Avatar ID

shortName
string or null [ 5 .. 32 ] characters ^[a-zA-Z0-9_]{5,32}$

Short Name for group

postRules
string or null
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object or null
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-zA-Z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object (GroupAddress)
title
required
string
formattedAddress
required
string
country
required
string
countryCode
required
string
latitude
required
number <double>
longitude
required
number <double>
city
string or null
region
string or null
street
string or null
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

moderationStatus
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
moderated
boolean

When true, content fields have been redacted due to moderation policy.

Request samples

Content type
application/json
{
  • "address": {
    • "uri": "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": {
    • "title": "string",
    • "formattedAddress": "string",
    • "country": "string",
    • "countryCode": "string",
    • "latitude": 0.1,
    • "longitude": 0.1,
    • "city": "string",
    • "region": "string",
    • "street": "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,
  • "moderationStatus": "posted",
  • "moderated": true
}

Update a group

✨ Update a group

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 (GroupAddressInput)
uri
required
string non-empty
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-zA-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-zA-Z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object (GroupAddress)
title
required
string
formattedAddress
required
string
country
required
string
countryCode
required
string
latitude
required
number <double>
longitude
required
number <double>
city
string or null
region
string or null
street
string or null
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

moderationStatus
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
moderated
boolean

When true, content fields have been redacted due to moderation policy.

Request samples

Content type
application/json
{
  • "address": {
    • "uri": "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": {
    • "title": "string",
    • "formattedAddress": "string",
    • "country": "string",
    • "countryCode": "string",
    • "latitude": 0.1,
    • "longitude": 0.1,
    • "city": "string",
    • "region": "string",
    • "street": "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,
  • "moderationStatus": "posted",
  • "moderated": true
}

Get a group

✨ Get a group

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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-zA-Z0-9_]{5,32}$

Short Name for group

postRules
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
object (GroupAddress)
title
required
string
formattedAddress
required
string
country
required
string
countryCode
required
string
latitude
required
number <double>
longitude
required
number <double>
city
string or null
region
string or null
street
string or null
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

moderationStatus
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
moderated
boolean

When true, content fields have been redacted due to moderation policy.

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": {
    • "title": "string",
    • "formattedAddress": "string",
    • "country": "string",
    • "countryCode": "string",
    • "latitude": 0.1,
    • "longitude": 0.1,
    • "city": "string",
    • "region": "string",
    • "street": "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,
  • "moderationStatus": "posted",
  • "moderated": true
}

Delete a group

✨ Delete a group

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
      }
    ]
}

Delete a group avatar

✨ Delete a group avatar

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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>
groupId
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
object (PostLocation)
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
object (Post)
moderated
boolean

When true, content fields have been redacted due to moderation policy.

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",
      • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
      • "text": "string",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "updatedAt": "2019-08-24T14:15:22Z",
      • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
      • "mediaIds": [
        ],
      • "likeCount": 0,
      • "commentCount": 0,
      • "likedByUser": true,
      • "commentedByUser": true,
      • "mentions": [
        ],
      • "location": {
        },
      • "moderationStatus": "posted",
      • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
      • "repostCount": 0,
      • "repostedByUser": true,
      • "originalPost": {
        },
      • "moderated": 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).

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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

Group ID

query Parameters
isMuted
boolean
header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 <= 2000 characters
mediaIds
Array of strings <uuid> (MediaId) <= 6 items [ items <uuid > ]
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
uri
string non-empty

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "uri": "string"
}

Response samples

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

Update a post

✨ Update a post

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 <= 2000 characters
mediaIds
Array of strings <uuid> (MediaId) <= 6 items [ items <uuid > ]
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
uri
string non-empty
removeLocation
boolean

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "uri": "string",
  • "removeLocation": true
}

Response samples

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

Delete a post

✨ Delete a post

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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>
groupId
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
object (PostLocation)
latitude
required
number <double>
longitude
required
number <double>
title
required
string
formattedAddress
required
string
country
required
string
subtitle
string
city
string
region
string
street
string
countryCode
required
string
tags
Array of strings
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
object (Post)
id
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
groupId
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
object (PostLocation)
latitude
required
number <double>
longitude
required
number <double>
title
required
string
formattedAddress
required
string
country
required
string
subtitle
string
city
string
region
string
street
string
countryCode
required
string
tags
Array of strings
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
originalPost
object (Post) Recursive
moderated
boolean

When true, content fields have been redacted due to moderation policy.

moderated
boolean

When true, content fields have been redacted due to moderation policy.

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
  • "text": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "likeCount": 0,
  • "commentCount": 0,
  • "likedByUser": true,
  • "commentedByUser": true,
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "location": {
    • "latitude": 0.1,
    • "longitude": 0.1,
    • "title": "string",
    • "formattedAddress": "string",
    • "country": "string",
    • "subtitle": "string",
    • "city": "string",
    • "region": "string",
    • "street": "string",
    • "countryCode": "string",
    • "tags": [
      • "string"
      ]
    },
  • "moderationStatus": "posted",
  • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
  • "repostCount": 0,
  • "repostedByUser": true,
  • "originalPost": {
    • "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,
    • "mentions": [
      • {
        }
      ],
    • "location": {
      • "latitude": 0.1,
      • "longitude": 0.1,
      • "title": "string",
      • "formattedAddress": "string",
      • "country": "string",
      • "subtitle": "string",
      • "city": "string",
      • "region": "string",
      • "street": "string",
      • "countryCode": "string",
      • "tags": [
        ]
      },
    • "moderationStatus": "posted",
    • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
    • "repostCount": 0,
    • "repostedByUser": true,
    • "originalPost": { },
    • "moderated": true
    },
  • "moderated": true
}

Get suggested posts

✨ Get suggested posts

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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>
groupId
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
object (PostLocation)
latitude
required
number <double>
longitude
required
number <double>
title
required
string
formattedAddress
required
string
country
required
string
subtitle
string
city
string
region
string
street
string
countryCode
required
string
tags
Array of strings
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
object (Post)
id
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
groupId
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
object (PostLocation)
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
originalPost
object (Post) Recursive
moderated
boolean

When true, content fields have been redacted due to moderation policy.

moderated
boolean

When true, content fields have been redacted due to moderation policy.

Response samples

Content type
application/json
[
  • {
    • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
    • "text": "string",
    • "createdAt": "2019-08-24T14:15:22Z",
    • "updatedAt": "2019-08-24T14:15:22Z",
    • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
    • "mediaIds": [
      • "00000000-0000-1000-9000-510d9bb07630"
      ],
    • "likeCount": 0,
    • "commentCount": 0,
    • "likedByUser": true,
    • "commentedByUser": true,
    • "mentions": [
      • {
        }
      ],
    • "location": {
      • "latitude": 0.1,
      • "longitude": 0.1,
      • "title": "string",
      • "formattedAddress": "string",
      • "country": "string",
      • "subtitle": "string",
      • "city": "string",
      • "region": "string",
      • "street": "string",
      • "countryCode": "string",
      • "tags": [
        ]
      },
    • "moderationStatus": "posted",
    • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
    • "repostCount": 0,
    • "repostedByUser": true,
    • "originalPost": {
      • "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,
      • "mentions": [
        ],
      • "location": {
        },
      • "moderationStatus": "posted",
      • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
      • "repostCount": 0,
      • "repostedByUser": true,
      • "originalPost": { },
      • "moderated": true
      },
    • "moderated": true
    }
]

Get user's suggested posts

✨ Get all pending approval posts for groups where the logged-in user is an admin

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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>
groupId
required
string <uuid>
text
required
string
createdAt
required
string <date-time>
updatedAt
required
string <date-time>
authorId
required
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
object (PostLocation)
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
object (Post)
moderated
boolean

When true, content fields have been redacted due to moderation policy.

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",
      • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
      • "text": "string",
      • "createdAt": "2019-08-24T14:15:22Z",
      • "updatedAt": "2019-08-24T14:15:22Z",
      • "authorId": "ee6f7132-bd0a-4fcd-83b3-a8022377067b",
      • "mediaIds": [
        ],
      • "likeCount": 0,
      • "commentCount": 0,
      • "likedByUser": true,
      • "commentedByUser": true,
      • "mentions": [
        ],
      • "location": {
        },
      • "moderationStatus": "posted",
      • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
      • "repostCount": 0,
      • "repostedByUser": true,
      • "originalPost": {
        },
      • "moderated": true
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

Suggest a post

✨ Suggest a post

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
      }
    ]
}

Add a picture to a group post

✨ Add a picture to a group post

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

pictureId
required
string <uuid>

Picture ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
      }
    ]
}

Remove a picture from a group post

✨ Remove a picture from a group post

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

pictureId
required
string <uuid>

Picture ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 multiple posts by IDs

✨ Retrieves group posts and profile posts by a comma-separated list of IDs.

query Parameters
postIds
required
string

Comma-separated list of post UUIDs

includeBlocked
boolean
Deprecated

Deprecated. Previously controlled moderation filtering at the SQL level. Content moderation is now handled at the application layer. This parameter is ignored.

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
object (PostLocation)
latitude
required
number <double>
longitude
required
number <double>
title
required
string
formattedAddress
required
string
country
required
string
subtitle
string
city
string
region
string
street
string
countryCode
required
string
tags
Array of strings
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
originalPost
object (Post) Recursive
moderated
boolean

When true, content fields have been redacted due to moderation policy.

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,
    • "mentions": [
      • {
        }
      ],
    • "location": {
      • "latitude": 0.1,
      • "longitude": 0.1,
      • "title": "string",
      • "formattedAddress": "string",
      • "country": "string",
      • "subtitle": "string",
      • "city": "string",
      • "region": "string",
      • "street": "string",
      • "countryCode": "string",
      • "tags": [
        ]
      },
    • "moderationStatus": "posted",
    • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
    • "repostCount": 0,
    • "repostedByUser": true,
    • "originalPost": { },
    • "moderated": true
    }
]

Create a profile post (no group context)

✨ Create a new post for the current user's profile

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 <= 2000 characters
mediaIds
Array of strings <uuid> (MediaId) <= 6 items [ items <uuid > ]
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
uri
string non-empty

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "uri": "string"
}

Response samples

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

Toggle post visibility (hide/unhide)

✨ Hides the post for the current user if visible, unhides if already hidden.

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
hidden
required
boolean

Whether the post is now hidden for the current user

Response samples

Content type
application/json
{
  • "hidden": true
}

Repost a post (idempotent)

✨ Creates a repost of the given post for the current user. If the post is already reposted, returns the existing repost (idempotent). Reposting a repost targets the original post.

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
repostId
string <uuid>
originalPostId
required
string <uuid>
isReposted
required
boolean

Whether the post is now reposted by the current user

Response samples

Content type
application/json
{
  • "repostId": "bcee7ba2-985d-4449-80d3-6200cdf0f1f3",
  • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
  • "isReposted": true
}

Remove a repost (idempotent)

✨ Removes the current user's repost of the given post. If the post is not reposted, returns success (idempotent).

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
repostId
string <uuid>
originalPostId
required
string <uuid>
isReposted
required
boolean

Whether the post is now reposted by the current user

Response samples

Content type
application/json
{
  • "repostId": "bcee7ba2-985d-4449-80d3-6200cdf0f1f3",
  • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
  • "isReposted": true
}

Toggle repost on a post

✨ Reposts the post for the current user if not yet reposted, removes the repost if already reposted. Reposting a repost targets the original post.

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
repostId
string <uuid>
originalPostId
required
string <uuid>
isReposted
required
boolean

Whether the post is now reposted by the current user

Response samples

Content type
application/json
{
  • "repostId": "bcee7ba2-985d-4449-80d3-6200cdf0f1f3",
  • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
  • "isReposted": true
}

/posts/{postId}/reposters

✨ Returns the total repost count (from the denormalised reposts_count column) and the most recent reposters of a post. If postId is itself a repost, the original post is used.

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

Post ID

query Parameters
limit
integer [ 1 .. 50 ]
Default: 4

Maximum number of reposters to return.

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
totalCount
required
integer <int64> >= 0

Total number of active reposts on the original post, read from the denormalised reposts_count column. Source of truth for the count.

required
Array of objects (PostReposter)

Most recent reposters ordered by repostedAt DESC, capped by the limit query parameter.

Array
repostId
required
string <uuid>

ID of the repost row in the posts table

reposterUserId
required
string <uuid>

ID of the user who reposted

repostedAt
required
string <date-time> (DateTime)

Date and time in RFC-3339

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "reposters": [
    • {
      • "repostId": "bcee7ba2-985d-4449-80d3-6200cdf0f1f3",
      • "reposterUserId": "2ea48387-91f9-4a7f-b062-55d42bf549d5",
      • "repostedAt": "2024-11-29T12:09:53+00:00"
      }
    ]
}

Mark posts as seen

✨ Mark multiple posts as seen by the current user (batch operation)

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
required
Array of objects (SeenPostItem)
Array
postId
required
string <uuid> (PostId)

Post ID

Responses

Request samples

Content type
application/json
{
  • "posts": [
    • {
      • "postId": "00000000-0000-1000-9000-510d9bb07630"
      }
    ]
}

Response samples

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

Mark a single post as seen

✨ Mark a single post as seen by the current user

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
      }
    ]
}

Update a profile post

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 <= 2000 characters
mediaIds
Array of strings <uuid> (MediaId) <= 6 items [ items <uuid > ]
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
uri
string non-empty
removeLocation
boolean

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "mediaIds": [
    • "00000000-0000-1000-9000-510d9bb07630"
    ],
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "uri": "string",
  • "removeLocation": true
}

Response samples

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

Delete a profile post

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
      }
    ]
}

Add a picture to a profile post

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

Post ID

pictureId
required
string <uuid>

Picture ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
      }
    ]
}

Remove a picture from a profile post

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

Post ID

pictureId
required
string <uuid>

Picture ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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 user's profile posts

path Parameters
userId
required
string <uuid>
Example: 4b72d209-debd-45e1-93cc-7640bf7d39bf
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

type
string
Default: "all"
Enum: "created" "reposted" "all"

Filter by post type (created posts, reposts, or all)

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
likedByUser
required
boolean
commentedByUser
required
boolean
Array of objects (PostMention)
object (PostLocation)
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
originalPostId
string <uuid>
repostCount
integer
repostedByUser
boolean
originalPost
object (Post) Recursive
moderated
boolean

When true, content fields have been redacted due to moderation policy.

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,
      • "mentions": [
        ],
      • "location": {
        },
      • "moderationStatus": "posted",
      • "originalPostId": "3c6e8dbf-bde1-4096-9461-0c2069e6487a",
      • "repostCount": 0,
      • "repostedByUser": true,
      • "originalPost": { },
      • "moderated": true
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

likes

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

✨ Get Post Likes

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

/posts/{postId}/comments

✨ All comments and replies for a specific post as a flat list, ordered by creation time.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

Array of objects (CommentMention)
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
parentCommentId
string <uuid> (CommentId)

Comment ID

parentCommentDeleted
boolean

Whether the parent comment has been deleted. When true, the client should render "Replying to unavailable comment".

object (ParentCommentPreview)
replyCount
integer

Number of non-deleted direct replies to this comment.

moderated
boolean

When true, content fields have been redacted due to moderation policy.

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",
      • "mentions": [
        ],
      • "moderationStatus": "posted",
      • "parentCommentId": "00000000-0000-1000-9000-510d9bb07630",
      • "parentCommentDeleted": true,
      • "parentComment": {
        },
      • "replyCount": 0,
      • "moderated": true
      }
    ],
  • "count": 10,
  • "currentPage": 0,
  • "page": 0,
  • "pageSize": 10,
  • "limit": 10,
  • "total": 1000
}

/posts/{postId}/comments

✨ Create new Post Comment.

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

Array of objects (CommentMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string

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",
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ]
}

Response samples

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

/comments/{commentId}

✨ Get a comment by ID without requiring the parent post ID. This is a convenience mirror of GET /posts/{postId}/comments/{commentId}; both endpoints return the same response.

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

Comment ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

Array of objects (CommentMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
parentCommentId
string <uuid> (CommentId)

Comment ID

parentCommentDeleted
boolean

Whether the parent comment has been deleted. When true, the client should render "Replying to unavailable comment".

object (ParentCommentPreview)
commentId
required
string <uuid> (CommentId)

Comment ID

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

Comment text

commenterUserId
required
string <uuid> (CommenterUserId)

Commenter User ID

replyCount
integer

Number of non-deleted direct replies to this comment.

moderated
boolean

When true, content fields have been redacted due to moderation policy.

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",
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "moderationStatus": "posted",
  • "parentCommentId": "00000000-0000-1000-9000-510d9bb07630",
  • "parentCommentDeleted": true,
  • "parentComment": {
    • "commentId": "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",
    • "commenterUserId": "00000000-0000-1000-9000-510d9bb07630"
    },
  • "replyCount": 0,
  • "moderated": true
}

/posts/{postId}/comments/{commentId}

✨ Get Post Comment.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

Array of objects (CommentMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
parentCommentId
string <uuid> (CommentId)

Comment ID

parentCommentDeleted
boolean

Whether the parent comment has been deleted. When true, the client should render "Replying to unavailable comment".

object (ParentCommentPreview)
commentId
required
string <uuid> (CommentId)

Comment ID

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

Comment text

commenterUserId
required
string <uuid> (CommenterUserId)

Commenter User ID

replyCount
integer

Number of non-deleted direct replies to this comment.

moderated
boolean

When true, content fields have been redacted due to moderation policy.

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",
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ],
  • "moderationStatus": "posted",
  • "parentCommentId": "00000000-0000-1000-9000-510d9bb07630",
  • "parentCommentDeleted": true,
  • "parentComment": {
    • "commentId": "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",
    • "commenterUserId": "00000000-0000-1000-9000-510d9bb07630"
    },
  • "replyCount": 0,
  • "moderated": true
}

/posts/{postId}/comments/{commentId}

✨ Update Post Comment.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

Array of objects (CommentMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string

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",
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ]
}

Response samples

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

/posts/{postId}/comments/{commentId}

✨ Delete Post Comment.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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/{postId}/comments/{commentId}/likes

✨ Get Comment Likes.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
}

/posts/{postId}/comments/{commentId}/like

✨ Comment like toggling.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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"
}

/posts/{postId}/comments/{commentId}/replies

✨ Get replies for a specific comment. Uses cursor-based pagination.

path Parameters
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
limit
integer [ 1 .. 100 ]
Default: 10

Maximum number of replies to return

after
string

Opaque cursor for pagination. Pass the nextCursor value from the previous response to get the next page.

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
required
Array of objects (Comment)
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

Array of objects (CommentMention)
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
parentCommentId
string <uuid> (CommentId)

Comment ID

parentCommentDeleted
boolean

Whether the parent comment has been deleted. When true, the client should render "Replying to unavailable comment".

object (ParentCommentPreview)
replyCount
integer

Number of non-deleted direct replies to this comment.

moderated
boolean

When true, content fields have been redacted due to moderation policy.

count
required
integer

Number of items in this page

hasMore
required
boolean

Whether more items exist after the last item in data

nextCursor
string

Opaque cursor for the next page. Pass as the 'after' query parameter to fetch the next page.

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",
      • "mentions": [
        ],
      • "moderationStatus": "posted",
      • "parentCommentId": "00000000-0000-1000-9000-510d9bb07630",
      • "parentCommentDeleted": true,
      • "parentComment": {
        },
      • "replyCount": 0,
      • "moderated": true
      }
    ],
  • "count": 0,
  • "hasMore": true,
  • "nextCursor": "string"
}

/posts/{postId}/comments/{commentId}/replies

✨ Create a reply to a comment.

path Parameters
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
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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

Array of objects (CommentMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string

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",
  • "mentions": [
    • {
      • "mentionedUserId": "140e25be-3b54-4b10-8614-005ab1b61fc6",
      • "mentionText": "string"
      }
    ]
}

Response samples

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

moderation

Transition a post's moderation status

✨ Transition a post's moderation status

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

Post ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

Request Body schema: application/json
required
status
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
reason
string

Free-text reason for the moderation action. Optional.

agentId
string <uuid>

ID of the moderating agent (AI or admin). Optional.

comment
string or null

Responses

Response Schema: application/json
id
required
string <uuid>
entityType
required
string
Enum: "post" "comment" "group"
entityId
required
string <uuid>
subjectId
required
string <uuid>
actorId
required
string <uuid>
previousStatus
required
string
newStatus
required
string
reason
string

Free-text reason for the moderation action.

comment
string or null
createdAt
required
string <date-time>

Request samples

Content type
application/json
{
  • "status": "posted",
  • "reason": "string",
  • "agentId": "bc309ecf-5f66-4057-93c5-6611cc9cb7b2",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "entityType": "post",
  • "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  • "subjectId": "68460e63-0717-47f9-8fd8-d28f152cb30b",
  • "actorId": "d2f1b55c-8cee-4a0d-af57-aebaeff77518",
  • "previousStatus": "string",
  • "newStatus": "string",
  • "reason": "string",
  • "comment": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Transition a comment's moderation status

✨ Transition a comment's moderation status

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

Comment ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

Request Body schema: application/json
required
status
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
reason
string

Free-text reason for the moderation action. Optional.

agentId
string <uuid>

ID of the moderating agent (AI or admin). Optional.

comment
string or null

Responses

Response Schema: application/json
id
required
string <uuid>
entityType
required
string
Enum: "post" "comment" "group"
entityId
required
string <uuid>
subjectId
required
string <uuid>
actorId
required
string <uuid>
previousStatus
required
string
newStatus
required
string
reason
string

Free-text reason for the moderation action.

comment
string or null
createdAt
required
string <date-time>

Request samples

Content type
application/json
{
  • "status": "posted",
  • "reason": "string",
  • "agentId": "bc309ecf-5f66-4057-93c5-6611cc9cb7b2",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "entityType": "post",
  • "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  • "subjectId": "68460e63-0717-47f9-8fd8-d28f152cb30b",
  • "actorId": "d2f1b55c-8cee-4a0d-af57-aebaeff77518",
  • "previousStatus": "string",
  • "newStatus": "string",
  • "reason": "string",
  • "comment": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Get non-approved posts by author

✨ Get non-approved moderated posts by subject (author) ID

path Parameters
subjectId
required
string <uuid>

Subject (content author) user ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

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
string <uuid>
mediaIds
required
Array of strings <uuid> (MediaId) [ items <uuid > ]
likeCount
required
integer
commentCount
required
integer
Array of objects (PostMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
object (PostLocation)
latitude
required
number <double>
longitude
required
number <double>
title
required
string
formattedAddress
required
string
country
required
string
subtitle
string
city
string
region
string
street
string
countryCode
required
string
tags
Array of strings
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"

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,
    • "mentions": [
      • {
        }
      ],
    • "location": {
      • "latitude": 0.1,
      • "longitude": 0.1,
      • "title": "string",
      • "formattedAddress": "string",
      • "country": "string",
      • "subtitle": "string",
      • "city": "string",
      • "region": "string",
      • "street": "string",
      • "countryCode": "string",
      • "tags": [
        ]
      },
    • "moderationStatus": "posted"
    }
]

Get non-approved comments by author

✨ Get non-approved moderated comments by subject (author) ID

path Parameters
subjectId
required
string <uuid>

Subject (content author) user ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

Responses

Response Schema: application/json
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
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

Array of objects (CommentMention)
Array
mentionedUserId
required
string <uuid>
mentionText
required
string
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
parentCommentId
string <uuid> (CommentId)

Comment ID

parentCommentDeleted
boolean

Whether the parent comment has been deleted. When true, the client should render "Replying to unavailable comment".

replyCount
integer

Number of non-deleted direct replies to this comment.

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,
    • "edited": true,
    • "createdAt": "2024-11-29T12:09:53+00:00",
    • "updatedAt": "2024-11-29T12:09:53+00:00",
    • "mentions": [
      • {
        }
      ],
    • "moderationStatus": "posted",
    • "parentCommentId": "00000000-0000-1000-9000-510d9bb07630",
    • "parentCommentDeleted": true,
    • "replyCount": 0
    }
]

Transition a group's moderation status

✨ Transition a group's moderation status

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

Group ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

Request Body schema: application/json
required
status
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"
reason
string

Free-text reason for the moderation action. Optional.

agentId
string <uuid>

ID of the moderating agent (AI or admin). Optional.

comment
string or null

Responses

Response Schema: application/json
id
required
string <uuid>
entityType
required
string
Enum: "post" "comment" "group"
entityId
required
string <uuid>
subjectId
required
string <uuid>
actorId
required
string <uuid>
previousStatus
required
string
newStatus
required
string
reason
string

Free-text reason for the moderation action.

comment
string or null
createdAt
required
string <date-time>

Request samples

Content type
application/json
{
  • "status": "posted",
  • "reason": "string",
  • "agentId": "bc309ecf-5f66-4057-93c5-6611cc9cb7b2",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "entityType": "post",
  • "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  • "subjectId": "68460e63-0717-47f9-8fd8-d28f152cb30b",
  • "actorId": "d2f1b55c-8cee-4a0d-af57-aebaeff77518",
  • "previousStatus": "string",
  • "newStatus": "string",
  • "reason": "string",
  • "comment": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Get non-approved groups by owner

✨ Get non-approved moderated groups by subject (owner) ID

path Parameters
subjectId
required
string <uuid>

Subject (content author) user ID

header Parameters
traceparent
string^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-...
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

W3C Trace Context traceparent header for request tracing

Responses

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

Group ID

name
required
string
description
required
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
required
string (ShortName) [ 5 .. 32 ] characters ^[a-zA-Z0-9_]{5,32}$

Short Name for group

postRules
required
string (PostRules)
Enum: "Everyone" "AdminApproval" "OnlyAdmin"
groupType
required
string (GroupType)
Enum: "Public" "Private"
ownerId
required
string <uuid> (OwnerId)

Owner ID

createdAt
required
string <date-time>
updatedAt
required
string <date-time>
moderationStatus
required
string (ModerationStatus)
Enum: "posted" "review" "flagged" "approved" "rejected"

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",
    • "groupType": "Public",
    • "ownerId": "00000000-0000-1000-9000-510d9bb07630",
    • "createdAt": "2019-08-24T14:15:22Z",
    • "updatedAt": "2019-08-24T14:15:22Z",
    • "moderationStatus": "posted"
    }
]