---
title: "Get Public Propeller"
method: GET
path: "/v1/public/propellers/{component_id}"
tags: ["v1", "public"]
---

# Get Public Propeller

`GET /v1/public/propellers/{component_id}`

## Request

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

One curated propeller, unauthenticated, with the full datasheet projection.

## Path parameters

- `component_id` string, required

## Response `200`

Successful Response

- PublicComponentResource: One component, read by id. The list projection plus the licence.
  - `curve_pack_cells` integer, nullable: The field gives the cell count of the stand-in battery pack used for a motor's published curves. It is null on propellers, batteries and motors with no published curves.
  - `id` string, required: Public component id (comp_<ksuid>).
  - `license` string, required
  - `name` string, required
  - `slug` string, nullable: The row's URL segment — the one GET /v1/public/{type}/by-slug/{slug} resolves. Null only for a row minted before the column existed; a client should fall back to the id rather than derive a slug of its own, because the minting rule is the server's.
  - `source` string, nullable: Where the row came from. Published, not hidden: a dataset whose rows cannot be attributed is one a reader has to take on trust.
  - `spec_json` object, required: The datasheet. The same projection an authenticated caller reads. A propeller's station arrays are digitised blade geometry and are not part of it.
  - `type` 'motor' | 'propeller' | 'battery', required
  - `updated_at` string, nullable: When the row was last touched (ISO 8601).

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