---
title: "Read one curated part model by manufacturer part number"
method: GET
path: "/v1/library/parts/{mpn}"
tags: ["Library"]
---

# Read one curated part model by manufacturer part number

`GET /v1/library/parts/{mpn}`

## Request

- Base URL: `https://electronics-architect.com`
- URL: `https://electronics-architect.com/v1/library/parts/{mpn}`
- Auth: HTTP bearer

Scope: `read`. Exact MPN, case-insensitive, e.g. `TPS54824`. 404 `NOT_FOUND` when the library has no model for it — the library is curated, not exhaustive, so a miss means "enter the datasheet values by hand", not "the part does not exist".

## Path parameters

- `mpn` string, required

## Response `200`

The model.

- PartModel: A parametric model the library stands behind: identity (mpn, manufacturer, type, package, notes, grade, datasheetUrl) plus `properties` — the node's FULL property set with the library's values applied by the same routine the editor's part picker uses (an SMPS's single typical efficiency becomes the three handles), `provenance` — for each key the library supplied, what stands behind it (`curated`, `datasheet_extracted`, `community`, `admin`, or `verified` when a person verified it), and `filledFromDefaults` — the property keys the library did NOT supply, which are registry defaults, not datasheet figures. Copy `properties` into a node of that `type`; check `filledFromDefaults` before trusting a number the datasheet should have given.
  - `mpn` string
  - `manufacturer` string
  - `type` string: The node type this model fills, e.g. `SMPS`.
  - `package` string
  - `notes` string
  - `grade` string
  - `datasheetUrl` string
  - `source` 'library'
  - `properties` object: The complete, schema-valid property block for a node of this type, SI base units.
  - `provenance` object: Per supplied key: curated | datasheet_extracted | community | admin | verified.
  - `filledFromDefaults` string[]: Property keys the library did not supply.
  - `updatedAt` string, nullable

## Other responses

- `401`: No key, a browser token instead of a key, an unknown key, or a revoked key (code KEY_REVOKED).
- `403`: The key lacks a required scope (INSUFFICIENT_SCOPE), or the call needs a plan the account does not have (PLAN_REQUIRED): on the Free plan, compare, exports, Monte Carlo jobs, AI synthesis, a design with more than one sheet, or a save, share or key past the Free limits; or a team key whose team is no longer paid for.
- `404`: The library has no model for that MPN.
- `429`: RATE_LIMITED: the key's per-minute allowance is used up (or, before any key is recognised, too many requests from one address presented an unknown or revoked key). On the routes that solve inside the request (solve, verify, derating, compare, exports, ai/review, ai/synthesize) it can also be SOLVE_IN_PROGRESS: this account already has 3 calls of that kind running on the server that took the request (solves, AI reviews and syntheses are each counted separately). `Retry-After` is set either way; for SOLVE_IN_PROGRESS it is 2 s for solves and 30 s for AI reviews and syntheses.

---

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