---
title: "POST /api/v1/projects/{project_id}/issues/{ref}/attachments/links"
method: POST
path: "/api/v1/projects/{project_id}/issues/{ref}/attachments/links"
---

# POST /api/v1/projects/{project_id}/issues/{ref}/attachments/links

`POST /api/v1/projects/{project_id}/issues/{ref}/attachments/links`

## Request

- The document declares no server URL.
- Auth: none declared
- TypeScript: <https://skmtc.dev/kenn-io/apis/kata/docs/api/v1/projects/:project_id/issues/:ref/attachments/links/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `project_id` integer, required
- `ref` string, required

## Request body

- LinkAttachmentInput
  - `actor` string
  - `node_id` integer
  - `path` string
  - `reuse_existing` boolean: When true, return the smallest existing attachment ID for this resolved Docbank version, or create a reference if none exists.
  - `version_id` string, uuid

## Response `200`

OK

- AddAttachmentResponseBody
  - `attachment` Attachment, required
    - `docbank_version` string, uuid, required
    - `media_type` string, required
    - `name` string, required
    - `size` integer, required
  - `attachment_id` string, required

## Other responses

- `default`: Error

## Changes

- **2026-11-04** `f84ce541fa5a`: 1 info
  - added the new optional request property `reuse_existing`
- **2026-11-04** `25feca03da93`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kenn-io/apis/kata/changes/api/v1/projects/:project_id/issues/:ref/attachments/links/post.md)

---

[API](https://skmtc.dev/kenn-io/apis/kata.md) - [All operations](https://skmtc.dev/kenn-io/apis/kata/llms.txt) - [OpenAPI document](https://skmtc.dev/kenn-io/apis/kata/revisions/f9c29d9b41e3?raw)
