---
title: "Create Annotation Reply"
method: POST
path: "/api/v1/annotations/{annotation_id}/replies"
tags: ["annotations"]
---

# Create Annotation Reply

`POST /api/v1/annotations/{annotation_id}/replies`

## Path parameters

- `annotation_id` string, uuid, required

## Request body

- CreateAnnotationReplyRequest
  - `id` string, uuid, nullable
  - `body` string, required
  - `parent_reply_id` string, uuid, nullable

## Response `201`

Successful Response

- ReplyWriteResponse
  - `reply` AnnotationReply, required
    - `id` string, uuid, required
    - `annotation_id` string, uuid, required
    - `parent_reply_id` string, uuid, nullable, required
    - `entry_kind` 'comment' | 'status_change', required
    - `body` string, nullable, required
    - `new_status` 'accepted' | 'rejected' | 'completed' | 'cancelled', nullable, required
    - `author_id` string, uuid, nullable, required
    - `author_name` string, required
    - `author_kind` 'user' | 'agent' | 'imported', required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `deleted_at` string, date-time, nullable, required
    - `source` SourceSummary — Bounded import provenance safe for HTTP responses. Fields are optional read-side tolerance: the import pipeline writes all three, but a partial ``source`` row must never fail a list response.
      - `origin` string, nullable
      - `nm` string, nullable
      - `import_id` string, uuid, nullable
  - `annotation` Annotation, required — unresolved $ref

## Other responses

- `4XX` — Client Error
- `5XX` — Server Error

---

[API](https://skmtc.dev/rudus/apis/rudus-api.md) · [All operations](https://skmtc.dev/rudus/apis/rudus-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rudus/rudus-api/revisions/f149124a4d80/schema)
