> ## Documentation Index
> Fetch the complete documentation index at: https://docs.userorbit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Topic Comment

> Add a comment or reply to a topic. Requires subscriber authentication.

## Authentication

```bash theme={null}
Authorization: Bearer SUBSCRIBER_JWT_TOKEN
```

## Request Body

<ParamField body="id" type="string" required>
  Topic ID (UUID) to comment on
</ParamField>

<ParamField body="text" type="string" required>
  Comment text content
</ParamField>

<ParamField body="parentId" type="string">
  Parent comment ID (UUID) for replies. Omit for top-level comments.
</ParamField>

<ParamField body="source" type="string">
  Comment source (e.g., "widget", "api", "email")
</ParamField>

## Response

<ResponseField name="data" type="object">
  Created comment object with subscriber info

  <Expandable title="properties">
    <ResponseField name="id" type="string">Comment ID</ResponseField>
    <ResponseField name="text" type="string">Comment text</ResponseField>
    <ResponseField name="topicId" type="string">Topic ID</ResponseField>
    <ResponseField name="creatorId" type="string">Subscriber ID</ResponseField>
    <ResponseField name="parentId" type="string">Parent comment ID (if reply)</ResponseField>
    <ResponseField name="source" type="string">Comment source</ResponseField>
    <ResponseField name="createdAt" type="string">Creation timestamp</ResponseField>
    <ResponseField name="subscriber" type="object">Comment author</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL - Top-level Comment theme={null}
  curl --location --request POST 'https://api.userorbit.com/v1/public/topic-comments.create' \
  --header 'Authorization: Bearer SUBSCRIBER_JWT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "id": "topic-uuid-123",
    "text": "This would be a great addition!",
    "source": "widget"
  }'
  ```

  ```bash cURL - Reply theme={null}
  curl --location --request POST 'https://api.userorbit.com/v1/public/topic-comments.create' \
  --header 'Authorization: Bearer SUBSCRIBER_JWT_TOKEN' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "id": "topic-uuid-123",
    "text": "I completely agree!",
    "parentId": "comment-uuid-parent",
    "source": "widget"
  }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.userorbit.com/v1/public/topic-comments.create', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${subscriberToken}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      id: topicId,
      text: 'Great idea!',
      source: 'widget'
    })
  });

  const { data: comment } = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "id": "comment-uuid-new",
      "text": "This would be a great addition!",
      "topicId": "topic-uuid-123",
      "creatorId": "sub-uuid-789",
      "parentId": null,
      "source": "widget",
      "createdAt": "2024-01-17T17:30:00Z",
      "subscriber": {
        "id": "sub-uuid-789",
        "name": "John Doe",
        "email": "john@example.com"
      }
    }
  }
  ```
</ResponseExample>

## Behavior

* **Event Trigger**: Fires `topic-comments.create` event for Zapier
* **Team Validation**: Subscriber must belong to same team
* **Nested Replies**: Supports threaded conversations

## Webhooks

Triggers Zapier event:

```json Event: topic-comments.create theme={null}
{
  "event": "topic-comments.create",
  "commentId": "comment-uuid-new",
  "topicId": "topic-uuid-123",
  "subscriberId": "sub-uuid-789",
  "teamId": "team-uuid"
}
```

## Notes

* Returns full comment with subscriber details
* Comment immediately visible to all users
* Supports unlimited nesting via parentId
