Skip to content

Get Component Risk

Request

Get the aggregated compliance and lifecycle of a component (IPN).

How the values are aggregated

A single IPN in Luminovo can be linked to many off-the-shelf manufacturer parts (directly, or indirectly through matched generic parts). Each of those linked parts has its own compliance and lifecycle data. The fields returned here are the result of aggregating across all linked off-the-shelf parts of the IPN:

  • Compliance fields (rohs_compliant, reach_compliant, aecq_compliant) — the worst status across all linked parts is returned. The ordering, from worst to best, is: NonCompliant < Unknown < NotRequired < CompliantWithExemption < Compliant. In other words, a single NonCompliant linked part makes the IPN NonCompliant; the IPN is only reported as Compliant if every linked part is. When no linked parts are available, the default is Unknown.

  • lifecycle_status — the best lifecycle across all linked parts is returned. The ordering, from worst to best, is: Obsolete < Aftermarket < EndOfLife < NotRecommendedForNewDesigns < Acquired < Unknown < Active < PreRelease. So as long as at least one linked part is Active, the IPN is reported as Active, even if other linked parts are EndOfLife or Obsolete. This is intentional: the user of the IPN can always fall back to the healthiest available match.

  • lifecycle_yteol (years to end of life) — the maximum value across all linked parts that report a YTEOL, rounded down to one decimal place. This mirrors the "best case" semantics of lifecycle_status. Returns null if no linked part has a YTEOL value.

  • std_factory_lead_time (days) — the minimum factory lead time across every offer on every off-the-shelf part linked to the IPN, including both tenant-private and public offers. Returns null if none of those offers carries a factory lead time.

Note that these are the same aggregation rules used by the Component Library and BoM Health dashboards in the Luminovo UI, so the values returned here match what you see in the product.

Security
BearerAuth
Path
ipnstringrequired

The IPN (Internal Part Number) value of the component to fetch details for

Headers
Acceptstring(ComponentRiskAcceptHeader)required

Set this to application/api.luminovo.component-risk-v1+json.

Value:"application/api.luminovo.component-risk-v1+json"
GET
/components/{ipn}/risk
curl -i -X GET \
  'https://api.luminovo.com/components/{ipn}/risk' \
  -H 'Accept: application/api.luminovo.component-risk-v1+json' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Component risk.

Bodyapplication/json
componentsArray of objects(types.ipn.v1.SingleComponentRiskResponse)required
Response
{ "components": [ {} ] }