Comments

Comments are replies on posts. They are nested under posts in the URL.

Required scope: read:comments, write:comments. The walls feature must be enabled for the company, otherwise every endpoint returns 403 (see Walls).

An unknown post, a post an employee has scheduled for later (see Posts), or a comment id that is not on the given post returns 404.

Endpoints

GET
/api/open/v1/posts/{post_id}/comments

List comments on a post (paginated)

GET
/api/open/v1/posts/{post_id}/comments/{id}

Get a single comment

POST
/api/open/v1/posts/{post_id}/comments

Add a comment to a post

PUT
/api/open/v1/posts/{post_id}/comments/{id}

Update a comment (author only, within 30 minutes)

DELETE
/api/open/v1/posts/{post_id}/comments/{id}

Delete a comment (returns 204)

List comments

Most recently updated first. Replies are listed alongside top-level comments, and the response does not say which comment a reply answers. Standard list parameters: page, per_page (max 50), since (ISO 8601 datetime).

curl "https://customer.monotree.com/api/open/v1/posts/123/comments?per_page=10" \
  -H "Authorization: Bearer mono_your_token_here"

Add a comment

curl -X POST https://customer.monotree.com/api/open/v1/posts/123/comments \
  -H "Authorization: Bearer mono_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"body": "Thanks for the update!"}'
FieldTypeNotes
bodystringRequired. Max 5,000 characters.

The comment is written by the token's user (or the system user, if the token is configured that way) and returns 201. If comments are turned off on the post, the request returns 422.

PUT takes the same body field, also required. DELETE removes any comment on the post, not only the token's own, and returns 204.

Response

{
  "data": {
    "id": 789,
    "body": "Thanks for the update!",
    "post_id": 123,
    "wall_id": 1,
    "author": {
      "id": 42,
      "name": "Jane Doe",
      "first_name": "Jane",
      "last_name": "Doe",
      "title": "Sous Chef",
      "email": "jane@example.com",
      "type": "default",
      "avatar_url": "https://images.monotree.com/avatars/jane-doe.jpg",
      "is_manager": false,
      "groups": [
        { "id": 1, "name": "Kitchen Staff", "type": "department", "is_manager": false, "created_at": "2026-01-15T10:00:00+01:00" }
      ],
      "hired_at": "2025-06-01",
      "date_of_birth": "1994-08-12",
      "is_away": false,
      "last_active_on": "2026-03-22T14:05:12.000000Z",
      "registered_at": "2025-06-01T09:00:00+02:00",
      "created_at": "2025-06-01T09:00:00+02:00"
    },
    "created_at": "2026-03-22T10:00:00+01:00",
    "updated_at": "2026-03-22T10:00:00+01:00"
  }
}

author is the same user object served by /users. Its type is default for an employee, or system when the token is set to act as the system user.