---
title: "Create Critical Surface"
method: POST
path: "/api/v1/parts/{part_id}/critical-surfaces"
tags: ["part_annotations"]
---

# Create Critical Surface

`POST /api/v1/parts/{part_id}/critical-surfaces`

Mark or un-mark a face as critical.

When ``is_critical=false`` and an existing designation exists, the
designation is soft-deleted and a 204 is returned.

## Path parameters

- `part_id` string, uuid, required

## Request body

- CriticalSurfaceCreate — Payload for ``POST /parts/{part_id}/critical-surfaces``.
  - `face_id` string, required — Topology face ID (e.g. ``face_7``).
  - `is_critical` boolean, required — Set True to mark as critical, False to un-mark an existing critical designation.

## Response `201`

Successful Response

- CriticalSurfaceRead — Response projection for a critical surface OutcomeEvent.
  - `id` string, uuid, required
  - `part_id` string, uuid, required
  - `cad_file_version_id` string, uuid, nullable, required
  - `face_id` string, required
  - `is_critical` boolean, required
  - `state` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable, required

## Other responses

- `422` — Validation Error

---

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