Comment on a roadmap item
curl --request POST \
--url https://api.plazza.ca/v1/roadmapBoards/{board}/items/{item}/comments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"body": "Weโd use this every week.",
"parent": null,
"displayName": "Camille Tremblay"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
body: JSON.stringify('Weโd use this every week.'),
parent: null,
displayName: 'Camille Tremblay'
})
};
fetch('https://api.plazza.ca/v1/roadmapBoards/{board}/items/{item}/comments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.plazza.ca/v1/roadmapBoards/{board}/items/{item}/comments"
payload = {
"body": "Weโd use this every week.",
"parent": None,
"displayName": "Camille Tremblay"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"name": "roadmapBoards/hire/items/019a7c2e-4b1d-7c3a-9d4e-5f6a7b8c9d0e/comments/019a7c31-0e2f-7a1b-8c3d-4e5f6a7b8c9d",
"parent": null,
"source": "PLAZZA",
"body": "Weโd use this every week.",
"author": {
"displayName": "Camille Tremblay",
"staff": false
},
"reactions": [
{
"emoji": "๐",
"count": 3
}
],
"replyCount": 2,
"etag": "\"1\"",
"createTime": "2026-11-05T09:12:44.031Z",
"updateTime": "2026-11-05T09:12:44.031Z",
"deleteTime": "2026-11-05T09:12:44.031Z"
}{
"error": {
"code": 401,
"message": "Unauthorized",
"status": "UNAUTHENTICATED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "MISSING_CREDENTIALS",
"domain": "api.plazza.ca"
},
{
"@type": "type.googleapis.com/google.rpc.LocalizedMessage",
"locale": "en",
"message": "Sign in to continue."
}
]
}
}Roadmap
Comment on a roadmap item
A top-level comment, or a reply to one. Your first post or comment needs a displayName.
POST
/
v1
/
roadmapBoards
/
{board}
/
items
/
{item}
/
comments
Comment on a roadmap item
curl --request POST \
--url https://api.plazza.ca/v1/roadmapBoards/{board}/items/{item}/comments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"body": "Weโd use this every week.",
"parent": null,
"displayName": "Camille Tremblay"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
body: JSON.stringify('Weโd use this every week.'),
parent: null,
displayName: 'Camille Tremblay'
})
};
fetch('https://api.plazza.ca/v1/roadmapBoards/{board}/items/{item}/comments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.plazza.ca/v1/roadmapBoards/{board}/items/{item}/comments"
payload = {
"body": "Weโd use this every week.",
"parent": None,
"displayName": "Camille Tremblay"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"name": "roadmapBoards/hire/items/019a7c2e-4b1d-7c3a-9d4e-5f6a7b8c9d0e/comments/019a7c31-0e2f-7a1b-8c3d-4e5f6a7b8c9d",
"parent": null,
"source": "PLAZZA",
"body": "Weโd use this every week.",
"author": {
"displayName": "Camille Tremblay",
"staff": false
},
"reactions": [
{
"emoji": "๐",
"count": 3
}
],
"replyCount": 2,
"etag": "\"1\"",
"createTime": "2026-11-05T09:12:44.031Z",
"updateTime": "2026-11-05T09:12:44.031Z",
"deleteTime": "2026-11-05T09:12:44.031Z"
}{
"error": {
"code": 401,
"message": "Unauthorized",
"status": "UNAUTHENTICATED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "MISSING_CREDENTIALS",
"domain": "api.plazza.ca"
},
{
"@type": "type.googleapis.com/google.rpc.LocalizedMessage",
"locale": "en",
"message": "Sign in to continue."
}
]
}
}Authorizations
Path Parameters
Query Parameters
Makes a retry safe: a request with the same id and content returns the resource the first one created.
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Example:
"0f5e8c1e-7a8b-4c2d-9e1f-2a3b4c5d6e7f"
Body
application/json
A comment on a roadmap item.
Response
A comment on a roadmap item, or a reply to one. Threads are one level deep.
A comment on a roadmap item, or a reply to one. Threads are one level deep.