{"items":[{"type":"link","label":"Luminovo API","link":"/specs/bundled","routeSlug":"/specs/bundled"},{"type":"group","label":"Assembly","link":"/specs/bundled/assembly","routeSlug":"/specs/bundled/assembly","items":[{"label":"Import Assembly Data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/assembly/postassemblies","routeSlug":"/specs/bundled/assembly/postassemblies","metadata":{"seo":{"title":"Import Assembly Data","description":"Import Assembly Data"}},"httpPath":"/assemblies/import"},{"label":"Get Assembly","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/assembly/getassembly","routeSlug":"/specs/bundled/assembly/getassembly","metadata":{"seo":{"title":"Get Assembly","description":"Queries assembly details given assembly id(s)."}},"httpPath":"/assemblies"},{"label":"Create Assembly","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/assembly/createassembly","routeSlug":"/specs/bundled/assembly/createassembly","metadata":{"seo":{"title":"Create Assembly","description":"Creates a new assembly under a given RfQ."}},"httpPath":"/assemblies"},{"label":"Create Assembly PCB","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/assembly/createassemblypcb","routeSlug":"/specs/bundled/assembly/createassemblypcb","metadata":{"seo":{"title":"Create Assembly PCB","description":"Creates a PCB and links it to an assembly."}},"httpPath":"/assemblies/{assembly_id}/pcb"}]},{"type":"group","label":"Authentication","link":"/specs/bundled/authentication","routeSlug":"/specs/bundled/authentication","items":[{"label":"Authenticating to the API","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/authentication/posttoken","routeSlug":"/specs/bundled/authentication/posttoken","metadata":{"seo":{"title":"Authenticating to the API","description":"Authenticating to the API"}},"httpPath":"/token"}]},{"type":"group","label":"BOM","link":"/specs/bundled/bom","routeSlug":"/specs/bundled/bom","items":[{"label":"Get BOM Tree","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/bom/getprojectbomtree","routeSlug":"/specs/bundled/bom/getprojectbomtree","metadata":{"seo":{"title":"Get BOM Tree","description":"Get the list of all assemblies included in your project."}},"httpPath":"/projects/{id}/tree"},{"label":"Get BOM Tree","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/bom/getbomtree","routeSlug":"/specs/bundled/bom/getbomtree","metadata":{"seo":{"title":"Get BOM Tree","description":"Get the list of all assemblies included in your RfQ. Note: Luminovo creates an assembly for every created RfQ. Hence, the RfQ ID itself is also referenced as an assembly."}},"httpPath":"/rfqs/{id}/tree"},{"label":"Get costed BOM","deprecated":true,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/bom/getprojectcostedbom","routeSlug":"/specs/bundled/bom/getprojectcostedbom","metadata":{"seo":{"title":"Get costed BOM","description":"Deprecated. We are actively working on a new version of this endpoint."}},"httpPath":"/projects/{id}/costed-bom"},{"label":"Get costed BOM","deprecated":true,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/bom/getrfqcostedbom","routeSlug":"/specs/bundled/bom/getrfqcostedbom","metadata":{"seo":{"title":"Get costed BOM","description":"Deprecated. We are actively working on a new version of this endpoint.If anything about the current version is causing problems, we are actively lookingfor feedback — please reach out to us."}},"httpPath":"/rfqs/{id}/costed-bom"}]},{"type":"group","label":"Components","link":"/specs/bundled/components","routeSlug":"/specs/bundled/components","items":[{"label":"Import Component Data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/components/postcomponents","routeSlug":"/specs/bundled/components/postcomponents","metadata":{"seo":{"title":"Import Component Data","description":"Import Component Data"}},"httpPath":"/components/import"},{"label":"List Components","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/components/listcomponents","routeSlug":"/specs/bundled/components/listcomponents","metadata":{"seo":{"title":"List Components","description":"Returns a paginated list of all components in the tenant's library.Components are ordered by IPN value and revision."}},"httpPath":"/components"},{"label":"Get Components by IPN","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/components/getcomponentbyipn","routeSlug":"/specs/bundled/components/getcomponentbyipn","metadata":{"seo":{"title":"Get Components by IPN","description":"Returns all components (including revisions) matching the given IPN value."}},"httpPath":"/components/ipn/{ipn}"},{"label":"Get Component Risk","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/components/getcomponentrisk","routeSlug":"/specs/bundled/components/getcomponentrisk","metadata":{"seo":{"title":"Get Component Risk","description":"Get the aggregated compliance and lifecycle of a component (IPN)."}},"httpPath":"/components/{ipn}/risk"}]},{"type":"group","label":"Custom Part","link":"/specs/bundled/custom-part","routeSlug":"/specs/bundled/custom-part","items":[{"label":"Get Custom Part","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/custom-part/getcustompart","routeSlug":"/specs/bundled/custom-part/getcustompart","metadata":{"seo":{"title":"Get Custom Part","description":"Get information about a custom part specification. Information includes the description, part type, and compliance information."}},"httpPath":"/custom-parts/{id}"},{"label":"Get Custom Part Resources","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/custom-part/getcustompartresources","routeSlug":"/specs/bundled/custom-part/getcustompartresources","metadata":{"seo":{"title":"Get Custom Part Resources","description":"Retrieves URLs for resources/files attached to the custom part specification. URL to retrieve the actual file is only valid temporarily. You need to call this endpoint again to get a new valid URL after some time."}},"httpPath":"/custom-parts/{id}/resources"},{"label":"Upload Custom Part Resource","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/custom-part/uploadcustompartresource","routeSlug":"/specs/bundled/custom-part/uploadcustompartresource","metadata":{"seo":{"title":"Upload Custom Part Resource","description":"Upload a file (drawing, datasheet, etc.) to a custom part specification. The file content should be sent as raw binary in the request body. Uploads are limited to 5 GiB. Uploading a file with the same sanitized filename as an existing resource replaces the existing resource."}},"httpPath":"/custom-parts/{id}/resources"},{"label":"Delete Custom Part Resource","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/custom-part/deletecustompartresource","routeSlug":"/specs/bundled/custom-part/deletecustompartresource","metadata":{"seo":{"title":"Delete Custom Part Resource","description":"Delete a file (drawing, datasheet, etc.) attached to a custom part specification."}},"httpPath":"/custom-parts/{id}/resources"}]},{"type":"group","label":"Customer","link":"/specs/bundled/customer","routeSlug":"/specs/bundled/customer","items":[{"label":"Search or Get All Customers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/searchcustomer","routeSlug":"/specs/bundled/customer/searchcustomer","metadata":{"seo":{"title":"Search or Get All Customers","description":"Queries all customers given a specific filter. Filter is optional. If filter is not set, returns all customers."}},"httpPath":"/customers"},{"label":"Create New Customer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/createcustomer","routeSlug":"/specs/bundled/customer/createcustomer","metadata":{"seo":{"title":"Create New Customer","description":"Create a new customer. If successful, the customer will be returned in the response with its ID referenced."}},"httpPath":"/customers"},{"label":"Get Customer","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/getcustomer","routeSlug":"/specs/bundled/customer/getcustomer","metadata":{"seo":{"title":"Get Customer","description":"Get a customer based on its ID."}},"httpPath":"/customers/{id}"},{"label":"Delete Customer","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/deletecustomer","routeSlug":"/specs/bundled/customer/deletecustomer","metadata":{"seo":{"title":"Delete Customer","description":"Delete a customer by its ID."}},"httpPath":"/customers/{id}"},{"label":"Update Customer","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/updatecustomer","routeSlug":"/specs/bundled/customer/updatecustomer","metadata":{"seo":{"title":"Update Customer","description":"Update a customer by its ID."}},"httpPath":"/customers/{id}"},{"label":"Get Customer Users","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/getcustomerusers","routeSlug":"/specs/bundled/customer/getcustomerusers","metadata":{"seo":{"title":"Get Customer Users","description":"Returns all users associated with a customer."}},"httpPath":"/customers/{id}/users"},{"label":"Invite Customer User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/invitecustomeruser","routeSlug":"/specs/bundled/customer/invitecustomeruser","metadata":{"seo":{"title":"Invite Customer User","description":"Invite a user to a customer. The user will receive an email invitation to join the customer portal."}},"httpPath":"/customers/{id}/users"},{"label":"Delete Customer User","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/deletecustomeruser","routeSlug":"/specs/bundled/customer/deletecustomeruser","metadata":{"seo":{"title":"Delete Customer User","description":"Delete a user from a customer."}},"httpPath":"/customers/{id}/users/{user_id}"},{"label":"Update Customer User","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/customer/updatecustomeruser","routeSlug":"/specs/bundled/customer/updatecustomeruser","metadata":{"seo":{"title":"Update Customer User","description":"Update a user associated with a customer."}},"httpPath":"/customers/{id}/users/{user_id}"}]},{"type":"group","label":"Demand","link":"/specs/bundled/demand","routeSlug":"/specs/bundled/demand","items":[{"label":"Create Demand","deprecated":true,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/demand/doc_clear_and_create_demands_v1","routeSlug":"/specs/bundled/demand/doc_clear_and_create_demands_v1","metadata":{"seo":{"title":"Create Demand","description":"Deprecated. This endpoint is deprecated and will be removed in a future version."}},"httpPath":"/demand/import"}]},{"type":"group","label":"Flexible Calculation","link":"/specs/bundled/flexible-calculation","routeSlug":"/specs/bundled/flexible-calculation","items":[{"label":"Get Calculation Plans by RFQ (v0 - unstable)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/flexible-calculation/doc_get_plans_by_rfq_v0","routeSlug":"/specs/bundled/flexible-calculation/doc_get_plans_by_rfq_v0","metadata":{"seo":{"title":"Get Calculation Plans by RFQ (v0 - unstable)","description":"Retrieve all flexible calculation plans associated with a given RFQ."}},"httpPath":"/flexible-calculation/plans/rfq/{rfq_id}"},{"label":"Get Calculation Plan (v0 - unstable)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/flexible-calculation/doc_get_plan_v0","routeSlug":"/specs/bundled/flexible-calculation/doc_get_plan_v0","metadata":{"seo":{"title":"Get Calculation Plan (v0 - unstable)","description":"Retrieve a single flexible calculation plan by its ID."}},"httpPath":"/flexible-calculation/plans/{id}"}]},{"type":"group","label":"Manufacturing and Calculation","link":"/specs/bundled/manufacturing-and-calculation","routeSlug":"/specs/bundled/manufacturing-and-calculation","items":[{"label":"Get Manufacturing Costs for an Assembly","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/manufacturing-and-calculation/get_assembly_manufacturing_data_export_v1","routeSlug":"/specs/bundled/manufacturing-and-calculation/get_assembly_manufacturing_data_export_v1","metadata":{"seo":{"title":"Get Manufacturing Costs for an Assembly","description":"Get the complete manufacturing related costs for an assembly. Returns the same data that can be exported via excel on Luminovo."}},"httpPath":"/assemblies/{assembly_id}/manufacturing-data/export"},{"label":"Get Calculated Assembly Cost","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/manufacturing-and-calculation/getcalculationassemblycost","routeSlug":"/specs/bundled/manufacturing-and-calculation/getcalculationassemblycost","metadata":{"seo":{"title":"Get Calculated Assembly Cost","description":"Query the calculation table for an assembly. Return material and manufacturing cost as well as all additional cost configured in the calculation table.The response includes an is_cost_frozen field that indicates whether the cost is frozen."}},"httpPath":"/calculations/assembly-costs"},{"label":"Get All Resources","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/manufacturing-and-calculation/get_resource_many_v1","routeSlug":"/specs/bundled/manufacturing-and-calculation/get_resource_many_v1","metadata":{"seo":{"title":"Get All Resources","description":"Get an array of all resources. Resources represent all machinery and employees relevant to production including their hourly rates (e.g. SMT Personnel or Fuji NXT Pick and Place Machine)."}},"httpPath":"/manufacturing/resource"},{"label":"Create New Resource","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/manufacturing-and-calculation/doc_post_resource_v1","routeSlug":"/specs/bundled/manufacturing-and-calculation/doc_post_resource_v1","metadata":{"seo":{"title":"Create New Resource","description":"Create a new manufacturing resource."}},"httpPath":"/manufacturing/resource"},{"label":"Delete Resource","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/manufacturing-and-calculation/doc_delete_resource_v1","routeSlug":"/specs/bundled/manufacturing-and-calculation/doc_delete_resource_v1","metadata":{"seo":{"title":"Delete Resource","description":"Delete a resource using its ID."}},"httpPath":"/manufacturing/resource/{id}"},{"label":"Update Resource","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/manufacturing-and-calculation/doc_patch_resource_v1","routeSlug":"/specs/bundled/manufacturing-and-calculation/doc_patch_resource_v1","metadata":{"seo":{"title":"Update Resource","description":"Update a resource using its ID."}},"httpPath":"/manufacturing/resource/{id}"}]},{"type":"group","label":"Offers and Inventory","link":"/specs/bundled/offers-and-inventory","routeSlug":"/specs/bundled/offers-and-inventory","items":[{"label":"Import Offers and Inventory","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers-and-inventory/postoffers","routeSlug":"/specs/bundled/offers-and-inventory/postoffers","metadata":{"seo":{"title":"Import Offers and Inventory","description":"Import Offers and Inventory"}},"httpPath":"/offers/import"},{"label":"Create Custom Part Offer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers-and-inventory/createcustompartoffer","routeSlug":"/specs/bundled/offers-and-inventory/createcustompartoffer","metadata":{"seo":{"title":"Create Custom Part Offer","description":"Creates a new offer for a custom part. Attach the sourcing scenario ID when creating a new custom part offer."}},"httpPath":"/offer/custom-part"},{"label":"Get PCB Offer from PCB Pricing Console","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers-and-inventory/getsuppliercustompartoffer","routeSlug":"/specs/bundled/offers-and-inventory/getsuppliercustompartoffer","metadata":{"seo":{"title":"Get PCB Offer from PCB Pricing Console","description":"Get the offer for a PCB, which was created in the PCB pricing console."}},"httpPath":"/supplier-quote/pcb/{pcb_id}/offer/{offer_id}"}]},{"type":"group","label":"Order Management","link":"/specs/bundled/order-management","routeSlug":"/specs/bundled/order-management","items":[{"label":"Create Order Selection Options","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/order-management/doc_post_order_selection_options_v1","routeSlug":"/specs/bundled/order-management/doc_post_order_selection_options_v1","metadata":{"seo":{"title":"Create Order Selection Options","description":"You can create customized order selection options for your customers at the check-out on the Customer Collaboration Platform. Define custom order batch sizes, lead time, order size, etc."}},"httpPath":"/order-management/order-selection"},{"label":"Get Order Details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/order-management/doc_get_orders_v1","routeSlug":"/specs/bundled/order-management/doc_get_orders_v1","metadata":{"seo":{"title":"Get Order Details","description":"Get the details for an order placed on the Customer Collaboration Platform relating to an RfQ."}},"httpPath":"/order-management/orders"}]},{"type":"group","label":"PCB","link":"/specs/bundled/pcb","routeSlug":"/specs/bundled/pcb","items":[{"label":"Extract PCB Specification","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/extractpcbspecification","routeSlug":"/specs/bundled/pcb/extractpcbspecification","metadata":{"seo":{"title":"Extract PCB Specification","description":"Extract structured PCB specification attributes from a document such as adatasheet or fabrication drawing. Send the raw file bytes as the requestbody with Content-Type: application/octet-stream. Supported formats:PDF, PNG, JPEG, DOCX, XLSX."}},"httpPath":"/pcb-specification/extract"},{"label":"Find a PCB using an order ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs/get","metadata":{"seo":{"title":"Find a PCB using an order ID","description":"Find a PCB using the orderID that was specified during its creation."}},"httpPath":"/ems/pcb/pcbs"},{"label":"Create a new PCB","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs/post","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs/post","metadata":{"seo":{"title":"Create a new PCB","description":"This endpoint facilitates the creation of a new PCB project."}},"httpPath":"/ems/pcb/pcbs"},{"label":"Get All Capabilities","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1capabilities/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1capabilities/get","metadata":{"seo":{"title":"Get All Capabilities","description":"Returns all the available PCB properties and the values available for each of them, as well as the default value."}},"httpPath":"/ems/pcb/capabilities"},{"label":"List central base-material vendors","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1base-materials~1vendors/get","routeSlug":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1base-materials~1vendors/get","metadata":{"seo":{"title":"List central base-material vendors","description":"Returns the distinct list of vendors present in the central, Luminovo-maintained PCB base-material catalog (e.g. Isola, Panasonic, Shengyi). Used to drive the vendor dropdown when picking a base material."}},"httpPath":"/api/ems/pcb/base-materials/vendors"},{"label":"List central base materials for a vendor","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1base-materials/get","routeSlug":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1base-materials/get","metadata":{"seo":{"title":"List central base materials for a vendor","description":"Returns all central base materials offered by the given vendor (drives the filtered material-number dropdown)."}},"httpPath":"/api/ems/pcb/base-materials"},{"label":"Look up a central base material","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1base-materials~1lookup/get","routeSlug":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1base-materials~1lookup/get","metadata":{"seo":{"title":"Look up a central base material","description":"Looks up a single central base material by its (vendor, materialNumber) naturalkey and returns the derived fields (baseMaterial, tgValue, ctiClass/plcClass)used to derive & lock a specification."}},"httpPath":"/api/ems/pcb/base-materials/lookup"},{"label":"List central soldermask-material vendors","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get","routeSlug":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get","metadata":{"seo":{"title":"List central soldermask-material vendors","description":"Returns the distinct list of vendors present in the central, Luminovo-maintained PCB soldermask-material catalog (e.g. Taiyo, Sun Chemical). Used to drive the vendor dropdown when picking a soldermask material."}},"httpPath":"/api/ems/pcb/soldermask-materials/vendors"},{"label":"List central soldermask materials for a vendor","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1soldermask-materials/get","routeSlug":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1soldermask-materials/get","metadata":{"seo":{"title":"List central soldermask materials for a vendor","description":"Returns all central soldermask materials offered by the given vendor (drives the filtered material-number dropdown)."}},"httpPath":"/api/ems/pcb/soldermask-materials"},{"label":"Look up a central soldermask material","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get","routeSlug":"/specs/bundled/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get","metadata":{"seo":{"title":"Look up a central soldermask material","description":"Looks up a single central soldermask material by its (vendor, materialNumber) naturalkey and returns the derived soldermaskColor (+ finish, halogenFree) used toderive & lock a specification."}},"httpPath":"/api/ems/pcb/soldermask-materials/lookup"},{"label":"Get a Shared PCB","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1shares~1{share}/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1shares~1{share}/get","metadata":{"seo":{"title":"Get a Shared PCB","description":"Find a Shared PCB by its UUID."}},"httpPath":"/ems/pcb/shares/{share}"},{"label":"Get the Shared PCB Files as zip","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get","metadata":{"seo":{"title":"Get the Shared PCB Files as zip","description":"Downloads PCB files of a shared PCB as a zip folder"}},"httpPath":"/ems/pcb/shares/{share}/files/all"},{"label":"Get a PCB","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/get","metadata":{"seo":{"title":"Get a PCB","description":"Find a PCB by its UUID."}},"httpPath":"/ems/pcb/pcbs/{pcb}"},{"label":"Update a PCB","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/put","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/put","metadata":{"seo":{"title":"Update a PCB","description":"Updates some of the PCB properties that were set during creation."}},"httpPath":"/ems/pcb/pcbs/{pcb}"},{"label":"Delete a PCB","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/delete","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/delete","metadata":{"seo":{"title":"Delete a PCB","description":"Find and delete a PCB by its UUID."}},"httpPath":"/ems/pcb/pcbs/{pcb}"},{"label":"Clone an existing PCB","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post","metadata":{"seo":{"title":"Clone an existing PCB","description":"Clone an existing PCB."}},"httpPath":"/ems/pcb/pcbs/{pcb}/clone"},{"label":"Get the PCB Files as zip","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get","metadata":{"seo":{"title":"Get the PCB Files as zip","description":"Downloads PCB files as a zip folder"}},"httpPath":"/ems/pcb/pcbs/{pcb}/files/all"},{"label":"Get a PCB File","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get","metadata":{"seo":{"title":"Get a PCB File","description":"Downloads PCB file by name, if it exists."}},"httpPath":"/ems/pcb/pcbs/{pcb}/files/singular/{file}"},{"label":"getPCBV2NetList","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get","metadata":{"seo":{"title":"getPCBV2NetList","description":"getPCBV2NetList"}},"httpPath":"/ems/pcb/pcbs/{pcb}/netlist"},{"label":"Get all PCB Specifications","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get","metadata":{"seo":{"title":"Get all PCB Specifications","description":"Get all PCB specificationss"}},"httpPath":"/ems/pcb/pcbs/{pcb}/specifications"},{"label":"Create a new PCB Specification","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put","metadata":{"seo":{"title":"Create a new PCB Specification","description":"Create anew PCB specifications"}},"httpPath":"/ems/pcb/pcbs/{pcb}/specifications"},{"label":"Get a PCB Specification","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get","metadata":{"seo":{"title":"Get a PCB Specification","description":"Find PCB specification by name or UUID"}},"httpPath":"/ems/pcb/pcbs/{pcb}/specifications/{specification}"},{"label":"Update a PCB Specification","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put","metadata":{"seo":{"title":"Update a PCB Specification","description":"Update a PCB Specifications"}},"httpPath":"/ems/pcb/pcbs/{pcb}/specifications/{specification}"},{"label":"Delete a PCB Specification","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete","metadata":{"seo":{"title":"Delete a PCB Specification","description":"Delete a PCB Specifications"}},"httpPath":"/ems/pcb/pcbs/{pcb}/specifications/{specification}"},{"label":"Get a PCB Specification Preview","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get","metadata":{"seo":{"title":"Get a PCB Specification Preview","description":"Find PCB specification by name or UUID"}},"httpPath":"/ems/pcb/pcbs/{pcb}/specifications/{specification}/previews"},{"label":"Get All Capabilities respecting the currently set values of the specification","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get","routeSlug":"/specs/bundled/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get","metadata":{"seo":{"title":"Get All Capabilities respecting the currently set values of the specification","description":"Returns all the available PCB properties and the values available for each of them, as well as the default value."}},"httpPath":"/ems/pcb/pcbs/{pcb}/capabilities"},{"label":"Upload Files to the PCB","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pcb/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post","routeSlug":"/specs/bundled/pcb/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post","metadata":{"seo":{"title":"Upload Files to the PCB","description":"Upload Files to the PCB"}},"httpPath":"/files/ems/pcb/pcbs/:pcb/files"}]},{"type":"group","label":"PnP","link":"/specs/bundled/pnp","routeSlug":"/specs/bundled/pnp","items":[{"label":"Get PnP Items","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/pnp/getpnp","routeSlug":"/specs/bundled/pnp/getpnp","metadata":{"seo":{"title":"Get PnP Items","description":"Get a list of PnP items for an assembly."}},"httpPath":"/pnp"}]},{"type":"group","label":"Purchase Orders","link":"/specs/bundled/purchase-orders","routeSlug":"/specs/bundled/purchase-orders","items":[{"label":"Get Purchase Orders","deprecated":true,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/purchase-orders/getpurchaseorders","routeSlug":"/specs/bundled/purchase-orders/getpurchaseorders","metadata":{"seo":{"title":"Get Purchase Orders","description":"Deprecated. This endpoint is deprecated and will not be maintained going forward.If you currently rely on this endpoint and this is a blocker, please reach out to us."}},"httpPath":"/purchase-orders/{rfq_id}"},{"label":"Create Purchase Orders","deprecated":true,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/purchase-orders/createpurchaseorders","routeSlug":"/specs/bundled/purchase-orders/createpurchaseorders","metadata":{"seo":{"title":"Create Purchase Orders","description":"Deprecated. This endpoint is deprecated and will not be maintained going forward.If you currently rely on this endpoint and this is a blocker, please reach out to us."}},"httpPath":"/purchase-orders/{rfq_id}"}]},{"type":"group","label":"Quotation","link":"/specs/bundled/quotation","routeSlug":"/specs/bundled/quotation","items":[{"label":"Upload Quotation for a Project","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/quotation/uploadprojectquotation","routeSlug":"/specs/bundled/quotation/uploadprojectquotation","metadata":{"seo":{"title":"Upload Quotation for a Project","description":"By sending the request, you will get a URL to upload the quotation corresponding to a project."}},"httpPath":"/projects/{id}/quotation/upload"},{"label":"Upload Quotation for an RfQ","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/quotation/uploadquotation","routeSlug":"/specs/bundled/quotation/uploadquotation","metadata":{"seo":{"title":"Upload Quotation for an RfQ","description":"By sending the request, you will get a URL to upload the quotation corresponding to an RfQ."}},"httpPath":"/rfqs/{id}/quotation/upload"}]},{"type":"group","label":"RfQ","link":"/specs/bundled/rfq","routeSlug":"/specs/bundled/rfq","items":[{"label":"Get all RfQs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/rfq/getallrfqs","routeSlug":"/specs/bundled/rfq/getallrfqs","metadata":{"seo":{"title":"Get all RfQs","description":"Returns all RfQ's in Luminovo."}},"httpPath":"/rfqs"},{"label":"Create Rfq","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/rfq/createrfq","routeSlug":"/specs/bundled/rfq/createrfq","metadata":{"seo":{"title":"Create Rfq","description":"Create a new RfQ either for an existing or a new customer."}},"httpPath":"/rfqs"},{"label":"Get RfQ status change history","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/rfq/getrfqstatushistory","routeSlug":"/specs/bundled/rfq/getrfqstatushistory","metadata":{"seo":{"title":"Get RfQ status change history","description":"Returns the history of status changes for all RfQs."}},"httpPath":"/rfqs/status-history"},{"label":"Get Rfq","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/rfq/getrfq","routeSlug":"/specs/bundled/rfq/getrfq","metadata":{"seo":{"title":"Get Rfq","description":"Get one RfQ based on its ID."}},"httpPath":"/rfqs/{id}"},{"label":"Delete RfQ","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/rfq/deleterfq","routeSlug":"/specs/bundled/rfq/deleterfq","metadata":{"seo":{"title":"Delete RfQ","description":"Delete an RfQ based on its ID."}},"httpPath":"/rfqs/{id}"},{"label":"Update RfQ","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/rfq/updaterfq","routeSlug":"/specs/bundled/rfq/updaterfq","metadata":{"seo":{"title":"Update RfQ","description":"Update an RfQ based on its ID."}},"httpPath":"/rfqs/{id}"}]},{"type":"group","label":"Sourcing Scenario","link":"/specs/bundled/sourcing-scenario","routeSlug":"/specs/bundled/sourcing-scenario","items":[{"label":"Run Calculation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/sourcing-scenario/runsourcingcalculation","routeSlug":"/specs/bundled/sourcing-scenario/runsourcingcalculation","metadata":{"seo":{"title":"Run Calculation","description":"Triggers the sourcing selection calculation for the given scenario."}},"httpPath":"/sourcing-scenarios/run-selection"},{"label":"Get Scenario","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/sourcing-scenario/getsourcingscenariov2","routeSlug":"/specs/bundled/sourcing-scenario/getsourcingscenariov2","metadata":{"seo":{"title":"Get Scenario","description":"Returns a sourcing scenario with its associated project, demands, and settings."}},"httpPath":"/sourcing-scenarios/{id}"},{"label":"Get Cost Breakdown","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/sourcing-scenario/getcostbreakdownforsourcingscenario","routeSlug":"/specs/bundled/sourcing-scenario/getcostbreakdownforsourcingscenario","metadata":{"seo":{"title":"Get Cost Breakdown","description":"Returns the cost breakdown of a sourcing scenario as a flat list of assembly entries —one for every path to each assembly in each demand's assembly hierarchy, so an assemblyreachable by several paths appears once per path. Use hierarchy (parent_assembly, path)to reconstruct the assembly hierarchy."}},"httpPath":"/sourcing-scenarios/{id}/cost-breakdown"},{"label":"Get Purchase Options","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/sourcing-scenario/getpurchaseoptionsforsourcingscenario","routeSlug":"/specs/bundled/sourcing-scenario/getpurchaseoptionsforsourcingscenario","metadata":{"seo":{"title":"Get Purchase Options","description":"Returns purchase options for a sourcing scenario, grouped by offer. Each purchaseoption represents a selected offer with its order quantity, pricing, and the sourcingline items it fulfills. This data is designed for ERP systems to create purchase orders."}},"httpPath":"/sourcing-scenarios/{id}/purchase-options"},{"label":"Create Scenario","deprecated":true,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/sourcing-scenario/createsourcingscenario","routeSlug":"/specs/bundled/sourcing-scenario/createsourcingscenario","metadata":{"seo":{"title":"Create Scenario","description":"Deprecated. This endpoint is deprecated and will be removed in a future version."}},"httpPath":"/sourcing-scenarios"},{"label":"Update Scenario","deprecated":true,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/sourcing-scenario/updatesourcingscenario","routeSlug":"/specs/bundled/sourcing-scenario/updatesourcingscenario","metadata":{"seo":{"title":"Update Scenario","description":"Deprecated. This endpoint is deprecated and will be removed in a future version."}},"httpPath":"/sourcing-scenarios/{id}"}]},{"type":"group","label":"Supplier","link":"/specs/bundled/supplier","routeSlug":"/specs/bundled/supplier","items":[{"label":"Get Suppliers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/supplier/getsuppliers","routeSlug":"/specs/bundled/supplier/getsuppliers","metadata":{"seo":{"title":"Get Suppliers","description":"Retrieves supplier information with optional filtering."}},"httpPath":"/suppliers"},{"label":"Import Suppliers","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/supplier/importsuppliers","routeSlug":"/specs/bundled/supplier/importsuppliers","metadata":{"seo":{"title":"Import Suppliers","description":"Import a list of suppliers."}},"httpPath":"/suppliers"},{"label":"Delete Supplier","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/supplier/deletesupplier","routeSlug":"/specs/bundled/supplier/deletesupplier","metadata":{"seo":{"title":"Delete Supplier","description":"Delete a supplier by its ID."}},"httpPath":"/suppliers/{id}"},{"label":"Update Supplier","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/supplier/updatesupplier","routeSlug":"/specs/bundled/supplier/updatesupplier","metadata":{"seo":{"title":"Update Supplier","description":"Update a supplier by its ID.Note: For system suppliers, only the supplier number & preference can be updated."}},"httpPath":"/suppliers/{id}"}]},{"type":"group","label":"User","link":"/specs/bundled/user","routeSlug":"/specs/bundled/user","items":[{"label":"Get All Users","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/user/getallusers","routeSlug":"/specs/bundled/user/getallusers","metadata":{"seo":{"title":"Get All Users","description":"Returns all users of your system."}},"httpPath":"/users"}]},{"type":"group","label":"Offers","link":"/specs/bundled/offers","routeSlug":"/specs/bundled/offers","items":[{"label":"Get Offers","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers/getoffers","routeSlug":"/specs/bundled/offers/getoffers","metadata":{"seo":{"title":"Get Offers","description":"Look up multiple offers in one request by their IDs. Uses POST (ratherthan GET) so that callers can pass many IDs without hitting URL lengthlimits. IDs that cannot be resolved are returned in not_found_ids"}},"httpPath":"/offers/bulk"},{"label":"Delete Offers Bulk","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers/deleteoffersbulk","routeSlug":"/specs/bundled/offers/deleteoffersbulk","metadata":{"seo":{"title":"Delete Offers Bulk","description":"Delete a set of offers, identified by their IDs in the request.Use the opaque offer IDs as returned by other endpoints such as POST /offers/find."}},"httpPath":"/offers/delete"},{"label":"Trigger Offer Refresh","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers/triggerofferrefresh","routeSlug":"/specs/bundled/offers/triggerofferrefresh","metadata":{"seo":{"title":"Trigger Offer Refresh","description":"Trigger an asynchronous fetch of fresh offers from the configured externalsupplier APIs (Octopart, TrustedParts, distributor APIs, ...) for the givenoff-the-shelf parts."}},"httpPath":"/offers/refresh"},{"label":"Get Offer","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers/getoffer","routeSlug":"/specs/bundled/offers/getoffer","metadata":{"seo":{"title":"Get Offer","description":"Look up a single offer by its ID. To look up many offers in one roundtrip, use POST /offers/bulk instead."}},"httpPath":"/offers/{id}"},{"label":"Delete Offer","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offers/deleteoffer","routeSlug":"/specs/bundled/offers/deleteoffer","metadata":{"seo":{"title":"Delete Offer","description":"Delete a single offer, identified by its ID in the path.Use the opaque offer ID as returned by other endpoints such as POST /offers/find."}},"httpPath":"/offers/{id}"}]},{"type":"group","label":"Offer Import Context","link":"/specs/bundled/offer-import-context","routeSlug":"/specs/bundled/offer-import-context","items":[{"label":"Get All Offer Import Contexts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offer-import-context/getallofferimportcontexts","routeSlug":"/specs/bundled/offer-import-context/getallofferimportcontexts","metadata":{"seo":{"title":"Get All Offer Import Contexts","description":"List every offer import context belonging to the tenant."}},"httpPath":"/offer-import-contexts"},{"label":"Create Offer Import Context","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offer-import-context/createofferimportcontext","routeSlug":"/specs/bundled/offer-import-context/createofferimportcontext","metadata":{"seo":{"title":"Create Offer Import Context","description":"Create a new offer import context. Its origin is always ApiIntegration;no origin can be specified. A name already used by another context, of anyorigin, is rejected with 409."}},"httpPath":"/offer-import-contexts"},{"label":"Get Offer Import Context","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offer-import-context/getofferimportcontext","routeSlug":"/specs/bundled/offer-import-context/getofferimportcontext","metadata":{"seo":{"title":"Get Offer Import Context","description":"Get a single offer import context by its ID."}},"httpPath":"/offer-import-contexts/{id}"},{"label":"Delete Offer Import Context","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offer-import-context/deleteofferimportcontext","routeSlug":"/specs/bundled/offer-import-context/deleteofferimportcontext","metadata":{"seo":{"title":"Delete Offer Import Context","description":"Delete an offer import context by its ID. Deletion is blocked with 409while any offer still references it."}},"httpPath":"/offer-import-contexts/{id}"},{"label":"Update Offer Import Context","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/offer-import-context/updateofferimportcontext","routeSlug":"/specs/bundled/offer-import-context/updateofferimportcontext","metadata":{"seo":{"title":"Update Offer Import Context","description":"Update an offer import context by its ID. Renaming to an existing name isrejected with 409."}},"httpPath":"/offer-import-contexts/{id}"}]},{"type":"group","label":"Project","link":"/specs/bundled/project","routeSlug":"/specs/bundled/project","items":[{"label":"Get all Projects","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/project/getallprojects","routeSlug":"/specs/bundled/project/getallprojects","metadata":{"seo":{"title":"Get all Projects","description":"Returns all projects in Luminovo."}},"httpPath":"/projects"},{"label":"Create Project","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/project/createproject","routeSlug":"/specs/bundled/project/createproject","metadata":{"seo":{"title":"Create Project","description":"Create a new project either for an existing or a new customer."}},"httpPath":"/projects"},{"label":"Get Project status change history","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/project/getprojectstatushistory","routeSlug":"/specs/bundled/project/getprojectstatushistory","metadata":{"seo":{"title":"Get Project status change history","description":"Returns the history of status changes for all projects."}},"httpPath":"/projects/status-history"},{"label":"Get Project","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/project/getproject","routeSlug":"/specs/bundled/project/getproject","metadata":{"seo":{"title":"Get Project","description":"Get one project based on its ID."}},"httpPath":"/projects/{id}"},{"label":"Delete Project","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/project/deleteproject","routeSlug":"/specs/bundled/project/deleteproject","metadata":{"seo":{"title":"Delete Project","description":"Delete a project based on its ID."}},"httpPath":"/projects/{id}"},{"label":"Update Project","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/specs/bundled/project/updateproject","routeSlug":"/specs/bundled/project/updateproject","metadata":{"seo":{"title":"Update Project","description":"Update a project based on its ID."}},"httpPath":"/projects/{id}"}]},{"type":"group","label":"SRM","items":[{"type":"link","link":"","label":"Overview"},{"type":"link","label":"Luminovo SRM public API","link":"/srm/openapi.public.enriched","routeSlug":"/srm/openapi.public.enriched"},{"type":"group","label":"Lead times","link":"/srm/openapi.public.enriched/lead-times","routeSlug":"/srm/openapi.public.enriched/lead-times","items":[{"label":"List lead time data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/lead-times/get:public-api.getleadtimedata","routeSlug":"/srm/openapi.public.enriched/lead-times/get:public-api.getleadtimedata","metadata":{"seo":{"title":"List lead time data","description":"Retrieve lead time records with optional filtering by supplier number, MPN (partial match) and a min/max lead-time range. Paginated via `limit` (default 100, max 1000) and `offset`."}},"httpPath":"/api/tenant/{tenant_id}/integrations/leadtime"},{"label":"Create or update lead time data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/lead-times/post:public-api.createleadtimedata","routeSlug":"/srm/openapi.public.enriched/lead-times/post:public-api.createleadtimedata","metadata":{"seo":{"title":"Create or update lead time data","description":"Upsert a lead time record. An existing record for the same supplier + MPN is updated; otherwise a new one is created. The `supplier_number` must match an existing supplier in the tenant."}},"httpPath":"/api/tenant/{tenant_id}/integrations/leadtime"}]},{"type":"group","label":"Purchase Orders","link":"/srm/openapi.public.enriched/purchase-orders","routeSlug":"/srm/openapi.public.enriched/purchase-orders","items":[{"label":"List purchase order data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/purchase-orders/get:public-api.getpurchasingdata","routeSlug":"/srm/openapi.public.enriched/purchase-orders/get:public-api.getpurchasingdata","metadata":{"seo":{"title":"List purchase order data","description":"Retrieve purchase order line items with optional filtering by supplier number, PO number, MPN, manufacturer name, and issue / received date ranges. Paginated via `limit` and `offset`."}},"httpPath":"/api/tenant/{tenant_id}/integrations/purchasing"},{"label":"Create or update purchase order data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/purchase-orders/post:public-api.createpurchasingdata","routeSlug":"/srm/openapi.public.enriched/purchase-orders/post:public-api.createpurchasingdata","metadata":{"seo":{"title":"Create or update purchase order data","description":"Accepts a single record (wrapped in `data`) or an array in `data` for bulk. Records are upserted on (tenant_id, po_number, supplier_id, position): new keys are inserted, existing keys are updated when any tracked value differs, identical re-uploads are no-ops, and rows a user locked in the UI are never touched (reported as `skipped_locked`). Every value change on an existing row is journaled with field-level old/new values in integration_change_log, grouped by the response's `batch_id`. `supplier_number` must match an existing supplier; unmatched records are reported as failed rows."}},"httpPath":"/api/tenant/{tenant_id}/integrations/purchasing"}]},{"type":"group","label":"Supplier attributes","link":"/srm/openapi.public.enriched/supplier-attributes","routeSlug":"/srm/openapi.public.enriched/supplier-attributes","items":[{"label":"Get a supplier attribute value","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/supplier-attributes/get:public-api.getsupplierattributevalue","routeSlug":"/srm/openapi.public.enriched/supplier-attributes/get:public-api.getsupplierattributevalue","metadata":{"seo":{"title":"Get a supplier attribute value","description":"Read the current value of a single custom attribute on a supplier, addressed by supplier number and attribute variable name."}},"httpPath":"/api/tenant/{tenant_id}/suppliers/{supplier_number}/attributes/{attribute_variable_name}"},{"label":"Set a supplier attribute value","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/supplier-attributes/put:public-api.setsupplierattributevalue","routeSlug":"/srm/openapi.public.enriched/supplier-attributes/put:public-api.setsupplierattributevalue","metadata":{"seo":{"title":"Set a supplier attribute value","description":"Set or update a single custom attribute value on a supplier. The value must match the attribute's type (string, number, date, boolean, select, multiselect, certificate); select/multiselect values must be valid options."}},"httpPath":"/api/tenant/{tenant_id}/suppliers/{supplier_number}/attributes/{attribute_variable_name}"}]},{"type":"group","label":"Complaints","link":"/srm/openapi.public.enriched/complaints","routeSlug":"/srm/openapi.public.enriched/complaints","items":[{"label":"List complaint data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/complaints/get:public-api.getcomplaints","routeSlug":"/srm/openapi.public.enriched/complaints/get:public-api.getcomplaints","metadata":{"seo":{"title":"List complaint data","description":"Retrieve supplier quality complaint records (8D reports), with optional filtering and pagination."}},"httpPath":"/api/tenant/{tenant_id}/integrations/complaints"},{"label":"Create complaint data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/complaints/post:public-api.createcomplaints","routeSlug":"/srm/openapi.public.enriched/complaints/post:public-api.createcomplaints","metadata":{"seo":{"title":"Create complaint data","description":"Create complaint records (single or bulk via `data`), matched to existing suppliers by `supplier_number`."}},"httpPath":"/api/tenant/{tenant_id}/integrations/complaints"},{"label":"List complaint data on the deprecated path","deprecated":true,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/complaints/get:public-api.geterrordata","routeSlug":"/srm/openapi.public.enriched/complaints/get:public-api.geterrordata","metadata":{"seo":{"title":"List complaint data on the deprecated path","description":"Deprecated: use GET /api/tenant/:tenant_id/integrations/complaints instead. Identical response. Kept so existing integrations keep working. The export name is unchanged on purpose: Encore derives the operationId from it, so the published client's method survives."}},"httpPath":"/api/tenant/{tenant_id}/integrations/error"},{"label":"Create complaint data on the deprecated path","deprecated":true,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/srm/openapi.public.enriched/complaints/post:public-api.createerrordata","routeSlug":"/srm/openapi.public.enriched/complaints/post:public-api.createerrordata","metadata":{"seo":{"title":"Create complaint data on the deprecated path","description":"Deprecated: use POST /api/tenant/:tenant_id/integrations/complaints instead. Identical request and response. Kept so existing integrations keep working. The export name is unchanged on purpose: Encore derives the operationId from it, so the published client's method name survives."}},"httpPath":"/api/tenant/{tenant_id}/integrations/error"}]}]}]}