---
title: "Create Annotation"
method: POST
path: "/api/document/{doc_ext_id}/annotation"
tags: ["document"]
---

# Create Annotation

`POST /api/document/{doc_ext_id}/annotation`

Create an annotation for a document.

If tag_name is provided, uses existing tag or creates new one.
If tag_name is not provided, auto-generates a system tag.
The shared status inherits from document unless explicitly overridden.

## Path parameters

- `doc_ext_id` string, required

## Request body

- CreateAnnotationRequest
  - `note` string, nullable
  - `page_ref` integer, nullable
  - `tag_name` string, nullable

## Response `201`

Successful Response

- DocTagResponse
  - `doctag_ext_id` string, required
  - `doc_ext_id` string, required
  - `tag_ext_id` string, required
  - `note` string, nullable
  - `page_ref` integer, nullable
  - `created_by_ext_id` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

## Changes

- **2025-08-06** `43c12480eb1b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/arbicity/apis/arbi/changes/api/document/:doc_ext_id/annotation/post.md)

---

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