---
title: "List Finishes"
method: GET
path: "/v1/finishes"
tags: ["manufacturing-v1"]
---

# List Finishes

`GET /v1/finishes`

Mechanical finishes. DFM `capabilities.finish_id` decides eligibility for
a specific part; this list only says what exists.

## Query parameters

- `process` 'sheet_metal' | 'tube_laser', nullable — Only finishes that can be applied to this process.
- `limit` integer — Items per page (max 500).
- `cursor` string, nullable — `next_cursor` from the previous page.

## Response `200`

Successful Response

- V1ListV1Finish
  - `object` 'list'
  - `data` V1Finish[], required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `description` string, nullable
    - `category` string, nullable
    - `processes` string[] — Processes this finish can be applied to.
    - `base_price_cents` integer
    - `price_per_cm2_cents` number
    - `price_tiers` V1PriceTier[]
      - `quantity` integer, required
      - `unit_amount_cents` integer, required
    - `min_length_mm` number, nullable
    - `max_length_mm` number, nullable
    - `min_width_mm` number, nullable
    - `max_width_mm` number, nullable
    - `min_height_mm` number, nullable
    - `max_height_mm` number, nullable
    - `min_narrow_side_mm` number, nullable
    - `max_narrow_side_mm` number, nullable
    - `min_thickness_mm` number, nullable
    - `max_thickness_mm` number, nullable
    - `min_surface_area_cm2` number, nullable
    - `min_fill_ratio` number, nullable
    - `eligible_material_ids` string[], nullable
    - `part_flag` string, nullable
  - `has_more` boolean
  - `next_cursor` string, nullable — Opaque cursor for the next page. Pass it as the `cursor` query parameter. Null when `has_more` is false.

## Other responses

- `401` — Missing or invalid credentials.
- `403` — The credentials do not permit this operation.
- `404` — The resource does not exist or is not visible to the caller.
- `422` — Validation failed; see `error.param` and `error.details`.
- `429` — Rate limit exceeded; retry after the `Retry-After` header.
- `500` — Unexpected failure; safe to retry with the same Idempotency-Key.

## Changes

- **2026-09-06** `b7e901150c5c` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rmfg/apis/fastapi/changes/v1/finishes/get.md)

---

[API](https://skmtc.dev/rmfg/apis/fastapi.md) · [All operations](https://skmtc.dev/rmfg/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/rmfg/apis/fastapi/revisions/737527fc081e?raw)
