# Reply or comment

> Reply to a comment, or comment on one of the account's own posts.

Canonical: <https://www.tryadeli.com/docs/api/comments/create-comment>

`POST https://app.tryadeli.com/api/v1/comments`

Authorization: `Bearer <API key>` — see [Authentication](https://www.tryadeli.com/docs/authentication)

Send `parentId` to reply to a comment, or `postId` alone to comment on one of
the account's own posts. Instagram supports replies only. TikTok and YouTube
need `postId` for a reply too. Comments are public as soon as the provider accepts them.

**Body**

| Name        | Type                                                 | Required | Description                                                                                 |
| ----------- | ---------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------- |
| `platform`  | `"instagram" \| "facebook" \| "tiktok" \| "youtube"` | Yes      |                                                                                             |
| `accountId` | `uuid`                                               | Yes      |                                                                                             |
| `profileId` | `uuid`                                               |          | Optional, because accountId names its profile. If you pass both, they must agree.           |
| `postId`    | `string`                                             |          | The post. Required for a top-level comment, and for any TikTok or YouTube comment.          |
| `parentId`  | `string`                                             |          | The comment being replied to. Required on Instagram.                                        |
| `message`   | `string`                                             | Yes      | Up to 2,200 characters on Instagram, 1,200 on TikTok, 8,000 on Facebook, 10,000 on YouTube. |

Returns `201` with `{ platform, accountId, profileId, comment }`. On TikTok and
YouTube `comment` is the full comment in the shape
[List comments](https://www.tryadeli.com/docs/api/comments/list-comments) returns; Instagram and Facebook return
the new comment's id.

**Errors** — `401 unauthorized`, `400 invalid_request`, `404 account_not_found`,
`409 page_not_selected`, `422 connection_expired`, `429 rate_limited`,
`429 quota_exhausted`, `502 provider_error`.

## Request examples

**cURL**

```bash
curl --fail-with-body -X POST "https://app.tryadeli.com/api/v1/comments" \
  -H "Authorization: Bearer $ADELI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "platform": "tiktok",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "postId": "7300000000000000000",
  "parentId": "7301000000000000001",
  "message": "Thank you!"
}'
```

**JavaScript**

```javascript
const response = await fetch("https://app.tryadeli.com/api/v1/comments", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ADELI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    platform: "tiktok",
    accountId: "00000000-0000-0000-0000-000000000000",
    postId: "7300000000000000000",
    parentId: "7301000000000000001",
    message: "Thank you!",
  }),
});
console.log(await response.json());
```

**Python**

```python
import os

import requests

response = requests.post(
    "https://app.tryadeli.com/api/v1/comments",
    headers={"Authorization": f"Bearer {os.environ['ADELI_API_KEY']}"},
    json={
        "platform": "tiktok",
        "accountId": "00000000-0000-0000-0000-000000000000",
        "postId": "7300000000000000000",
        "parentId": "7301000000000000001",
        "message": "Thank you!",
    },
)
print(response.json())
```

## Responses

### 201

```json
{
  "platform": "tiktok",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "profileId": "00000000-0000-4000-8000-000000000001",
  "comment": {
    "id": "7301000000000000002",
    "mediaId": "7300000000000000000",
    "parentId": "7301000000000000001",
    "authorName": "Creator",
    "authorFullName": "Creator",
    "authorHandle": "creator",
    "avatarUrl": null,
    "profileUrl": "https://www.tiktok.com/@creator",
    "body": "Thank you!",
    "likeCount": 0,
    "isCreator": true,
    "isHidden": false,
    "createdAt": "2026-09-30T13:05:00.000Z",
    "liked": false,
    "deletable": true
  }
}
```

### 400

```json
{
  "error": {
    "code": "invalid_request",
    "message": "Instagram supports replies only",
    "details": [
      { "code": "custom", "path": ["parentId"], "message": "Instagram supports replies only" }
    ]
  }
}
```
