---
title: "Create Tech Pack Comment"
method: POST
path: "/questionnaires/jobs/{job_id}/comments"
tags: ["questionnaires"]
---

# Create Tech Pack Comment

`POST /questionnaires/jobs/{job_id}/comments`

## Request

- Base URL: `https://api.threadchain.pro` (the document declares no server; this is the origin it was published from)
- URL: `https://api.threadchain.pro/questionnaires/jobs/{job_id}/comments`
- Auth: OAuth 2
  - Password
  - Token URL: `auth/token`

## Path parameters

- `job_id` string, uuid, required

## Request body

- TechPackCommentCreate
  - `page` string, required: Tech pack editor page slug, e.g. 'cover', 'pom', 'bom'.
  - `body` string, required
  - `x_percent` number, nullable: Horizontal pin position as % of content width.
  - `y_percent` number, nullable: Vertical pin position as % of content height.
  - `asset_key` string, nullable: Visual target within the page (e.g. 'main').
  - `mentioned_user_ids` string[]: Users @mentioned in this comment (notified by email).
  - `parent_comment_id` string, uuid, nullable: Reply to this thread root comment (replies are not pinned).
  - `locale` string: Locale the author was writing in (defaults to 'en' for older frontend builds).
  - `page_label` string, nullable: Human-readable page name for the group-chat copy (e.g. 'Colourways').
  - `chat_attachments` MessageAttachment[]: Attachments (e.g. pin snapshot) for the group-chat copy only.
    - `url` string, required
    - `name` string, nullable
    - `mime` string, nullable
    - `size` integer, nullable

## Response `201`

Successful Response

- TechPackCommentResponse
  - `id` string, uuid, required
  - `tech_pack_job_id` string, uuid, required
  - `page` string, required
  - `body` string, required
  - `x_percent` number, nullable
  - `y_percent` number, nullable
  - `asset_key` string, nullable
  - `parent_comment_id` string, uuid, nullable
  - `author` TechPackCommentAuthor, required: Comment author summary, including a derived role label.
    - `id` string, uuid, nullable
    - `email` string, nullable
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `role` string
    - `is_guest` boolean
    - `display_name` string, nullable
  - `mentioned_users` TechPackCommentAuthor[]
    - `id` string, uuid, nullable
    - `email` string, nullable
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `role` string
    - `is_guest` boolean
    - `display_name` string, nullable
  - `replies` TechPackCommentResponse[]
  - `is_resolved` boolean
  - `resolved_at` string, date-time, nullable
  - `resolved_by` TechPackCommentAuthor: Comment author summary, including a derived role label.
    - `id` string, uuid, nullable
    - `email` string, nullable
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `role` string
    - `is_guest` boolean
    - `display_name` string, nullable
  - `source_locale` string
  - `content_i18n` object, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/threadchain/apis/threadchain-backend.md) - [All operations](https://skmtc.dev/threadchain/apis/threadchain-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/threadchain/apis/threadchain-backend/revisions/8ee288a7e6bd?raw)
