Skip to content

Comment on an activity

POST
/v1/activities/{id}/comments
curl --request POST \
--url http://localhost:3000/v1/activities/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/comments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "text": "example", "parent_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "user_id": "example", "force_moderation": true }'

A bounced body is not stored. The message is This text isn't allowed. A reply to a reply is validation, not a bounce.

id
required
string format: uuid
Media typeapplication/json
object
text
required
string
>= 1 characters <= 2000 characters
parent_id
string format: uuid
user_id

Required for a server token. Ignored on a user token.

string
force_moderation

Server token only. Ignored on a user token.

boolean
Examplegenerated
{
"text": "example",
"parent_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"user_id": "example",
"force_moderation": true
}

The comment.

Media typeapplication/json
object
id
required
string format: uuid
activity_id
required
string format: uuid
parent_id
required
string | null format: uuid
user_id
required
string
text
required
string
reply_count
required
integer
created_at
required
string format: date-time
edited_at
required
string | null format: date-time
Examplegenerated
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"activity_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"parent_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"user_id": "example",
"text": "example",
"reply_count": 1,
"created_at": "2026-04-15T12:00:00Z",
"edited_at": "2026-04-15T12:00:00Z"
}

VALIDATION_FAILED for bad text, bad parent depth, bad length, or a server token missing user_id. CONTENT_REJECTED when the scan bounces. The message is This text isn't allowed.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: VALIDATION_FAILED UNAUTHENTICATED FORBIDDEN NOT_FOUND CONFLICT RATE_LIMITED INTERNAL CONTENT_REJECTED
message
required
string
requestId
required
string
fields

Present only for VALIDATION_FAILED.

Array<object>
object
path
string
message
string
Example
{
"error": {
"code": "VALIDATION_FAILED"
}
}

Invalid, expired, revoked, or absent token.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: VALIDATION_FAILED UNAUTHENTICATED FORBIDDEN NOT_FOUND CONFLICT RATE_LIMITED INTERNAL CONTENT_REJECTED
message
required
string
requestId
required
string
fields

Present only for VALIDATION_FAILED.

Array<object>
object
path
string
message
string
Example
{
"error": {
"code": "VALIDATION_FAILED"
}
}

Activity missing or soft-deleted, or parent_id names a comment that does not exist.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: VALIDATION_FAILED UNAUTHENTICATED FORBIDDEN NOT_FOUND CONFLICT RATE_LIMITED INTERNAL CONTENT_REJECTED
message
required
string
requestId
required
string
fields

Present only for VALIDATION_FAILED.

Array<object>
object
path
string
message
string
Example
{
"error": {
"code": "VALIDATION_FAILED"
}
}