A priced option for buying a specific part from a specific source.
An offer captures everything needed to evaluate or place a purchase: the part it is for (linked_part), where it comes from (linked_location, either an external supplier branch or an internal inventory site), quantity-based pricing tiers (price_breaks), packaging, validity dates, and — for standard-part offers — current stock and factory lead time.
Two kinds. The kind discriminator describes the nature of the offer — how it is priced and fulfilled — and determines the payload shape:
StandardPart— an offer for a catalog part.availability(stock + factory lead time) is reported at the offer level. Price-break tiers carry only quantity and unit price.CustomPart— an offer for a custom-manufactured part (PCB, mechanical, cable, ...). There is no offer-levelavailabilityorpackaging; per-tierlead_timelives inprice_breaksinstead, because fulfillment time depends on order quantity.
In other words, kind describes the offer, while linked_part.type describes how the part is identified — the two are related but not the same.
See the OfferResponse schema for the full list of fields and their semantics, including the offer-identifier format and the unit-of-measurement convention used throughout the offer.
Look up multiple offers in one request by their IDs. Uses POST (rather than GET) so that callers can pass many IDs without hitting URL length limits. IDs that cannot be resolved are returned in not_found_ids
See OfferResponse for the full concept and shape of an offer.
curl -i -X POST \
https://api.luminovo.com/offers/bulk \
-H 'Accept: application/api.luminovo.offer-v1+json' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"ids": [
"string"
]
}'Successfully retrieved offers. Note: any IDs that could not be resolved (wrong tenant, deleted, or non-existent) are returned in not_found_ids rather than causing the whole request to fail.
The offers that were found. Order is not guaranteed and does not necessarily match the request order.
Offer IDs that could not be resolved. An ID lands here if it does not exist, was deleted, or belongs to a different tenant. Returning these explicitly (rather than silently dropping them) lets callers reconcile missing data without comparing input and output IDs themselves.
{ "items": [ { … } ], "not_found_ids": [ "string" ] }