---
title: "Get Part Features"
method: GET
path: "/api/v1/parts/{part_id}/features"
tags: ["features"]
---

# Get Part Features

`GET /api/v1/parts/{part_id}/features`

Get detected features for a part's latest CAD version.

Phase 6C: features are filtered by the part's machining process
(via ``canonical_process`` bucket) so sheet-metal parts don't show
CNC threads, CNC parts don't show bends, etc. If the part has no
process selected (NULL ``machining_process_id``) or the process
slug is unknown, the filter is a no-op and all features are
returned. Admins can force the unfiltered list via ``?unfiltered=true``.

## Path parameters

- `part_id` string, uuid, required

## Query parameters

- `unfiltered` boolean — Escape hatch for debugging. When true, returns ALL detected features including those irrelevant to the part's machining process. Available to any authenticated owner of the part — the data returned is data the user already owns; the flag just disables the process-aware filter.

## Response `200`

Successful Response

- FeatureResponse — Response for GET /parts/{part_id}/features.
  - `part_id` string, uuid, required
  - `version_id` string, uuid, nullable
  - `detected_features` object, nullable

## 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)
