---
title: "Get Public Motor Family"
method: GET
path: "/v1/public/motors/{component_id}/family"
tags: ["v1", "public"]
---

# Get Public Motor Family

`GET /v1/public/motors/{component_id}/family`

## Request

- Base URL: `https://thrustlab.com`
- URL: `https://thrustlab.com/v1/public/motors/{component_id}/family`
- Auth: none required

The other winds of this motor: same model, different kv.

A catalog row is one wind, so `X2212 980kV` and `X2212 1400kV` are two rows
of one motor. This lists the rows that belong together, ordered by kv and
capped at twelve, so a page can offer the reader the wind they actually
want.

`family_key` is null — and `members` empty — when the family cannot be
established: no precomputed generation is live, this motor has no published
pairing, or its brand's naming could not be tokenised reliably enough to
group by. Null means "there is no switcher to draw", never "guess": a
sibling that is not one is worse than no list at all.

Motors only. A propeller is not sold in winds and a battery is not either,
so neither has a family to switch between.

## Path parameters

- `component_id` string, required

## Response `200`

Successful Response

- PublicComponentFamily: The kv-variant siblings of one motor. A catalog row is one WIND, so the family is the set of rows that are the same motor at different kv. ``family_key`` is null — and ``members`` empty — whenever the family cannot be established, which means "render no switcher" rather than "guess a sibling".
  - `component_id` string, required
  - `family_key` string, nullable: The key these rows are grouped by, or null when no generation is live, this motor has no published pairing, or its brand's naming could not be tokenised reliably.
  - `license` string, required
  - `members` CatalogFamilyMember[], required: Ordered by kv, at most twelve. Includes this motor.
    - `id` string, required: Public component id (comp_<ksuid>).
    - `kv` number, nullable: The wind, which is what the list is ordered by.
    - `name` string, required
    - `slug` string, nullable: URL segment of that row's page, or null for a row minted before slugs existed (it has no page to link to yet).
  - `object` 'component_family'
  - `type` 'motor'

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thrustlab/apis/thrustlab-api.md) · [All operations](https://skmtc.dev/thrustlab/apis/thrustlab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrustlab/apis/thrustlab-api/revisions/c19717e52529?raw)
