`POST /v1/orgs/{org}/proposals/{proposal_id}/comments`.
const url = 'https://api.updawg.net/v1/orgs/example/proposals/example/comments';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"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 https://api.updawg.net/v1/orgs/example/proposals/example/comments \ --header 'Content-Type: application/json' \ --data '{ "body": "example" }'Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Organization slug.
The prp_… id.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Option so that a missing field reaches [Body::parse] rather than
axum’s body rejection — see the note in [create]. It is still
required; what is optional is which of the three ways of not sending it
the caller chose.
Examplegenerated
{ "body": "example"}Responses
Section titled “Responses”Written. mentions lists the addresses that resolved to members of this organization; one belonging to somebody elsewhere and one belonging to nobody produce the same answer.
object
object
Who this comment addressed, as resolved when it was written.
Always present, empty when there were none, because a portal that has to
tell null from [] will get it wrong once.
object
Examplegenerated
{ "author": { "email": "example", "id": "example", "name": "example" }, "body": "example", "id": "example", "mentions": [ { "email": "example", "id": "example", "name": "example" } ], "written_at": "2026-04-15T12:00:00Z"}An empty body.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}No session.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Refused: no CSRF token or not this session’s, or not permitted for this role.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}No such proposal here.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}