---
title: "Add post comment"
method: POST
path: "/api/businesses/{business_id}/posts/{post_id}/comments"
tags: ["posts"]
---

# Add post comment

`POST /api/businesses/{business_id}/posts/{post_id}/comments`

## Request

- Base URL: `https://api.mymarky.ai`
- URL: `https://api.mymarky.ai/api/businesses/{business_id}/posts/{post_id}/comments`
- Auth: HTTP bearer

Add a comment to a post's review thread.

The comment shows up on the post in the app, where your team reviews posts.
Use it to give reviewers context ("swap the image before approving") or to
reply to their feedback. The comment is attributed to your user account —
with an API key, that is the team member who created the key.

Errors:
    401 authentication_required: API key or token is missing, invalid, or revoked.
    403 permission_denied: Your plan does not include API access, or this business is not in your org.
    404 resource_not_found: No post with that ID exists, or it is not in this business.
    422: The body is missing, empty, or longer than 2000 characters.
    429 rate_limit_exceeded: You sent too many requests this minute.

## Path parameters

- `business_id` string, required: A UUID identifier.
- `post_id` string, required: A UUID identifier.

## Headers

- `Marky-Version` '2026-04-08' | '2026-07-17' | '2026-08-02' | '2026-08-04' | '2026-08-06'

## Request body

- PostCommentCreateRequest
  - `body` string, required: The comment text (1-2000 characters). Shows in the post's review thread in the app, where your team sees it.

## Response `201`

Successful Response

- PostCommentResponse
  - `id` string, required: Comment ID
  - `body` string, required: The comment text
  - `user_id` string, required: ID of the team member who wrote the comment
  - `author_name` string, nullable: Display name of the team member who wrote the comment. Null when the account has no name set.
  - `resolved` boolean, required: Whether your team marked this comment as handled
  - `created_at` string, required: When the comment was written
  - `updated_at` string, nullable: Last update time

## Other responses

- `400`: Bad request — the input was malformed or otherwise invalid.
- `401`: Authentication failed — the API key is missing or invalid.
- `403`: Forbidden — the key is valid but may not access this resource.
- `404`: Not found — no resource matches the id in the path.
- `422`: Validation error — one or more fields failed validation.
- `429`: Rate limited — retry after the window resets (see Retry-After).
- `500`: Server error — something failed on our side; retry or quote X-Request-Id.

---

[API](https://skmtc.dev/mymarky/apis/marky-public-api.md) · [All operations](https://skmtc.dev/mymarky/apis/marky-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mymarky/apis/marky-public-api/revisions/25aeacae455c?raw)
