Comment on a brand page, or reply
POST
/api/v1/brands/{slug}/comments
const url = 'http://localhost:3000/api/v1/brands/example/comments';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"page":"example","section":"example","parent":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","body":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:3000/api/v1/brands/example/comments \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "page": "example", "section": "example", "parent": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "body": "example" }'page (and section, a section’s id on it) starts a thread; a page or section that isn’t there is a 404. parent replies in a thread instead, on its page and section; a reply to a reply joins its thread, and a reply to a resolved thread reopens it. Takes propose on the project.
Scope: propose.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”slug
required
string
Brand slug
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
Examplegenerated
{ "page": "example", "section": "example", "parent": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "body": "example"}Responses
Section titled “Responses”The comment
Media typeapplication/json
object
data
required
object
id
required
string format: uuid
page
required
The page’s slug now: a comment on a page renamed since follows it
string
section
required
The section’s id; null for the page as a whole
string | null
body
required
string
author
required
Their name when they wrote it
string
authorId
required
The person’s id; null for an agent’s, or once they are gone
string | null
mine
required
Written by the caller: theirs to edit and delete
boolean
resolvedBy
required
string | null
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
Examplegenerated
{ "data": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "page": "example", "section": "example", "parent": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "body": "example", "author": "example", "authorId": "example", "mine": true, "resolvedAt": "2026-04-15T12:00:00Z", "resolvedBy": "example", "editedAt": "2026-04-15T12:00:00Z", "createdAt": "2026-04-15T12:00:00Z", "updatedAt": "2026-04-15T12:00:00Z" }}default
Section titled “default”An error
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": "example" }}