{"items":[{"type":"link","label":"Luminovo API","link":"/specs/bundled","routeSlug":"/specs/bundled","content":{"contentType":"overview","meta":{"name":"Luminovo API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"bundled.json","url":"/_bundle/specs/bundled.json?download"},{"kind":"download","label":"bundled.yaml","url":"/_bundle/specs/bundled.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"email","title":"E-mail","titleTranslationKey":"info.contact.name","email":"integrations@luminovo.com","label":"integrations@luminovo.com","withCopyButton":true,"copyContent":"integrations@luminovo.com"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Proprietary","url":"https://www.luminovo.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api.luminovo.com"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Luminovo API (1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The base URL of Luminovo's API is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://api.luminovo.com/"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Versioning"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API uses data model versioning to ensure backwards compatibility. The data model version is specified using the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header. For example, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept: application/api.luminovo.rfq-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" specifies version 1 of the RfQ data model. Refer to each endpoint's description for the correct "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header value. If no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is provided, the API will return a 404 error."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Handling Enum Types"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For all enum types in the API, you must account for an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Unknown\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" case. This ensures forward-compatibility, as new enum variants may be introduced without notice within the same data model version. For example, an enum "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with variants "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Ok"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Error"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may gain a new variant "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Warning"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" at any time."},"children":[]}]}]}]}],"sectionId":"/specs/bundled"}],"sectionId":"/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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"PostAssemblies","name":"Import Assembly Data","isWebhook":false,"pointer":"/paths/~1assemblies~1import/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import Assembly Data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"skip_missing_ipns","in":"query","schemaId":"components/schemas/CustomComponentId","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In case it is set to \"true\" it will allow importing assemblies even if some of the referenced IPNs do not exist in Luminovo."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These IPNs will then be recorded in BOM item notes. If set to “false”, the assemblies with missing IPNs will get skipped during import"},"children":[]}]}]}],"examples":{"enabled":{"value":"true"}}}],"pointer":"/paths/~1assemblies~1import/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Assemblies"}},"schemaId":"components/schemas/Assemblies","pointer":"/paths/~1assemblies~1import/post/requestBody","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint allows importing assembly data."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The import need not include all your assemblies."},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assemblies that were uploaded previously but are not present in a new upload are not deleted."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An assembly is a logical group of items that should be assembled into one unit."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assemblies can be nested via subassemblies. Nesting has to be acyclic, that is no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assembly may be referenced in any of its own subassemblies."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assemblies are uniquely identified by the combination of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"internal_part_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revision."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" That is, an assembly with the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"internal_part_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not be listed twice. All duplicated assemblies will be skipped during import."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finally, an assembly will also not be imported if it is part of a circular reference."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"That is, if an assembly is referenced in any of its own subassemblies."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Run assembly imports one at a time per tenant."},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assembly imports for the same tenant must not run concurrently. Each import"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reconciles the tenant's full assembly tree, so two imports running at once for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the same tenant can interfere and cause one of them to fail."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Serialize per tenant."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Issue one import request at a time for a given tenant."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Wait for the response before sending the next, and leave a short pause between"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calls. Do not fan out imports in parallel."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Match your client timeout to real import durations."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A large assembly import"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can take several minutes. Set your client read timeout above the longest import"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"you expect. If your client times out and retries while the original request is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"still being processed on our side, you create two overlapping imports for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same tenant, which is the exact situation to avoid."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Handle 409 Conflict."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" If an import returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", another import for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the same tenant is still in progress. Wait a few seconds and retry the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request. Do not treat 409 as a permanent failure."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Concurrent imports for the same tenant are not supported and may return"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or, in rarer cases, fail with a 500 error that a retry might clear."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assemblies/import","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"skip_missing_ipns","in":"query","required":false,"example":"true","schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/Assemblies"}},"responseCodes":["207","400","409"],"pointer":"/assemblies/import","href":"assembly/postassemblies","openApiOperationId":"PostAssemblies","summary":"Import Assembly Data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/Assemblies","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Assemblies"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"207","description":"Successfull import","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_91"}},"schemaId":"schema_91"},{"code":"400","description":"Bad request"},{"code":"409","description":"Conflict. Most likely because another import is still in progress.\nWait a few seconds and retry the same request.\n"}],"pointer":"/paths/~1assemblies~1import/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"207","schemaId":"schema_91","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_91"}}},{"code":"400"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/assembly/postassemblies"}],"panels":[]}]},"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)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetAssembly","name":"Get Assembly","isWebhook":false,"pointer":"/paths/~1assemblies/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Assembly","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Queries assembly details given assembly id(s)."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"assembly_ids","in":"query","schemaId":"schema_92","description":"Assembly ids to retrieve (comma-separated list).","required":true}],"pointer":"/paths/~1assemblies/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_93","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1assemblies/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/assemblies","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"assembly_ids","in":"query","required":true,"schemaId":"schema_92"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/AssemblyAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/assemblies","href":"assembly/getassembly","openApiOperationId":"GetAssembly","summary":"Get Assembly"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The requested assemblies.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.AllAssembliesResponse"}},"schemaId":"components/schemas/types.rfq.v1.AllAssembliesResponse"}],"pointer":"/paths/~1assemblies/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.AllAssembliesResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.AllAssembliesResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/assembly/getassembly"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateAssembly","name":"Create Assembly","isWebhook":false,"pointer":"/paths/~1assemblies/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Assembly","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a new assembly under a given RfQ."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_93","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1assemblies/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.AssemblyInput"}},"schemaId":"components/schemas/types.assembly.v1.AssemblyInput","pointer":"/paths/~1assemblies/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assemblies","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/AssemblyAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.AssemblyInput"}},"responseCodes":["200"],"pointer":"/assemblies","href":"assembly/createassembly","openApiOperationId":"CreateAssembly","summary":"Create Assembly"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.assembly.v1.AssemblyInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.AssemblyInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Assembly created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.SimpleAssemblyResponse"}},"schemaId":"components/schemas/types.assembly.v1.SimpleAssemblyResponse"}],"pointer":"/paths/~1assemblies/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.assembly.v1.SimpleAssemblyResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.SimpleAssemblyResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/assembly/createassembly"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateAssemblyPcb","name":"Create Assembly PCB","isWebhook":false,"pointer":"/paths/~1assemblies~1{assembly_id}~1pcb/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Assembly PCB","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a PCB and links it to an assembly."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"assembly_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"ID of the assembly to create a PCB for.","required":true}],"pointer":"/paths/~1assemblies~1{assembly_id}~1pcb/post/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_files","in":"query","schemaId":"schema_94","description":"Whether to create the PCB without files."}],"pointer":"/paths/~1assemblies~1{assembly_id}~1pcb/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"components/schemas/CustomComponentId","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly-pcb-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1assemblies~1{assembly_id}~1pcb/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Signature"}},"schemaId":"components/schemas/Signature","pointer":"/paths/~1assemblies~1{assembly_id}~1pcb/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/assemblies/{assembly_id}/pcb","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"assembly_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[{"name":"without_files","in":"query","required":false,"schemaId":"schema_94"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomComponentId"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/Signature"}},"responseCodes":["200"],"pointer":"/assemblies/{assembly_id}/pcb","href":"assembly/createassemblypcb","openApiOperationId":"CreateAssemblyPcb","summary":"Create Assembly PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/Signature","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Signature"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.CreateAssemblyPcbResponse"}},"schemaId":"components/schemas/types.assembly.v1.CreateAssemblyPcbResponse"}],"pointer":"/paths/~1assemblies~1{assembly_id}~1pcb/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.assembly.v1.CreateAssemblyPcbResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.v1.CreateAssemblyPcbResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/assembly/createassemblypcb"}],"panels":[]}]},"httpPath":"/assemblies/{assembly_id}/pcb"}],"content":{"contentType":"group","meta":{"name":"Assembly"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assembly","showPageActions":true},{"nodeType":"markdoc","content":"An Assembly is a logical group of items that should be assembled into one unit. It represents a complete product or sub-product that can be manufactured, sourced, and managed as a cohesive unit.\nYou can view assemblies in Luminovo under the \"Assemblies\" tab."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/assemblies/import","summary":"Import Assembly Data","prefix":{"name":"post","color":"post"},"badges":[],"link":"/assembly/postassemblies","deprecated":false},{"title":"/assemblies","summary":"Get Assembly","prefix":{"name":"get","color":"get"},"badges":[],"link":"/assembly/getassembly","deprecated":false},{"title":"/assemblies","summary":"Create Assembly","prefix":{"name":"post","color":"post"},"badges":[],"link":"/assembly/createassembly","deprecated":false},{"title":"/assemblies/{assembly_id}/pcb","summary":"Create Assembly PCB","prefix":{"name":"post","color":"post"},"badges":[],"link":"/assembly/createassemblypcb","deprecated":false}]}]}]}]}},{"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"PostToken","name":"Authenticating to the API","isWebhook":false,"pointer":"/paths/~1token/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Authenticating to the API","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TokenRequest"}},"schemaId":"components/schemas/TokenRequest","pointer":"/paths/~1token/post/requestBody","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Getting an access token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To use the Luminovo API you need to get an access token using your authentication token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you are an API customer, you can create an API token in the API Settings: https://{insert tenant name here}.luminovo.com/settings/organization/api-integration."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you want to upgrade your API package, reach out to your customer success manager."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"curl --request POST \\\n  --url https://api.luminovo.com/token  \\\n  --header 'content-type: application/json' \\\n  --data '{\"token\":\"cb7daea2-df5f-44de-99cc-213668e6c991\"}'\n","language":"curl"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"curl --request POST \\\n  --url https://api.luminovo.com/token  \\\n  --header 'content-type: application/json' \\\n  --data '{\"token\":\"cb7daea2-df5f-44de-99cc-213668e6c991\"}'\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\n"},"children":[]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API Request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can use this "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"bearer token"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization Header"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in your request to obtain authorized access to Luminovo's API."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"curl --request GET \\\n--url https://api.luminovo.com/{endpoint} \\\n--header 'authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'\n","language":"curl"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"curl --request GET \\\n--url https://api.luminovo.com/{endpoint} \\\n--header 'authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'\n"},"children":[]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Token expiration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bear in mind that the access token is only valid for 1 hour. You can always examine the JWT token by decoding it (e.g. using https://jwt.io/) and checking the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"exp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" claim. When a token expires please acquire a new one using the same method discussed earlier. The rotation of access tokens avoids exposure through token leakage. It is perfectly fine to refresh a token before its expiration!"},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Token length"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note that the length of the bearer token can vary over time. Your implementation should not make assumptions about the token length as it may increase or decrease based on future authentication system updates. Always handle the complete token as provided by the API regardless of its size."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/token","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/TokenRequest"}},"responseCodes":["200","401"],"pointer":"/token","href":"authentication/posttoken","openApiOperationId":"PostToken","summary":"Authenticating to the API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/TokenRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TokenRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success response","mediaType":"text/plain","mediaTypes":["text/plain"],"mediaTypeContent":{"text/plain":{"schemaId":"schema_95"}},"schemaId":"schema_95"},{"code":"401","description":"Authentication failed"}],"pointer":"/paths/~1token/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_95","mediaTypes":["text/plain"],"mediaTypeContent":{"text/plain":{"schemaId":"schema_95"}}},{"code":"401"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/authentication/posttoken"}],"panels":[]}]},"httpPath":"/token"}],"content":{"contentType":"group","meta":{"name":"Authentication"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Authentication","showPageActions":true},{"nodeType":"markdoc","content":"Authentication and token retrieval endpoints."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/token","summary":"Authenticating to the API","prefix":{"name":"post","color":"post"},"badges":[],"link":"/authentication/posttoken","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetProjectBOMtree","name":"Get BOM Tree","isWebhook":false,"pointer":"/paths/~1projects~1{id}~1tree/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get BOM Tree","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get the list of all assemblies included in your project."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the project.","required":true}],"pointer":"/paths/~1projects~1{id}~1tree/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly-ids-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1{id}~1tree/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects/{id}/tree","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/AssemblyIdsAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/projects/{id}/tree","href":"bom/getprojectbomtree","openApiOperationId":"GetProjectBOMtree","summary":"Get BOM Tree"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get BOM tree for project.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse"}},"schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse"}],"pointer":"/paths/~1projects~1{id}~1tree/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/bom/getprojectbomtree"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetBOMtree","name":"Get BOM Tree","isWebhook":false,"pointer":"/paths/~1rfqs~1{id}~1tree/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get BOM Tree","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get the list of all assemblies included in your RfQ.\nNote: Luminovo creates an assembly for every created RfQ. Hence, the RfQ ID itself is also referenced as an assembly."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the RfQ.","required":true}],"pointer":"/paths/~1rfqs~1{id}~1tree/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_96","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly-ids-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1{id}~1tree/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rfqs/{id}/tree","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/AssemblyIdsAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/rfqs/{id}/tree","href":"bom/getbomtree","openApiOperationId":"GetBOMtree","summary":"Get BOM Tree"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get BOM tree for RfQ.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse"}},"schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse"}],"pointer":"/paths/~1rfqs~1{id}~1tree/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/bom/getbomtree"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetProjectCostedBom","name":"Get costed BOM","deprecated":true,"isWebhook":false,"pointer":"/paths/~1projects~1{id}~1costed-bom/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get costed BOM","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" We are actively working on a new version of this endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns costed BOM for a given project."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the project to retrieve the costed bom for","required":true}],"pointer":"/paths/~1projects~1{id}~1costed-bom/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.costed-bom-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1{id}~1costed-bom/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects/{id}/costed-bom","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CostedBomAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/projects/{id}/costed-bom","href":"bom/getprojectcostedbom","openApiOperationId":"GetProjectCostedBom","summary":"Get costed BOM"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project costed BOM.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom"}},"schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom"}],"pointer":"/paths/~1projects~1{id}~1costed-bom/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/bom/getprojectcostedbom"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetRfqCostedBom","name":"Get costed BOM","deprecated":true,"isWebhook":false,"pointer":"/paths/~1rfqs~1{id}~1costed-bom/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get costed BOM","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" We are actively working on a new version of this endpoint."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If anything about the current version is causing problems, we are actively looking"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for feedback — please reach out to us."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns costed BOM for a given RfQ."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the RfQ to retrieve the costed bom for","required":true}],"pointer":"/paths/~1rfqs~1{id}~1costed-bom/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_97","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.costed-bom-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1{id}~1costed-bom/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rfqs/{id}/costed-bom","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CostedBomAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/rfqs/{id}/costed-bom","href":"bom/getrfqcostedbom","openApiOperationId":"GetRfqCostedBom","summary":"Get costed BOM"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"RfQ costed BOM.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom"}},"schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom"}],"pointer":"/paths/~1rfqs~1{id}~1costed-bom/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.costed_bom.v1.CostedBom"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/bom/getrfqcostedbom"}],"panels":[]}]},"httpPath":"/rfqs/{id}/costed-bom"}],"content":{"contentType":"group","meta":{"name":"BOM"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"BOM","showPageActions":true},{"nodeType":"markdoc","content":"BOM stands for Bill of Materials - it's a comprehensive list of all components, parts, and assemblies required to manufacture a product.\nYou can view BOMs in Luminovo under the respective RfQ."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/projects/{id}/tree","summary":"Get BOM Tree","prefix":{"name":"get","color":"get"},"badges":[],"link":"/bom/getprojectbomtree","deprecated":false},{"title":"/rfqs/{id}/tree","summary":"Get BOM Tree","prefix":{"name":"get","color":"get"},"badges":[],"link":"/bom/getbomtree","deprecated":false},{"title":"/projects/{id}/costed-bom","summary":"Get costed BOM","prefix":{"name":"get","color":"http-deprecated"},"badges":[],"link":"/bom/getprojectcostedbom","deprecated":true},{"title":"/rfqs/{id}/costed-bom","summary":"Get costed BOM","prefix":{"name":"get","color":"http-deprecated"},"badges":[],"link":"/bom/getrfqcostedbom","deprecated":true}]}]}]}]}},{"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"PostComponents","name":"Import Component Data","isWebhook":false,"pointer":"/paths/~1components~1import/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import Component Data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Components"}},"schemaId":"components/schemas/Components","pointer":"/paths/~1components~1import/post/requestBody","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Import your ERP component data into Luminovo."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important Notes:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We will update your data once/day."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For technical reasons, data sent to this endpoint will be imported only once a day on weekdays (Mon-Fri, early in the morning)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"on our side. Hence, newly uploaded data will therefore usually only become available in the product the next day."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only the last uploaded data will be imported, so every new upload to this endpoint will overwrite the previous one from the same day."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include all your components in the import."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Components with IPNs that were uploaded previously but are not present in a new upload are deleted."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For best results and most up-to-date component library, we recommend uploading your Components once/day at 11 pm CET."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/components/import","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/Components"}},"responseCodes":["202","400"],"pointer":"/components/import","href":"components/postcomponents","openApiOperationId":"PostComponents","summary":"Import Component Data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/Components","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/Components"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"202","description":"Accepted response"},{"code":"400","description":"Bad request"}],"pointer":"/paths/~1components~1import/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/components/postcomponents"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"ListComponents","name":"List Components","isWebhook":false,"pointer":"/paths/~1components/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Components","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all components in the tenant's library."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Components are ordered by IPN value and revision."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to sync the full component library with an external system"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by iterating through all pages until "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_count"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is exhausted."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each component includes the same data as the single-IPN lookup:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"internal part number, type, category, risk data, and linked parts."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_98","description":"Page number (1-based). Defaults to 1."},{"name":"page_size","in":"query","schemaId":"schema_98","description":"Number of components per page (1-50). Defaults to 20."}],"pointer":"/paths/~1components/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.component-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1components/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/components","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"page","in":"query","required":false,"schemaId":"schema_98"},{"name":"page_size","in":"query","required":false,"schemaId":"schema_98"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ComponentExportAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","403","422"],"pointer":"/components","href":"components/listcomponents","openApiOperationId":"ListComponents","summary":"List Components"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of components.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.ipn.v1.PaginatedComponentExportResponse"}},"schemaId":"components/schemas/types.ipn.v1.PaginatedComponentExportResponse"},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to view components."},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unprocessable. Invalid pagination parameters (e.g., page < 1 or page_size > 50)."},"children":[]}]}]}]}],"pointer":"/paths/~1components/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.ipn.v1.PaginatedComponentExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.ipn.v1.PaginatedComponentExportResponse"}}},{"code":"401"},{"code":"403"},{"code":"422"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/components/listcomponents"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetComponentByIpn","name":"Get Components by IPN","isWebhook":false,"pointer":"/paths/~1components~1ipn~1{ipn}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Components by IPN","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns all components (including revisions) matching the given IPN value."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each component includes:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"internal_part_number"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": The IPN value and optional revision"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"OffTheShelf\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Custom\""},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"risk_data"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Aggregated compliance and lifecycle data derived from linked parts"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"linked_parts"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Off-the-shelf parts (MPNs), generic specifications, or custom part specifications"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no component matches the given IPN value, the response contains an empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"components"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(not a 404 error), since one IPN value can map to multiple revisions."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ipn","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The IPN (Internal Part Number) value to look up. Must be URL-encoded if it contains special characters (e.g., slashes, spaces).","required":true}],"pointer":"/paths/~1components~1ipn~1{ipn}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_99","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.component-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1components~1ipn~1{ipn}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/components/ipn/{ipn}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"ipn","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ComponentExportAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","403"],"pointer":"/components/ipn/{ipn}","href":"components/getcomponentbyipn","openApiOperationId":"GetComponentByIpn","summary":"Get Components by IPN"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Components matching the IPN value. Returns an empty list if no component with this IPN exists.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.ipn.v1.ComponentExportResponse"}},"schemaId":"components/schemas/types.ipn.v1.ComponentExportResponse"},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to view components."}],"pointer":"/paths/~1components~1ipn~1{ipn}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.ipn.v1.ComponentExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.ipn.v1.ComponentExportResponse"}}},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/components/getcomponentbyipn"}],"panels":[]}]},"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)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetComponentRisk","name":"Get Component Risk","isWebhook":false,"pointer":"/paths/~1components~1{ipn}~1risk/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Component Risk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get the aggregated compliance and lifecycle of a component (IPN)."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"components/getcomponentrisk/request/how-the-values-are-aggregated","deepLinkHash":"/components/getcomponentrisk#components/getcomponentrisk/request/how-the-values-are-aggregated"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the values are aggregated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single IPN in Luminovo can be linked to many off-the-shelf manufacturer parts"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(directly, or indirectly through matched generic parts). Each of those linked"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parts has its own compliance and lifecycle data. The fields returned here are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the result of aggregating across "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"all"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" linked off-the-shelf parts of the IPN:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compliance fields"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rohs_compliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reach_compliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"aecq_compliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"worst"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status across all linked parts is returned. The ordering,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from worst to best, is:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NonCompliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Unknown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NotRequired"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CompliantWithExemption"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Compliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In other words, a single "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NonCompliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" linked part makes the IPN"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NonCompliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; the IPN is only reported as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Compliant"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if every linked part is."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When no linked parts are available, the default is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Unknown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lifecycle_status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"best"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lifecycle across all linked parts is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"returned. The ordering, from worst to best, is:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Obsolete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Aftermarket"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EndOfLife"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NotRecommendedForNewDesigns"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"< "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Acquired"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Unknown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" < "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PreRelease"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"So as long as at least one linked part is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the IPN is reported as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Active"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", even if other linked parts are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"EndOfLife"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Obsolete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"intentional: the user of the IPN can always fall back to the healthiest"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"available match."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lifecycle_yteol"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (years to end of life) — the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"maximum"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value across all"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"linked parts that report a YTEOL, rounded down to one decimal place. This"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"mirrors the \"best case\" semantics of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lifecycle_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no linked part has a YTEOL value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"std_factory_lead_time"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (days) — the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"minimum"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" factory lead time"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"across every offer on every off-the-shelf part linked to the IPN, including"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"both tenant-private and public offers. Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if none of those"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offers carries a factory lead time."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that these are the same aggregation rules used by the Component Library"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and BoM Health dashboards in the Luminovo UI, so the values returned here"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"match what you see in the product."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ipn","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The IPN (Internal Part Number) value of the component to fetch details for","required":true}],"pointer":"/paths/~1components~1{ipn}~1risk/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_100","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.component-risk-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1components~1{ipn}~1risk/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/components/{ipn}/risk","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"ipn","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ComponentRiskAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/components/{ipn}/risk","href":"components/getcomponentrisk","openApiOperationId":"GetComponentRisk","summary":"Get Component Risk"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Component risk.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.ipn.v1.ComponentRiskResponse"}},"schemaId":"components/schemas/types.ipn.v1.ComponentRiskResponse"}],"pointer":"/paths/~1components~1{ipn}~1risk/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.ipn.v1.ComponentRiskResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.ipn.v1.ComponentRiskResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/components/getcomponentrisk"}],"panels":[]}]},"httpPath":"/components/{ipn}/risk"}],"content":{"contentType":"group","meta":{"name":"Components"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Components","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Components are the fundamental building blocks that make up electronic assemblies (PCBs, products, etc.)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can view components in Luminovo under the \"Parts\" tab."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" components in order to get good data quality in Luminovo."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are all electonic components which have a MPN and can be purchased from an electronic parts suppliers."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are all other non-electronic components, such as screws, packaging materials, lables, etc. Also, custom are all electronic components which are not standartized and don't have an MPN."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/components/import","summary":"Import Component Data","prefix":{"name":"post","color":"post"},"badges":[],"link":"/components/postcomponents","deprecated":false},{"title":"/components","summary":"List Components","prefix":{"name":"get","color":"get"},"badges":[],"link":"/components/listcomponents","deprecated":false},{"title":"/components/ipn/{ipn}","summary":"Get Components by IPN","prefix":{"name":"get","color":"get"},"badges":[],"link":"/components/getcomponentbyipn","deprecated":false},{"title":"/components/{ipn}/risk","summary":"Get Component Risk","prefix":{"name":"get","color":"get"},"badges":[],"link":"/components/getcomponentrisk","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetCustomPart","name":"Get Custom Part","isWebhook":false,"pointer":"/paths/~1custom-parts~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Custom Part","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get information about a custom part specification.\nInformation includes the description, part type, and compliance information."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"ID of the custom part specification to retrieve.","required":true}],"pointer":"/paths/~1custom-parts~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_101","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.custom-part-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1custom-parts~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/custom-parts/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomPartAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","422"],"pointer":"/custom-parts/{id}","href":"custom-part/getcustompart","openApiOperationId":"GetCustomPart","summary":"Get Custom Part"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom part.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.custom_part.v1.CustomPart"}},"schemaId":"components/schemas/types.custom_part.v1.CustomPart"},{"code":"400","description":"The custom part specification ID in the path is not a valid UUID."},{"code":"401","description":"Unauthorized. The request is missing valid authentication."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification does not exist. Error detail: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Not found \"Custom part specification not found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"code":"422","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification exists, but its category data cannot be converted to the external response. Error detail is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"No root category found matching old part type '<part_type>'"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom part category not found for user category <user_category>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1custom-parts~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.custom_part.v1.CustomPart","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.custom_part.v1.CustomPart"}}},{"code":"400"},{"code":"401"},{"code":"404"},{"code":"422"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-part/getcustompart"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetCustomPartResources","name":"Get Custom Part Resources","isWebhook":false,"pointer":"/paths/~1custom-parts~1{id}~1resources/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Custom Part Resources","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieves URLs for resources/files attached to the custom part specification.\nURL to retrieve the actual file is only valid temporarily.\nYou need to call this endpoint again to get a new valid URL after some time."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"ID of the custom part specification whose resources should be retrieved.","required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_102","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.custom-part-resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The legacy value "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is also accepted for backward compatibility."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/custom-parts/{id}/resources","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomPartResourceAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/custom-parts/{id}/resources","href":"custom-part/getcustompartresources","openApiOperationId":"GetCustomPartResources","summary":"Get Custom Part Resources"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"File URL response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.resource.v1.ResourceUrlResponse"}},"schemaId":"components/schemas/types.resource.v1.ResourceUrlResponse"},{"code":"400","description":"The custom part specification ID in the path is not a valid UUID."},{"code":"401","description":"Unauthorized. The request is missing valid authentication."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification does not exist. Error detail: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Not found \"Custom part specification not found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1custom-parts~1{id}~1resources/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.resource.v1.ResourceUrlResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.resource.v1.ResourceUrlResponse"}}},{"code":"400"},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-part/getcustompartresources"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UploadCustomPartResource","name":"Upload Custom Part Resource","isWebhook":false,"pointer":"/paths/~1custom-parts~1{id}~1resources/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload Custom Part Resource","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Upload a file (drawing, datasheet, etc.) to a custom part specification.\nThe file content should be sent as raw binary in the request body.\nUploads are limited to 5 GiB. Uploading a file with the same sanitized\nfilename as an existing resource replaces the existing resource."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"ID of the custom part specification to upload a file to.","required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"filename","in":"query","schemaId":"components/schemas/CustomComponentId","description":"Name of the file being uploaded. If a resource with the sanitized filename already exists on this custom part specification, it is replaced.","required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/octet-stream"],"mediaTypeSchemas":{"application/octet-stream":{"schemaId":"schema_103"}},"schemaId":"schema_103","pointer":"/paths/~1custom-parts~1{id}~1resources/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/custom-parts/{id}/resources","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[{"name":"filename","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/octet-stream":{"schemaId":"schema_103"}},"responseCodes":["200","400","401","404","413"],"pointer":"/custom-parts/{id}/resources","href":"custom-part/uploadcustompartresource","openApiOperationId":"UploadCustomPartResource","summary":"Upload Custom Part Resource"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"schema_103","mediaTypes":["application/octet-stream"],"mediaTypeSchemas":{"application/octet-stream":{"schemaId":"schema_103"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"File uploaded successfully. Existing resources with the same sanitized filename are replaced."},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification ID in the path is not a valid UUID, or the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"filename"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter is missing or cannot be decoded."},"children":[]}]}]}]},{"code":"401","description":"Unauthorized. The request is missing valid authentication."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification does not exist. Error detail: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Not found \"Custom part specification not found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"code":"413","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The uploaded body is larger than 5 GiB. Error detail: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Payload exceeds limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1custom-parts~1{id}~1resources/put/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-part/uploadcustompartresource"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteCustomPartResource","name":"Delete Custom Part Resource","isWebhook":false,"pointer":"/paths/~1custom-parts~1{id}~1resources/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Custom Part Resource","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a file (drawing, datasheet, etc.) attached to a custom part specification."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"ID of the custom part specification to delete a file from.","required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"filename","in":"query","schemaId":"components/schemas/CustomComponentId","description":"Name of the file to delete.","required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_102","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.custom-part-resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1custom-parts~1{id}~1resources/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/custom-parts/{id}/resources","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[{"name":"filename","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomPartResourceAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204","400","401","404"],"pointer":"/custom-parts/{id}/resources","href":"custom-part/deletecustompartresource","openApiOperationId":"DeleteCustomPartResource","summary":"Delete Custom Part Resource"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"File deleted successfully."},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification ID in the path is not a valid UUID, or the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"filename"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter is missing or cannot be decoded."},"children":[]}]}]}]},{"code":"401","description":"Unauthorized. The request is missing valid authentication."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part specification or requested resource does not exist. Error detail: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Not found \"Custom part specification not found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Not found \"Custom part resource not found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1custom-parts~1{id}~1resources/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/custom-part/deletecustompartresource"}],"panels":[]}]},"httpPath":"/custom-parts/{id}/resources"}],"content":{"contentType":"group","meta":{"name":"Custom Part"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Custom Part","showPageActions":true},{"nodeType":"markdoc","content":"Get information about a custom part."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/custom-parts/{id}","summary":"Get Custom Part","prefix":{"name":"get","color":"get"},"badges":[],"link":"/custom-part/getcustompart","deprecated":false},{"title":"/custom-parts/{id}/resources","summary":"Get Custom Part Resources","prefix":{"name":"get","color":"get"},"badges":[],"link":"/custom-part/getcustompartresources","deprecated":false},{"title":"/custom-parts/{id}/resources","summary":"Upload Custom Part Resource","prefix":{"name":"put","color":"put"},"badges":[],"link":"/custom-part/uploadcustompartresource","deprecated":false},{"title":"/custom-parts/{id}/resources","summary":"Delete Custom Part Resource","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/custom-part/deletecustompartresource","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"SearchCustomer","name":"Search or Get All Customers","isWebhook":false,"pointer":"/paths/~1customers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Search or Get All Customers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Queries all customers given a specific filter. Filter is optional. If filter is not set, returns all customers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"customer_number","in":"query","schemaId":"schema_104"}],"pointer":"/paths/~1customers/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"components/schemas/CustomComponentId","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"customer_number","in":"query","required":false,"schemaId":"schema_104"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomComponentId"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/customers","href":"customer/searchcustomer","openApiOperationId":"SearchCustomer","summary":"Search or Get All Customers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customers.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.AllCustomerResponse"}},"schemaId":"components/schemas/types.customer.v1.AllCustomerResponse"}],"pointer":"/paths/~1customers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.customer.v1.AllCustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.AllCustomerResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/searchcustomer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateCustomer","name":"Create New Customer","isWebhook":false,"pointer":"/paths/~1customers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new customer.\nIf successful, the customer will be returned in the response with its ID referenced."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_105","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerInput"}},"schemaId":"components/schemas/types.customer.v1.CustomerInput","pointer":"/paths/~1customers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/customers","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerInput"}},"responseCodes":["200"],"pointer":"/customers","href":"customer/createcustomer","openApiOperationId":"CreateCustomer","summary":"Create New Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.customer.v1.CustomerInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customer created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}},"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}],"pointer":"/paths/~1customers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.customer.v1.CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/createcustomer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetCustomer","name":"Get Customer","isWebhook":false,"pointer":"/paths/~1customers~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a customer based on its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","required":true}],"pointer":"/paths/~1customers~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_105","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/customers/{id}","href":"customer/getcustomer","openApiOperationId":"GetCustomer","summary":"Get Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single customer response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}},"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}],"pointer":"/paths/~1customers~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.customer.v1.CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/getcustomer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteCustomer","name":"Delete Customer","isWebhook":false,"pointer":"/paths/~1customers~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a customer by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the customer to delete","required":true}],"pointer":"/paths/~1customers~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_105","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/customers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204"],"pointer":"/customers/{id}","href":"customer/deletecustomer","openApiOperationId":"DeleteCustomer","summary":"Delete Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Customer deleted."}],"pointer":"/paths/~1customers~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/deletecustomer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateCustomer","name":"Update Customer","isWebhook":false,"pointer":"/paths/~1customers~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Customer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a customer by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the customer to update","required":true}],"pointer":"/paths/~1customers~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_105","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerUpdate"}},"schemaId":"components/schemas/types.customer.v1.CustomerUpdate","pointer":"/paths/~1customers~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/customers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerUpdate"}},"responseCodes":["200"],"pointer":"/customers/{id}","href":"customer/updatecustomer","openApiOperationId":"UpdateCustomer","summary":"Update Customer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.customer.v1.CustomerUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customer updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}},"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}],"pointer":"/paths/~1customers~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.customer.v1.CustomerResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.customer.v1.CustomerResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/updatecustomer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetCustomerUsers","name":"Get Customer Users","isWebhook":false,"pointer":"/paths/~1customers~1{id}~1users/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Customer Users","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns all users associated with a customer."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the customer.","required":true}],"pointer":"/paths/~1customers~1{id}~1users/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_106","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-user-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}~1users/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/customers/{id}/users","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerUserAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/customers/{id}/users","href":"customer/getcustomerusers","openApiOperationId":"GetCustomerUsers","summary":"Get Customer Users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of users for the customer.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.user.v1.AllUsers"}},"schemaId":"components/schemas/types.user.v1.AllUsers"}],"pointer":"/paths/~1customers~1{id}~1users/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.user.v1.AllUsers","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.user.v1.AllUsers"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/getcustomerusers"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"InviteCustomerUser","name":"Invite Customer User","isWebhook":false,"pointer":"/paths/~1customers~1{id}~1users/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Invite Customer User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Invite a user to a customer. The user will receive an email invitation to join the customer portal."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the customer to invite the user to.","required":true}],"pointer":"/paths/~1customers~1{id}~1users/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_106","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-user-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}~1users/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.user.v1.UserInviteInput"}},"schemaId":"components/schemas/types.user.v1.UserInviteInput","pointer":"/paths/~1customers~1{id}~1users/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/customers/{id}/users","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerUserAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.user.v1.UserInviteInput"}},"responseCodes":["200"],"pointer":"/customers/{id}/users","href":"customer/invitecustomeruser","openApiOperationId":"InviteCustomerUser","summary":"Invite Customer User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.user.v1.UserInviteInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.user.v1.UserInviteInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User invite sent successfully."}],"pointer":"/paths/~1customers~1{id}~1users/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/invitecustomeruser"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteCustomerUser","name":"Delete Customer User","isWebhook":false,"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Customer User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a user from a customer."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the customer.","required":true},{"name":"user_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the user to delete.","required":true}],"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_106","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-user-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/customers/{id}/users/{user_id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"},{"name":"user_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerUserAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204"],"pointer":"/customers/{id}/users/{user_id}","href":"customer/deletecustomeruser","openApiOperationId":"DeleteCustomerUser","summary":"Delete Customer User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"User deleted successfully."}],"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/deletecustomeruser"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateCustomerUser","name":"Update Customer User","isWebhook":false,"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Customer User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a user associated with a customer."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the customer.","required":true},{"name":"user_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the user to update.","required":true}],"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_106","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.customer-user-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.user.v1.UserUpdateInput"}},"schemaId":"components/schemas/types.user.v1.UserUpdateInput","pointer":"/paths/~1customers~1{id}~1users~1{user_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/customers/{id}/users/{user_id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"},{"name":"user_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomerUserAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.user.v1.UserUpdateInput"}},"responseCodes":["200"],"pointer":"/customers/{id}/users/{user_id}","href":"customer/updatecustomeruser","openApiOperationId":"UpdateCustomerUser","summary":"Update Customer User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.user.v1.UserUpdateInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.user.v1.UserUpdateInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.user.v1.User"}},"schemaId":"components/schemas/types.user.v1.User"}],"pointer":"/paths/~1customers~1{id}~1users~1{user_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.user.v1.User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.user.v1.User"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/customer/updatecustomeruser"}],"panels":[]}]},"httpPath":"/customers/{id}/users/{user_id}"}],"content":{"contentType":"group","meta":{"name":"Customer"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Customer","showPageActions":true},{"nodeType":"markdoc","content":"Search, Create and Get Customers."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/customers","summary":"Search or Get All Customers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customer/searchcustomer","deprecated":false},{"title":"/customers","summary":"Create New Customer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/customer/createcustomer","deprecated":false},{"title":"/customers/{id}","summary":"Get Customer","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customer/getcustomer","deprecated":false},{"title":"/customers/{id}","summary":"Delete Customer","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/customer/deletecustomer","deprecated":false},{"title":"/customers/{id}","summary":"Update Customer","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/customer/updatecustomer","deprecated":false},{"title":"/customers/{id}/users","summary":"Get Customer Users","prefix":{"name":"get","color":"get"},"badges":[],"link":"/customer/getcustomerusers","deprecated":false},{"title":"/customers/{id}/users","summary":"Invite Customer User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/customer/invitecustomeruser","deprecated":false},{"title":"/customers/{id}/users/{user_id}","summary":"Delete Customer User","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/customer/deletecustomeruser","deprecated":false},{"title":"/customers/{id}/users/{user_id}","summary":"Update Customer User","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/customer/updatecustomeruser","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_clear_and_create_demands_v1","name":"Create Demand","deprecated":true,"isWebhook":false,"pointer":"/paths/~1demand~1import/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Demand","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint is deprecated and will be removed in a future version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a demand scenario for IPNs. You can create demands for both assemblies and single components."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a demand gets created for an assembly, it gets propagated to the assembly's subassemblies and BOM items."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_107","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.demand-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1demand~1import/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/DemandCreationRequest"}},"schemaId":"components/schemas/DemandCreationRequest","pointer":"/paths/~1demand~1import/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/demand/import","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/DemandAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/DemandCreationRequest"}},"responseCodes":["207"],"pointer":"/demand/import","href":"demand/doc_clear_and_create_demands_v1","openApiOperationId":"doc_clear_and_create_demands_v1","summary":"Create Demand"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/DemandCreationRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/DemandCreationRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"207","description":"Demands created."}],"pointer":"/paths/~1demand~1import/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/demand/doc_clear_and_create_demands_v1"}],"panels":[]}]},"httpPath":"/demand/import"}],"content":{"contentType":"group","meta":{"name":"Demand"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Demand","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The demand import endpoint is deprecated and will be removed in a future version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A demand in Luminovo is a request for a specific quantity of electronic parts or assemblies"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that need to be delivered by a certain date. Demands are attached to assemblies or components"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"within Luminovo based on the internal part number."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/demand/import","summary":"Create Demand","prefix":{"name":"post","color":"http-deprecated"},"badges":[],"link":"/demand/doc_clear_and_create_demands_v1","deprecated":true}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_get_plans_by_rfq_v0","name":"Get Calculation Plans by RFQ (v0 - unstable)","isWebhook":false,"pointer":"/paths/~1flexible-calculation~1plans~1rfq~1{rfq_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Calculation Plans by RFQ (v0 - unstable)","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve all flexible calculation plans associated with a given RFQ."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint uses API version v0, which indicates an unstable contract."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Breaking changes may be introduced without a version bump. Do not rely on the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exact shape of the response for long-lived integrations until this is promoted to v1."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"rfq_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the RFQ.","required":true}],"pointer":"/paths/~1flexible-calculation~1plans~1rfq~1{rfq_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_108","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.flexible-calculation-v0+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1flexible-calculation~1plans~1rfq~1{rfq_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/flexible-calculation/plans/rfq/{rfq_id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"rfq_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/FlexibleCalculationAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/flexible-calculation/plans/rfq/{rfq_id}","href":"flexible-calculation/doc_get_plans_by_rfq_v0","openApiOperationId":"doc_get_plans_by_rfq_v0","summary":"Get Calculation Plans by RFQ (v0 - unstable)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.flexible_calculation.v0.AllCalculationPlansResponse"}},"schemaId":"components/schemas/types.flexible_calculation.v0.AllCalculationPlansResponse"},{"code":"401","description":"Unauthorized, please check permissions for the token"}],"pointer":"/paths/~1flexible-calculation~1plans~1rfq~1{rfq_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.flexible_calculation.v0.AllCalculationPlansResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.flexible_calculation.v0.AllCalculationPlansResponse"}}},{"code":"401"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/flexible-calculation/doc_get_plans_by_rfq_v0"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_get_plan_v0","name":"Get Calculation Plan (v0 - unstable)","isWebhook":false,"pointer":"/paths/~1flexible-calculation~1plans~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Calculation Plan (v0 - unstable)","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single flexible calculation plan by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint uses API version v0, which indicates an unstable contract."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Breaking changes may be introduced without a version bump. Do not rely on the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exact shape of the response for long-lived integrations until this is promoted to v1."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the calculation plan.","required":true}],"pointer":"/paths/~1flexible-calculation~1plans~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_108","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.flexible-calculation-v0+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1flexible-calculation~1plans~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/flexible-calculation/plans/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/FlexibleCalculationAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","404"],"pointer":"/flexible-calculation/plans/{id}","href":"flexible-calculation/doc_get_plan_v0","openApiOperationId":"doc_get_plan_v0","summary":"Get Calculation Plan (v0 - unstable)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.flexible_calculation.v0.CalculationPlanResponse"}},"schemaId":"components/schemas/types.flexible_calculation.v0.CalculationPlanResponse"},{"code":"401","description":"Unauthorized, please check permissions for the token"},{"code":"404","description":"Not found"}],"pointer":"/paths/~1flexible-calculation~1plans~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.flexible_calculation.v0.CalculationPlanResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.flexible_calculation.v0.CalculationPlanResponse"}}},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/flexible-calculation/doc_get_plan_v0"}],"panels":[]}]},"httpPath":"/flexible-calculation/plans/{id}"}],"content":{"contentType":"group","meta":{"name":"Flexible Calculation"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Flexible Calculation","showPageActions":true},{"nodeType":"markdoc","content":"Retrieve calculation plans and their configurations for RFQs."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/flexible-calculation/plans/rfq/{rfq_id}","summary":"Get Calculation Plans by RFQ (v0 - unstable)","prefix":{"name":"get","color":"get"},"badges":[],"link":"/flexible-calculation/doc_get_plans_by_rfq_v0","deprecated":false},{"title":"/flexible-calculation/plans/{id}","summary":"Get Calculation Plan (v0 - unstable)","prefix":{"name":"get","color":"get"},"badges":[],"link":"/flexible-calculation/doc_get_plan_v0","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_assembly_manufacturing_data_export_v1","name":"Get Manufacturing Costs for an Assembly","isWebhook":false,"pointer":"/paths/~1assemblies~1{assembly_id}~1manufacturing-data~1export/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Manufacturing Costs for an Assembly","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get the complete manufacturing related costs for an assembly. Returns the same data that can be\nexported via excel on Luminovo."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"assembly_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the assembly to fetch details for","required":true}],"pointer":"/paths/~1assemblies~1{assembly_id}~1manufacturing-data~1export/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_109","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly.manufacturing-data.export-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1assemblies~1{assembly_id}~1manufacturing-data~1export/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/assemblies/{assembly_id}/manufacturing-data/export","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"assembly_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ManufacturingDataExportAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/assemblies/{assembly_id}/manufacturing-data/export","href":"manufacturing-and-calculation/get_assembly_manufacturing_data_export_v1","openApiOperationId":"get_assembly_manufacturing_data_export_v1","summary":"Get Manufacturing Costs for an Assembly"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Assembly manufacturing cost details","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput"}},"schemaId":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput"}],"pointer":"/paths/~1assemblies~1{assembly_id}~1manufacturing-data~1export/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/manufacturing-and-calculation/get_assembly_manufacturing_data_export_v1"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetCalculationAssemblyCost","name":"Get Calculated Assembly Cost","isWebhook":false,"pointer":"/paths/~1calculations~1assembly-costs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Calculated Assembly Cost","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query the calculation table for an assembly. Return material and manufacturing cost as well as all additional cost configured in the calculation table."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response includes an is_cost_frozen field that indicates whether the cost is frozen."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"assembly_id","in":"query","schemaId":"components/schemas/AssemblyId","description":"The ID of the assembly for which to get the cost.","required":true}],"pointer":"/paths/~1calculations~1assembly-costs/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_110","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.assembly-cost-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1calculations~1assembly-costs/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/calculations/assembly-costs","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"assembly_id","in":"query","required":true,"schemaId":"components/schemas/AssemblyId"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/AssemblyCostAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/calculations/assembly-costs","href":"manufacturing-and-calculation/getcalculationassemblycost","openApiOperationId":"GetCalculationAssemblyCost","summary":"Get Calculated Assembly Cost"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get calculated cost of an assembly.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse"}},"schemaId":"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse"}],"pointer":"/paths/~1calculations~1assembly-costs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/manufacturing-and-calculation/getcalculationassemblycost"}],"panels":[]}]},"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)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_resource_many_v1","name":"Get All Resources","isWebhook":false,"pointer":"/paths/~1manufacturing~1resource/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Resources","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get an array of all resources. Resources represent all machinery and employees relevant to production including their\nhourly rates (e.g. SMT Personnel or Fuji NXT Pick and Place Machine).\n\nResources can be used in activities to get time calculations as well as costs associated with them."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_111","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.manufacturing.resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1manufacturing~1resource/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/manufacturing/resource","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ManufacturingResourceAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/manufacturing/resource","href":"manufacturing-and-calculation/get_resource_many_v1","openApiOperationId":"get_resource_many_v1","summary":"Get All Resources"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_112"}},"schemaId":"schema_112"}],"pointer":"/paths/~1manufacturing~1resource/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_112","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_112"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/manufacturing-and-calculation/get_resource_many_v1"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_post_resource_v1","name":"Create New Resource","isWebhook":false,"pointer":"/paths/~1manufacturing~1resource/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create New Resource","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new manufacturing resource."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_111","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.manufacturing.resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1manufacturing~1resource/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceInput"}},"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceInput","pointer":"/paths/~1manufacturing~1resource/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/manufacturing/resource","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ManufacturingResourceAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceInput"}},"responseCodes":["200","401","422"],"pointer":"/manufacturing/resource","href":"manufacturing-and-calculation/doc_post_resource_v1","openApiOperationId":"doc_post_resource_v1","summary":"Create New Resource"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse"}},"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse"},{"code":"401","description":"Unauthorized, please check permissions for the token"},{"code":"422","description":"Not processable"}],"pointer":"/paths/~1manufacturing~1resource/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse"}}},{"code":"401"},{"code":"422"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/manufacturing-and-calculation/doc_post_resource_v1"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_delete_resource_v1","name":"Delete Resource","isWebhook":false,"pointer":"/paths/~1manufacturing~1resource~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Resource","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a resource using its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the resource to delete.","required":true}],"pointer":"/paths/~1manufacturing~1resource~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_111","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.manufacturing.resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1manufacturing~1resource~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/manufacturing/resource/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ManufacturingResourceAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","401","404"],"pointer":"/manufacturing/resource/{id}","href":"manufacturing-and-calculation/doc_delete_resource_v1","openApiOperationId":"doc_delete_resource_v1","summary":"Delete Resource"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response"},{"code":"401","description":"Unauthorized, please check permissions for the token"},{"code":"404","description":"Not found"}],"pointer":"/paths/~1manufacturing~1resource~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/manufacturing-and-calculation/doc_delete_resource_v1"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_patch_resource_v1","name":"Update Resource","isWebhook":false,"pointer":"/paths/~1manufacturing~1resource~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Resource","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a resource using its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the resource to update.","required":true}],"pointer":"/paths/~1manufacturing~1resource~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_111","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.manufacturing.resource-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1manufacturing~1resource~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceUpdate"}},"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceUpdate","pointer":"/paths/~1manufacturing~1resource~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/manufacturing/resource/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ManufacturingResourceAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceUpdate"}},"responseCodes":["200","401","404"],"pointer":"/manufacturing/resource/{id}","href":"manufacturing-and-calculation/doc_patch_resource_v1","openApiOperationId":"doc_patch_resource_v1","summary":"Update Resource"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse"}},"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse"},{"code":"401","description":"Unauthorized, please check permissions for the token"},{"code":"404","description":"Not found"}],"pointer":"/paths/~1manufacturing~1resource~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.manufacturing.resource.v1.ResourceResponse"}}},{"code":"401"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/manufacturing-and-calculation/doc_patch_resource_v1"}],"panels":[]}]},"httpPath":"/manufacturing/resource/{id}"}],"content":{"contentType":"group","meta":{"name":"Manufacturing and Calculation"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Manufacturing and Calculation","showPageActions":true},{"nodeType":"markdoc","content":"Get, create, delete and update all your manufacturing resources."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/assemblies/{assembly_id}/manufacturing-data/export","summary":"Get Manufacturing Costs for an Assembly","prefix":{"name":"get","color":"get"},"badges":[],"link":"/manufacturing-and-calculation/get_assembly_manufacturing_data_export_v1","deprecated":false},{"title":"/calculations/assembly-costs","summary":"Get Calculated Assembly Cost","prefix":{"name":"get","color":"get"},"badges":[],"link":"/manufacturing-and-calculation/getcalculationassemblycost","deprecated":false},{"title":"/manufacturing/resource","summary":"Get All Resources","prefix":{"name":"get","color":"get"},"badges":[],"link":"/manufacturing-and-calculation/get_resource_many_v1","deprecated":false},{"title":"/manufacturing/resource","summary":"Create New Resource","prefix":{"name":"post","color":"post"},"badges":[],"link":"/manufacturing-and-calculation/doc_post_resource_v1","deprecated":false},{"title":"/manufacturing/resource/{id}","summary":"Delete Resource","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/manufacturing-and-calculation/doc_delete_resource_v1","deprecated":false},{"title":"/manufacturing/resource/{id}","summary":"Update Resource","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/manufacturing-and-calculation/doc_patch_resource_v1","deprecated":false}]}]}]}]}},{"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"PostOffers","name":"Import Offers and Inventory","isWebhook":false,"pointer":"/paths/~1offers~1import/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import Offers and Inventory","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/OffersImport","exampleIds":["paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer"]}},"schemaId":"components/schemas/OffersImport","exampleIds":["paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer"],"pointer":"/paths/~1offers~1import/post/requestBody","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint allows importing of ERP offer and inventory data into Luminovo."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Types of Offers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There are two types of offers that can be imported:"},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1. Inventory Offers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For inventory offers (or simply your inventory), set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier.type: \"Internal\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The supplier field should reference your inventory site location,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which needs to be configured in advance in Luminovo (Settings -> Sites). If no supplier is specified, the default"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"inventory site will be used."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2. Supplier Offers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For supplier offers, set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier.type: \"External\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The supplier field should reference the actual supplier"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(e.g., \"Mouser\", \"Arrow\", etc.)."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating Existing Offers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When importing offers, previously imported offers will be replaced if they are equivalent on the following fields:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"part"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"internal_part_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or our resolved part through the given "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"manufacturer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"manufacturer_part_number"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the resolved internal or external supplier through the given "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_part_number"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the resolved customer through the given "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_type"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"import_context"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/offers/import","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/OffersImport","exampleIds":["paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer"]}},"responseCodes":["207","400","403"],"pointer":"/offers/import","href":"offers-and-inventory/postoffers","openApiOperationId":"PostOffers","summary":"Import Offers and Inventory"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/OffersImport","exampleIds":["paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/OffersImport","exampleIds":["paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer","paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer"]}},"examples":[{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"207","description":"Response for importing new offer data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostOffersImportResponse","exampleIds":["paths/~1offers~1import/post/responses/207/content/application~1json/examples/all-success","paths/~1offers~1import/post/responses/207/content/application~1json/examples/unmatched-part"]}},"schemaId":"components/schemas/PostOffersImportResponse","exampleIds":["paths/~1offers~1import/post/responses/207/content/application~1json/examples/all-success","paths/~1offers~1import/post/responses/207/content/application~1json/examples/unmatched-part"]},{"code":"400","description":"Bad request"},{"code":"403","description":"Not authorized"}],"pointer":"/paths/~1offers~1import/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"207","schemaId":"components/schemas/PostOffersImportResponse","exampleIds":["paths/~1offers~1import/post/responses/207/content/application~1json/examples/all-success","paths/~1offers~1import/post/responses/207/content/application~1json/examples/unmatched-part"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PostOffersImportResponse","exampleIds":["paths/~1offers~1import/post/responses/207/content/application~1json/examples/all-success","paths/~1offers~1import/post/responses/207/content/application~1json/examples/unmatched-part"]}}},{"code":"400"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers-and-inventory/postoffers"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateCustomPartOffer","name":"Create Custom Part Offer","isWebhook":false,"pointer":"/paths/~1offer~1custom-part/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Custom Part Offer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a new offer for a custom part. Attach the sourcing scenario ID when creating a new custom part offer."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_113","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.custom-part-offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offer~1custom-part/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput"}},"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput","pointer":"/paths/~1offer~1custom-part/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/offer/custom-part","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/CustomPartOfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput"}},"responseCodes":["200"],"pointer":"/offer/custom-part","href":"offers-and-inventory/createcustompartoffer","openApiOperationId":"CreateCustomPartOffer","summary":"Create Custom Part Offer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Customer created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer"}},"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer"}],"pointer":"/paths/~1offer~1custom-part/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers-and-inventory/createcustompartoffer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetSupplierCustomPartOffer","name":"Get PCB Offer from PCB Pricing Console","isWebhook":false,"pointer":"/paths/~1supplier-quote~1pcb~1{pcb_id}~1offer~1{offer_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get PCB Offer from PCB Pricing Console","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get the offer for a PCB, which was created in the PCB pricing console."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"Set this to shared PCB id you want to get an offer from.","required":true},{"name":"offer_id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"Set this to the offer ID.","required":true}],"pointer":"/paths/~1supplier-quote~1pcb~1{pcb_id}~1offer~1{offer_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_114","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.custom-part-offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1supplier-quote~1pcb~1{pcb_id}~1offer~1{offer_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/supplier-quote/pcb/{pcb_id}/offer/{offer_id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"},{"name":"offer_id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SupplierCustomPartOfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/supplier-quote/pcb/{pcb_id}/offer/{offer_id}","href":"offers-and-inventory/getsuppliercustompartoffer","openApiOperationId":"GetSupplierCustomPartOffer","summary":"Get PCB Offer from PCB Pricing Console"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Custom part offer.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer"}},"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer"}],"pointer":"/paths/~1supplier-quote~1pcb~1{pcb_id}~1offer~1{offer_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers-and-inventory/getsuppliercustompartoffer"}],"panels":[]}]},"httpPath":"/supplier-quote/pcb/{pcb_id}/offer/{offer_id}"}],"content":{"contentType":"group","meta":{"name":"Offers and Inventory"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Offers and Inventory","showPageActions":true},{"nodeType":"markdoc","content":"Import offers and inventory data, create custom part offers and get a PCB offer."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/offers/import","summary":"Import Offers and Inventory","prefix":{"name":"post","color":"post"},"badges":[],"link":"/offers-and-inventory/postoffers","deprecated":false},{"title":"/offer/custom-part","summary":"Create Custom Part Offer","prefix":{"name":"post","color":"post"},"badges":[],"link":"/offers-and-inventory/createcustompartoffer","deprecated":false},{"title":"/supplier-quote/pcb/{pcb_id}/offer/{offer_id}","summary":"Get PCB Offer from PCB Pricing Console","prefix":{"name":"get","color":"get"},"badges":[],"link":"/offers-and-inventory/getsuppliercustompartoffer","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_post_order_selection_options_v1","name":"Create Order Selection Options","isWebhook":false,"pointer":"/paths/~1order-management~1order-selection/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Order Selection Options","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"You can create customized order selection options for your customers at the check-out on the Customer Collaboration Platform.\nDefine custom order batch sizes, lead time, order size, etc."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_115","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.order-management-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1order-management~1order-selection/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest"}},"schemaId":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest","pointer":"/paths/~1order-management~1order-selection/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/order-management/order-selection","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OrderManagementAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest"}},"responseCodes":["200"],"pointer":"/order-management/order-selection","href":"order-management/doc_post_order_selection_options_v1","openApiOperationId":"doc_post_order_selection_options_v1","summary":"Create Order Selection Options"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Order selection options created."}],"pointer":"/paths/~1order-management~1order-selection/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order-management/doc_post_order_selection_options_v1"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"doc_get_orders_v1","name":"Get Order Details","isWebhook":false,"pointer":"/paths/~1order-management~1orders/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Order Details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get the details for an order placed on the Customer Collaboration Platform relating to an RfQ."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"rfq_id","in":"query","schemaId":"components/schemas/CustomComponentId","description":"The RfQ ID to fetch order details for.","required":true}],"pointer":"/paths/~1order-management~1orders/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_115","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.order-management-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1order-management~1orders/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/order-management/orders","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"rfq_id","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OrderManagementAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/order-management/orders","href":"order-management/doc_get_orders_v1","openApiOperationId":"doc_get_orders_v1","summary":"Get Order Details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Order details.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.order_management.orders.v1.GetOrdersResponse"}},"schemaId":"components/schemas/types.order_management.orders.v1.GetOrdersResponse"}],"pointer":"/paths/~1order-management~1orders/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.order_management.orders.v1.GetOrdersResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.order_management.orders.v1.GetOrdersResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/order-management/doc_get_orders_v1"}],"panels":[]}]},"httpPath":"/order-management/orders"}],"content":{"contentType":"group","meta":{"name":"Order Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Order Management","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This section is relevant for the users of Luminovo’s Customer Collaboration Platform."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the following endpoints to customize the order options your customer receives when ordering via the Customer Collaboration Platform."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/order-management/order-selection","summary":"Create Order Selection Options","prefix":{"name":"post","color":"post"},"badges":[],"link":"/order-management/doc_post_order_selection_options_v1","deprecated":false},{"title":"/order-management/orders","summary":"Get Order Details","prefix":{"name":"get","color":"get"},"badges":[],"link":"/order-management/doc_get_orders_v1","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"ExtractPcbSpecification","name":"Extract PCB Specification","isWebhook":false,"pointer":"/paths/~1pcb-specification~1extract/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Extract PCB Specification","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Extract structured PCB specification attributes from a document such as a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"datasheet or fabrication drawing. Send the raw file bytes as the request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"body with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/octet-stream"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Supported formats:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PDF, PNG, JPEG, DOCX, XLSX."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response is a flat list of extracted attributes. Each attribute carries"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"its value, an optional unit, and the bounding box(es) of where it was found"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the document — with coordinates normalized to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[0, 1]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" range relative"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to each page's width and height."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Extraction is synchronous and may take several seconds."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_116","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.pcb-specification-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1pcb-specification~1extract/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/octet-stream"],"mediaTypeSchemas":{"application/octet-stream":{"schemaId":"components/schemas/types.pcb_specification.v1.DocumentUpload"}},"schemaId":"components/schemas/types.pcb_specification.v1.DocumentUpload","pointer":"/paths/~1pcb-specification~1extract/post/requestBody","description":"The raw bytes of the document to extract. Supported formats: PDF, PNG, JPEG, DOCX, XLSX."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pcb-specification/extract","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/PcbSpecificationAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/octet-stream":{"schemaId":"components/schemas/types.pcb_specification.v1.DocumentUpload"}},"responseCodes":["200","400","401","500","503"],"pointer":"/pcb-specification/extract","href":"pcb/extractpcbspecification","openApiOperationId":"ExtractPcbSpecification","summary":"Extract PCB Specification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.pcb_specification.v1.DocumentUpload","mediaTypes":["application/octet-stream"],"mediaTypeSchemas":{"application/octet-stream":{"schemaId":"components/schemas/types.pcb_specification.v1.DocumentUpload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The extracted PCB specification.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.pcb_specification.v1.PcbSpecificationExtractionResponse"}},"schemaId":"components/schemas/types.pcb_specification.v1.PcbSpecificationExtractionResponse"},{"code":"400","description":"Bad request. No file was provided in the request body.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST"},{"code":"401","description":"Unauthorized. The request is missing valid authentication."},{"code":"500","description":"Internal server error. The extraction failed for a reason not covered by\na more specific error code.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR"},{"code":"503","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Service unavailable. The extraction service is temporarily degraded —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"retry the request later."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE"}],"pointer":"/paths/~1pcb-specification~1extract/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.pcb_specification.v1.PcbSpecificationExtractionResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.pcb_specification.v1.PcbSpecificationExtractionResponse"}}},{"code":"400","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST"}}},{"code":"401"},{"code":"500","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR"}}},{"code":"503","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/extractpcbspecification"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Find a PCB using an order ID","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Find a PCB using an order ID","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find a PCB using the orderID that was specified during its creation."},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"orderId","in":"query","schemaId":"components/schemas/CustomComponentId","description":"orderId","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"orderId","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs","href":"pcb/paths/~1ems~1pcb~1pcbs/get","summary":"Find a PCB using an order ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_117"}},"schemaId":"schema_117"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_117","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_117"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a new PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint facilitates the creation of a new PCB project."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request payload does not take any files, but they can be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"once the record is created."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is possible to use the API without providing any project"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"files. This means analysis and value extraction will not be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"available."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this PCB belongs to a RfQ and should be linked together, then"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"externalReference"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"orderId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields should be filled"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and the RfQ should be updated with the PCB's UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The creation of a PCB involves the creation of a specification"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that can be used to override the default values of the PCB."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_118"}},"schemaId":"schema_118","pointer":"/paths/~1ems~1pcb~1pcbs/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/ems/pcb/pcbs","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_118"}},"responseCodes":["200"],"pointer":"/ems/pcb/pcbs","href":"pcb/paths/~1ems~1pcb~1pcbs/post","summary":"Create a new PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"schema_118","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_118"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}},"schemaId":"schema_119"}],"pointer":"/paths/~1ems~1pcb~1pcbs/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_119","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs/post"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get All Capabilities","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1capabilities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Capabilities","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nReturns all the available PCB properties and the values available\nfor each of them, as well as the default value.\n\nSome capabilities depend on the values of other capabilities,\nwhich means the list of available values is not complete unless\nthe pcb-specific endpoint is used.\n"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/capabilities","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/ems/pcb/capabilities","href":"pcb/paths/~1ems~1pcb~1capabilities/get","summary":"Get All Capabilities"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of PCB capabilities","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_120"}},"schemaId":"schema_120"}],"pointer":"/paths/~1ems~1pcb~1capabilities/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_120","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_120"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1capabilities/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"List central base-material vendors","deprecated":false,"isWebhook":false,"pointer":"/paths/~1api~1ems~1pcb~1base-materials~1vendors/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List central base-material vendors","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nReturns the distinct list of vendors present in the central, Luminovo-maintained\nPCB base-material catalog (e.g. Isola, Panasonic, Shengyi). Used to drive the\nvendor dropdown when picking a base material.\n"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/ems/pcb/base-materials/vendors","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/ems/pcb/base-materials/vendors","href":"pcb/paths/~1api~1ems~1pcb~1base-materials~1vendors/get","summary":"List central base-material vendors"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of base-material vendors","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_121"}},"schemaId":"schema_121"}],"pointer":"/paths/~1api~1ems~1pcb~1base-materials~1vendors/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_121","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_121"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1api~1ems~1pcb~1base-materials~1vendors/get"}],"panels":[]}]},"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)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"List central base materials for a vendor","deprecated":false,"isWebhook":false,"pointer":"/paths/~1api~1ems~1pcb~1base-materials/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List central base materials for a vendor","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nReturns all central base materials offered by the given vendor (drives the\nfiltered material-number dropdown).\n"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"vendor","in":"query","schemaId":"components/schemas/CustomComponentId","description":"vendor","required":true}],"pointer":"/paths/~1api~1ems~1pcb~1base-materials/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/ems/pcb/base-materials","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"vendor","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/ems/pcb/base-materials","href":"pcb/paths/~1api~1ems~1pcb~1base-materials/get","summary":"List central base materials for a vendor"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of base materials for the vendor","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_122"}},"schemaId":"schema_122"}],"pointer":"/paths/~1api~1ems~1pcb~1base-materials/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_122","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_122"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1api~1ems~1pcb~1base-materials/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Look up a central base material","deprecated":false,"isWebhook":false,"pointer":"/paths/~1api~1ems~1pcb~1base-materials~1lookup/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Look up a central base material","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looks up a single central base material by its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(vendor, materialNumber)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" natural"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"key and returns the derived fields ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"baseMaterial"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tgValue"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ctiClass"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"/"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"plcClass"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"used to derive & lock a specification."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"vendor","in":"query","schemaId":"components/schemas/CustomComponentId","description":"vendor","required":true},{"name":"materialNumber","in":"query","schemaId":"components/schemas/CustomComponentId","description":"materialNumber","required":true}],"pointer":"/paths/~1api~1ems~1pcb~1base-materials~1lookup/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/ems/pcb/base-materials/lookup","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"vendor","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"},{"name":"materialNumber","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/api/ems/pcb/base-materials/lookup","href":"pcb/paths/~1api~1ems~1pcb~1base-materials~1lookup/get","summary":"Look up a central base material"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Base material was found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_123"}},"schemaId":"schema_123"},{"code":"404","description":"Base material was not found"}],"pointer":"/paths/~1api~1ems~1pcb~1base-materials~1lookup/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_123","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_123"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1api~1ems~1pcb~1base-materials~1lookup/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"List central soldermask-material vendors","deprecated":false,"isWebhook":false,"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List central soldermask-material vendors","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nReturns the distinct list of vendors present in the central, Luminovo-maintained\nPCB soldermask-material catalog (e.g. Taiyo, Sun Chemical). Used to drive the\nvendor dropdown when picking a soldermask material.\n"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/ems/pcb/soldermask-materials/vendors","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/ems/pcb/soldermask-materials/vendors","href":"pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get","summary":"List central soldermask-material vendors"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of soldermask-material vendors","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_124"}},"schemaId":"schema_124"}],"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_124","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_124"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get"}],"panels":[]}]},"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)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"List central soldermask materials for a vendor","deprecated":false,"isWebhook":false,"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List central soldermask materials for a vendor","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nReturns all central soldermask materials offered by the given vendor (drives the\nfiltered material-number dropdown).\n"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"vendor","in":"query","schemaId":"components/schemas/CustomComponentId","description":"vendor","required":true}],"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/ems/pcb/soldermask-materials","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"vendor","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/ems/pcb/soldermask-materials","href":"pcb/paths/~1api~1ems~1pcb~1soldermask-materials/get","summary":"List central soldermask materials for a vendor"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of soldermask materials for the vendor","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_125"}},"schemaId":"schema_125"}],"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_125","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_125"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1api~1ems~1pcb~1soldermask-materials/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Look up a central soldermask material","deprecated":false,"isWebhook":false,"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Look up a central soldermask material","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looks up a single central soldermask material by its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(vendor, materialNumber)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" natural"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"key and returns the derived "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"soldermaskColor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (+ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"finish"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"halogenFree"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") used to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"derive & lock a specification."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"vendor","in":"query","schemaId":"components/schemas/CustomComponentId","description":"vendor","required":true},{"name":"materialNumber","in":"query","schemaId":"components/schemas/CustomComponentId","description":"materialNumber","required":true}],"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/ems/pcb/soldermask-materials/lookup","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"vendor","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"},{"name":"materialNumber","in":"query","required":true,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/api/ems/pcb/soldermask-materials/lookup","href":"pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get","summary":"Look up a central soldermask material"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Soldermask material was found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_126"}},"schemaId":"schema_126"},{"code":"404","description":"Soldermask material was not found"}],"pointer":"/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_126","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_126"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get a Shared PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1shares~1{share}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a Shared PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find a Shared PCB by its UUID."},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"share","in":"path","schemaId":"components/schemas/AssemblyId","description":"share","required":true}],"pointer":"/paths/~1ems~1pcb~1shares~1{share}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/shares/{share}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"share","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/shares/{share}","href":"pcb/paths/~1ems~1pcb~1shares~1{share}/get","summary":"Get a Shared PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}},"schemaId":"schema_119"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1shares~1{share}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_119","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1shares~1{share}/get"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get the Shared PCB Files as zip","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the Shared PCB Files as zip","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Downloads PCB files of a shared PCB as a zip folder"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"share","in":"path","schemaId":"components/schemas/AssemblyId","description":"share","required":true}],"pointer":"/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/shares/{share}/files/all","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"share","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/shares/{share}/files/all","href":"pcb/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get","summary":"Get the Shared PCB Files as zip"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB project zip","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}},"schemaId":"schema_127"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_127","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get a PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find a PCB by its UUID."},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/get","summary":"Get a PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}},"schemaId":"schema_119"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_119","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update a PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Updates some of the PCB properties that were set during creation."},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_128"}},"schemaId":"schema_128","pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/ems/pcb/pcbs/{pcb}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_128"}},"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/put","summary":"Update a PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"schema_128","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_128"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}},"schemaId":"schema_119"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_119","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_119"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/put"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete a PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find and delete a PCB by its UUID."},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/ems/pcb/pcbs/{pcb}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/delete","summary":"Delete a PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was deleted"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/delete"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Clone an existing PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Clone an existing PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nClone an existing PCB.\n\nThis clones the PCB, analysis results, specifications and\nfiles associated.\n\nThis operation returns an error if the PCB's analysis is\nin progress.\n"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_129"}},"schemaId":"schema_129","pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/ems/pcb/pcbs/{pcb}/clone","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_129"}},"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/clone","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post","summary":"Clone an existing PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"schema_129","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_129"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB was cloned","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_130"}},"schemaId":"schema_130"},{"code":"404","description":"PCB to clone was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_130","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_130"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get the PCB Files as zip","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the PCB Files as zip","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Downloads PCB files as a zip folder"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/files/all","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/files/all","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get","summary":"Get the PCB Files as zip"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB project zip","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}},"schemaId":"schema_127"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_127","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get a PCB File","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a PCB File","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Downloads PCB file by name, if it exists."},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true},{"name":"file","in":"path","schemaId":"components/schemas/CustomComponentId","description":"file","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/files/singular/{file}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"},{"name":"file","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/files/singular/{file}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get","summary":"Get a PCB File"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB project zip","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}},"schemaId":"schema_127"},{"code":"404","description":"PCB or file was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_127","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"getPCBV2NetList","isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"getPCBV2NetList","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/netlist","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/ems/pcb/pcbs/{pcb}/netlist","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get","summary":"getPCBV2NetList"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request was successful","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}},"schemaId":"schema_127"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_127","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_127"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get all PCB Specifications","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all PCB Specifications","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get all PCB specificationss"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/specifications","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/specifications","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get","summary":"Get all PCB Specifications"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB specifications","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_131"}},"schemaId":"schema_131"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_131","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_131"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a new PCB Specification","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new PCB Specification","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create anew PCB specifications"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_132"}},"schemaId":"schema_132","pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/ems/pcb/pcbs/{pcb}/specifications","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_132"}},"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/specifications","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put","summary":"Create a new PCB Specification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"schema_132","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_132"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB specification created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}},"schemaId":"schema_132"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_132","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get a PCB Specification","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a PCB Specification","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find PCB specification by name or UUID"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true},{"name":"specification","in":"path","schemaId":"schema_133","description":"the name or uuid of the specification","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"},{"name":"specification","in":"path","required":true,"schemaId":"schema_133","explode":false}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get","summary":"Get a PCB Specification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB specification","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}},"schemaId":"schema_132"},{"code":"404","description":"PCB or specification was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_132","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update a PCB Specification","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a PCB Specification","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a PCB Specifications"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true},{"name":"specification","in":"path","schemaId":"components/schemas/AssemblyId","description":"specification","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"removeUndefined","in":"query","schemaId":"schema_134","description":"removeUndefined"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_128"}},"schemaId":"schema_128","pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"},{"name":"specification","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[{"name":"removeUndefined","in":"query","required":false,"schemaId":"schema_134"}],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_128"}},"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put","summary":"Update a PCB Specification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"schema_128","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_128"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB specification updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}},"schemaId":"schema_132"},{"code":"404","description":"PCB or specification was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_132","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete a PCB Specification","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a PCB Specification","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a PCB Specifications"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true},{"name":"specification","in":"path","schemaId":"components/schemas/AssemblyId","description":"specification","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"},{"name":"specification","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete","summary":"Delete a PCB Specification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB specification deleted"},{"code":"404","description":"PCB or specification was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get a PCB Specification Preview","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a PCB Specification Preview","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Find PCB specification by name or UUID"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true},{"name":"specification","in":"path","schemaId":"schema_133","description":"the name or uuid of the specification","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/specifications/{specification}/previews","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"},{"name":"specification","in":"path","required":true,"schemaId":"schema_133","explode":false}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/ems/pcb/pcbs/{pcb}/specifications/{specification}/previews","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get","summary":"Get a PCB Specification Preview"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PCB specification previews","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}},"schemaId":"schema_135"},{"code":"404","description":"PCB or specification was not found"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_135","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get All Capabilities respecting the currently set values of the specification","deprecated":false,"isWebhook":false,"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Capabilities respecting the currently set values of the specification","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"\nReturns all the available PCB properties and the values available\nfor each of them, as well as the default value.\n\nSome capabilities depend on the values of other capabilities,\nwhich means the values for certain capabilities change based on\nthe PCB specification.\n\nAn example of this behaviour is the inner copper thickness, which\nrequires the PCB to have at least 4 layers.\n"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pcb","in":"path","schemaId":"components/schemas/AssemblyId","description":"pcb","required":true}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"materialVendor","in":"query","schemaId":"components/schemas/CustomComponentId","description":"materialVendor"},{"name":"materialNumber","in":"query","schemaId":"components/schemas/CustomComponentId","description":"materialNumber"},{"name":"soldermaskMaterialVendor","in":"query","schemaId":"components/schemas/CustomComponentId","description":"soldermaskMaterialVendor"},{"name":"soldermaskMaterialNumber","in":"query","schemaId":"components/schemas/CustomComponentId","description":"soldermaskMaterialNumber"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/ems/pcb/pcbs/{pcb}/capabilities","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"pcb","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[{"name":"materialVendor","in":"query","required":false,"schemaId":"components/schemas/CustomComponentId"},{"name":"materialNumber","in":"query","required":false,"schemaId":"components/schemas/CustomComponentId"},{"name":"soldermaskMaterialVendor","in":"query","required":false,"schemaId":"components/schemas/CustomComponentId"},{"name":"soldermaskMaterialNumber","in":"query","required":false,"schemaId":"components/schemas/CustomComponentId"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/ems/pcb/pcbs/{pcb}/capabilities","href":"pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get","summary":"Get All Capabilities respecting the currently set values of the specification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of PCB capabilities","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_120"}},"schemaId":"schema_120"}],"pointer":"/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_120","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_120"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get"}],"panels":[]}]},"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Upload Files to the PCB","deprecated":false,"isWebhook":false,"pointer":"/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload Files to the PCB","isWebhook":false,"deprecated":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/Signature"}},"schemaId":"components/schemas/Signature","pointer":"/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/files/ems/pcb/pcbs/:pcb/files","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"*/*":{"schemaId":"components/schemas/Signature"}},"responseCodes":["200","404"],"pointer":"/files/ems/pcb/pcbs/:pcb/files","href":"pcb/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post","summary":"Upload Files to the PCB"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/Signature","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/Signature"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Files were uploaded"},{"code":"404","description":"PCB was not found"}],"pointer":"/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pcb/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post"}],"panels":[]}]},"httpPath":"/files/ems/pcb/pcbs/:pcb/files"}],"content":{"contentType":"group","meta":{"name":"PCB"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"PCB","showPageActions":true},{"nodeType":"markdoc","content":"PCB-related endpoints and resources."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pcb-specification/extract","summary":"Extract PCB Specification","prefix":{"name":"post","color":"post"},"badges":[],"link":"/pcb/extractpcbspecification","deprecated":false},{"title":"/ems/pcb/pcbs","summary":"Find a PCB using an order ID","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs/get","deprecated":false},{"title":"/ems/pcb/pcbs","summary":"Create a new PCB","prefix":{"name":"post","color":"post"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs/post","deprecated":false},{"title":"/ems/pcb/capabilities","summary":"Get All Capabilities","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1capabilities/get","deprecated":false},{"title":"/api/ems/pcb/base-materials/vendors","summary":"List central base-material vendors","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1api~1ems~1pcb~1base-materials~1vendors/get","deprecated":false},{"title":"/api/ems/pcb/base-materials","summary":"List central base materials for a vendor","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1api~1ems~1pcb~1base-materials/get","deprecated":false},{"title":"/api/ems/pcb/base-materials/lookup","summary":"Look up a central base material","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1api~1ems~1pcb~1base-materials~1lookup/get","deprecated":false},{"title":"/api/ems/pcb/soldermask-materials/vendors","summary":"List central soldermask-material vendors","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1vendors/get","deprecated":false},{"title":"/api/ems/pcb/soldermask-materials","summary":"List central soldermask materials for a vendor","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1api~1ems~1pcb~1soldermask-materials/get","deprecated":false},{"title":"/api/ems/pcb/soldermask-materials/lookup","summary":"Look up a central soldermask material","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1api~1ems~1pcb~1soldermask-materials~1lookup/get","deprecated":false},{"title":"/ems/pcb/shares/{share}","summary":"Get a Shared PCB","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1shares~1{share}/get","deprecated":false},{"title":"/ems/pcb/shares/{share}/files/all","summary":"Get the Shared PCB Files as zip","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1shares~1{share}~1files~1all/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}","summary":"Get a PCB","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}","summary":"Update a PCB","prefix":{"name":"put","color":"put"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/put","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}","summary":"Delete a PCB","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}/delete","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/clone","summary":"Clone an existing PCB","prefix":{"name":"post","color":"post"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1clone/post","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/files/all","summary":"Get the PCB Files as zip","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1all/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/files/singular/{file}","summary":"Get a PCB File","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1files~1singular~1{file}/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/netlist","summary":"getPCBV2NetList","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1netlist/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/specifications","summary":"Get all PCB Specifications","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/specifications","summary":"Create a new PCB Specification","prefix":{"name":"put","color":"put"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications/put","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","summary":"Get a PCB Specification","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","summary":"Update a PCB Specification","prefix":{"name":"put","color":"put"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/put","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/specifications/{specification}","summary":"Delete a PCB Specification","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}/delete","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/specifications/{specification}/previews","summary":"Get a PCB Specification Preview","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1specifications~1{specification}~1previews/get","deprecated":false},{"title":"/ems/pcb/pcbs/{pcb}/capabilities","summary":"Get All Capabilities respecting the currently set values of the specification","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pcb/paths/~1ems~1pcb~1pcbs~1{pcb}~1capabilities/get","deprecated":false},{"title":"/files/ems/pcb/pcbs/:pcb/files","summary":"Upload Files to the PCB","prefix":{"name":"post","color":"post"},"badges":[],"link":"/pcb/paths/~1files~1ems~1pcb~1pcbs~1:pcb~1files/post","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetPnp","name":"Get PnP Items","isWebhook":false,"pointer":"/paths/~1pnp/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get PnP Items","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a list of PnP items for an assembly."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"assembly_id","in":"query","schemaId":"components/schemas/AssemblyId","description":"The assembly ID to get PnP items for.","required":true}],"pointer":"/paths/~1pnp/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_136","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.pnp-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1pnp/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pnp","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"assembly_id","in":"query","required":true,"schemaId":"components/schemas/AssemblyId"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/PnpAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/pnp","href":"pnp/getpnp","openApiOperationId":"GetPnp","summary":"Get PnP Items"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"PnP items.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.pnp.v1.PnpResponse"}},"schemaId":"components/schemas/types.pnp.v1.PnpResponse"}],"pointer":"/paths/~1pnp/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.pnp.v1.PnpResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.pnp.v1.PnpResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pnp/getpnp"}],"panels":[]}]},"httpPath":"/pnp"}],"content":{"contentType":"group","meta":{"name":"PnP"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"PnP","showPageActions":true},{"nodeType":"markdoc","content":"Pick and Place (PnP) data for assemblies."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pnp","summary":"Get PnP Items","prefix":{"name":"get","color":"get"},"badges":[],"link":"/pnp/getpnp","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetPurchaseOrders","name":"Get Purchase Orders","deprecated":true,"isWebhook":false,"pointer":"/paths/~1purchase-orders~1{rfq_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Purchase Orders","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint is deprecated and will not be maintained going forward."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you currently rely on this endpoint and this is a blocker, please reach out to us."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get all the purchase orders from Luminovo relating to one RfQ."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"rfq_id","in":"path","schemaId":"components/schemas/AssemblyId","description":"The ID of the RfQ","required":true}],"pointer":"/paths/~1purchase-orders~1{rfq_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"sourcing_scenario_id","in":"query","schemaId":"components/schemas/AssemblyId","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The sourcing scenario for which to filter purchase order."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a customer has confirmed an order, meaning they have paid for one of the sourcing scenarios, we can infer the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_scenario_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This is why this parameter is optional."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important: if purchase orders have already been created for another sourcing scenario, this endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"will return an empty list of purchase orders. This is a safety precaution to prevent accidentally ordering two different sourcing scenarios."},"children":[]}]}]}]}],"pointer":"/paths/~1purchase-orders~1{rfq_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/purchase-orders/{rfq_id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"rfq_id","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[{"name":"sourcing_scenario_id","in":"query","required":false,"schemaId":"components/schemas/AssemblyId"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","403"],"pointer":"/purchase-orders/{rfq_id}","href":"purchase-orders/getpurchaseorders","openApiOperationId":"GetPurchaseOrders","summary":"Get Purchase Orders"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetPurchaseOrderResponse"}},"schemaId":"components/schemas/GetPurchaseOrderResponse"},{"code":"403","description":"Not authorized"}],"pointer":"/paths/~1purchase-orders~1{rfq_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetPurchaseOrderResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetPurchaseOrderResponse"}}},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/purchase-orders/getpurchaseorders"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreatePurchaseOrders","name":"Create Purchase Orders","deprecated":true,"isWebhook":false,"pointer":"/paths/~1purchase-orders~1{rfq_id}/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Purchase Orders","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint is deprecated and will not be maintained going forward."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you currently rely on this endpoint and this is a blocker, please reach out to us."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create or update purchase orders corresponding to one RfQ."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Typically, you first get the purchase orders into your ERP, perform some transformations,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and send the updated purchase orders to Luminovo."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"rfq_id","in":"path","schemaId":"components/schemas/AssemblyId","description":"The ID of the RfQ","required":true}],"pointer":"/paths/~1purchase-orders~1{rfq_id}/post/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"sourcing_scenario_id","in":"query","schemaId":"components/schemas/AssemblyId","description":"The sourcing scenario for which we want to create a purchase order.\n\nDefaults to the sourcing scenario that has been paid for by the customer.\nIf no sourcing scenario has been paid for, this parameter is required.\n"}],"pointer":"/paths/~1purchase-orders~1{rfq_id}/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreatePurchaseOrdersRequest"}},"schemaId":"components/schemas/CreatePurchaseOrdersRequest","pointer":"/paths/~1purchase-orders~1{rfq_id}/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/purchase-orders/{rfq_id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"rfq_id","in":"path","required":true,"schemaId":"components/schemas/AssemblyId"}],"query":[{"name":"sourcing_scenario_id","in":"query","required":false,"schemaId":"components/schemas/AssemblyId"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreatePurchaseOrdersRequest"}},"responseCodes":["200","403"],"pointer":"/purchase-orders/{rfq_id}","href":"purchase-orders/createpurchaseorders","openApiOperationId":"CreatePurchaseOrders","summary":"Create Purchase Orders"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/CreatePurchaseOrdersRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreatePurchaseOrdersRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success response"},{"code":"403","description":"Not authorized"}],"pointer":"/paths/~1purchase-orders~1{rfq_id}/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/purchase-orders/createpurchaseorders"}],"panels":[]}]},"httpPath":"/purchase-orders/{rfq_id}"}],"content":{"contentType":"group","meta":{"name":"Purchase Orders"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Purchase Orders","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" These endpoints are deprecated and will not be maintained going forward."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you currently rely on them and this is a blocker, please reach out to us."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get and create purchase orders for a sourcing scenario."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/purchase-orders/{rfq_id}","summary":"Get Purchase Orders","prefix":{"name":"get","color":"http-deprecated"},"badges":[],"link":"/purchase-orders/getpurchaseorders","deprecated":true},{"title":"/purchase-orders/{rfq_id}","summary":"Create Purchase Orders","prefix":{"name":"post","color":"http-deprecated"},"badges":[],"link":"/purchase-orders/createpurchaseorders","deprecated":true}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UploadProjectQuotation","name":"Upload Quotation for a Project","isWebhook":false,"pointer":"/paths/~1projects~1{id}~1quotation~1upload/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload Quotation for a Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By sending the request, you will get a URL to upload the quotation corresponding to a project."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API is the equivalent of uploading a PDF file in the Quotation section of the frontend."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upon successful upload, you can call the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Update Project"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" API to set the project status to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QuotationAvailable"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unless you change the status to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QuotationAvailable"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the PDF is still available internally, but"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(if the customer portal is available) the customer will not be notified and will not be able to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"download the PDF."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploading is a two-step process:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this API to retrieve a URL to upload the file to."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload the file contents to the retrieved URL using the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" method."},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call must set the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"x-ms-blob-type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header to the value "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BlockBlob"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.luminovo.com/en/articles/235339-customize-the-quotation-purchase-and-payment-flow-in-the-customer-portal-using-the-api"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"help page"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for an explanation of when and how to use this API."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the project for which to upload the quotation","required":true}],"pointer":"/paths/~1projects~1{id}~1quotation~1upload/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_137","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.quotation-upload-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1{id}~1quotation~1upload/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.QuotationUpload"}},"schemaId":"components/schemas/types.rfq.v1.QuotationUpload","pointer":"/paths/~1projects~1{id}~1quotation~1upload/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/projects/{id}/quotation/upload","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/QuotationUploadAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.QuotationUpload"}},"responseCodes":["200"],"pointer":"/projects/{id}/quotation/upload","href":"quotation/uploadprojectquotation","openApiOperationId":"UploadProjectQuotation","summary":"Upload Quotation for a Project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.rfq.v1.QuotationUpload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.QuotationUpload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Generated url for upload.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse"}},"schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse"}],"pointer":"/paths/~1projects~1{id}~1quotation~1upload/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/quotation/uploadprojectquotation"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UploadQuotation","name":"Upload Quotation for an RfQ","isWebhook":false,"pointer":"/paths/~1rfqs~1{id}~1quotation~1upload/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload Quotation for an RfQ","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By sending the request, you will get a URL to upload the quotation corresponding to an RfQ."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API is the equivalent of uploading a PDF file in the Quotation section of the frontend."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upon successful upload, you can call the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Update RfQ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" API to set the RfQ status to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QuotationAvailable"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unless you change the status to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QuotationAvailable"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the PDF is still available internally, but"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(if the customer portal is available) the customer will not be notified and will not be able to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"download the PDF. This is consistent with the behavior of the quotation upload in the UI, where"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the status is not updated unless you click the 'Send to customer' button."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploading is a two-step process:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this API to retrieve a URL to upload the file to."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload the file contents to the retrieved URL using the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" method."},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" call must set the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"x-ms-blob-type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header to the value "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BlockBlob"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.luminovo.com/en/articles/235339-customize-the-quotation-purchase-and-payment-flow-in-the-customer-portal-using-the-api"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"help page"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for an explanation of when and how to use this API."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the RfQ for which to upload the quotation","required":true}],"pointer":"/paths/~1rfqs~1{id}~1quotation~1upload/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_137","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.quotation-upload-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1{id}~1quotation~1upload/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.QuotationUpload"}},"schemaId":"components/schemas/types.rfq.v1.QuotationUpload","pointer":"/paths/~1rfqs~1{id}~1quotation~1upload/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/rfqs/{id}/quotation/upload","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/QuotationUploadAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.QuotationUpload"}},"responseCodes":["200"],"pointer":"/rfqs/{id}/quotation/upload","href":"quotation/uploadquotation","openApiOperationId":"UploadQuotation","summary":"Upload Quotation for an RfQ"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.rfq.v1.QuotationUpload","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.QuotationUpload"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Generated url for upload.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse"}},"schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse"}],"pointer":"/paths/~1rfqs~1{id}~1quotation~1upload/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.SingleFileUrlResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/quotation/uploadquotation"}],"panels":[]}]},"httpPath":"/rfqs/{id}/quotation/upload"}],"content":{"contentType":"group","meta":{"name":"Quotation"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Quotation","showPageActions":true},{"nodeType":"markdoc","content":"You can upload the quotation for an RfQ."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/projects/{id}/quotation/upload","summary":"Upload Quotation for a Project","prefix":{"name":"post","color":"post"},"badges":[],"link":"/quotation/uploadprojectquotation","deprecated":false},{"title":"/rfqs/{id}/quotation/upload","summary":"Upload Quotation for an RfQ","prefix":{"name":"post","color":"post"},"badges":[],"link":"/quotation/uploadquotation","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetAllRfQs","name":"Get all RfQs","isWebhook":false,"pointer":"/paths/~1rfqs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all RfQs","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns all RfQ's in Luminovo."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"archived","in":"query","schemaId":"schema_94"},{"name":"customer_id","in":"query","schemaId":"schema_138"},{"name":"internal_number","in":"query","schemaId":"schema_104"}],"pointer":"/paths/~1rfqs/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_139","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.rfq-overview-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rfqs","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"archived","in":"query","required":false,"schemaId":"schema_94"},{"name":"customer_id","in":"query","required":false,"schemaId":"schema_138"},{"name":"internal_number","in":"query","required":false,"schemaId":"schema_104"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/RfqOverviewAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/rfqs","href":"rfq/getallrfqs","openApiOperationId":"GetAllRfQs","summary":"Get all RfQs"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get all existing Rfqs.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse"}},"schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse"}],"pointer":"/paths/~1rfqs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rfq/getallrfqs"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateRfQ","name":"Create Rfq","isWebhook":false,"pointer":"/paths/~1rfqs/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Rfq","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new RfQ either for an existing or a new customer."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.rfq-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQCreation"}},"schemaId":"components/schemas/types.rfq.v1.RfQCreation","pointer":"/paths/~1rfqs/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/rfqs","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/RfqAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQCreation"}},"responseCodes":["200"],"pointer":"/rfqs","href":"rfq/createrfq","openApiOperationId":"CreateRfQ","summary":"Create Rfq"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.rfq.v1.RfQCreation","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQCreation"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"RfQ created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}},"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}],"pointer":"/paths/~1rfqs/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.RfQResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rfq/createrfq"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetRfqStatusHistory","name":"Get RfQ status change history","isWebhook":false,"pointer":"/paths/~1rfqs~1status-history/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get RfQ status change history","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns the history of status changes for all RfQs."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.rfq-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1status-history/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rfqs/status-history","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/RfqAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/rfqs/status-history","href":"rfq/getrfqstatushistory","openApiOperationId":"GetRfqStatusHistory","summary":"Get RfQ status change history"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"RfQ status history.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory"}},"schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory"}],"pointer":"/paths/~1rfqs~1status-history/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rfq/getrfqstatushistory"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetRfQ","name":"Get Rfq","isWebhook":false,"pointer":"/paths/~1rfqs~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Rfq","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get one RfQ based on its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the RfQ to retrieve","required":true}],"pointer":"/paths/~1rfqs~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.rfq-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/rfqs/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/RfqAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/rfqs/{id}","href":"rfq/getrfq","openApiOperationId":"GetRfQ","summary":"Get Rfq"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get existing RfQ.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}},"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}],"pointer":"/paths/~1rfqs~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.RfQResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rfq/getrfq"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteRfQ","name":"Delete RfQ","isWebhook":false,"pointer":"/paths/~1rfqs~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete RfQ","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete an RfQ based on its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the RfQ to delete","required":true}],"pointer":"/paths/~1rfqs~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.rfq-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/rfqs/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/RfqAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204"],"pointer":"/rfqs/{id}","href":"rfq/deleterfq","openApiOperationId":"DeleteRfQ","summary":"Delete RfQ"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Rfq deleted."}],"pointer":"/paths/~1rfqs~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rfq/deleterfq"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateRfQ","name":"Update RfQ","isWebhook":false,"pointer":"/paths/~1rfqs~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update RfQ","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update an RfQ based on its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the RfQ to update","required":true}],"pointer":"/paths/~1rfqs~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_140","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.rfq-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1rfqs~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfqUpdate"}},"schemaId":"components/schemas/types.rfq.v1.RfqUpdate","pointer":"/paths/~1rfqs~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/rfqs/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/RfqAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfqUpdate"}},"responseCodes":["200"],"pointer":"/rfqs/{id}","href":"rfq/updaterfq","openApiOperationId":"UpdateRfQ","summary":"Update RfQ"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.rfq.v1.RfqUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfqUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"RfQ updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}},"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}],"pointer":"/paths/~1rfqs~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.RfQResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rfq/updaterfq"}],"panels":[]}]},"httpPath":"/rfqs/{id}"}],"content":{"contentType":"group","meta":{"name":"RfQ"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"RfQ","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get one or all RfQ’s, delete, create or update one RfQ."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/rfqs","summary":"Get all RfQs","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rfq/getallrfqs","deprecated":false},{"title":"/rfqs","summary":"Create Rfq","prefix":{"name":"post","color":"post"},"badges":[],"link":"/rfq/createrfq","deprecated":false},{"title":"/rfqs/status-history","summary":"Get RfQ status change history","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rfq/getrfqstatushistory","deprecated":false},{"title":"/rfqs/{id}","summary":"Get Rfq","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rfq/getrfq","deprecated":false},{"title":"/rfqs/{id}","summary":"Delete RfQ","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/rfq/deleterfq","deprecated":false},{"title":"/rfqs/{id}","summary":"Update RfQ","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/rfq/updaterfq","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"RunSourcingCalculation","name":"Run Calculation","isWebhook":false,"pointer":"/paths/~1sourcing-scenarios~1run-selection/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Run Calculation","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggers the sourcing selection calculation for the given scenario."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Typical usage:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Run for a single scenario"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"SourcingScenarios\", \"sourcing_scenario_ids\": [\"scenario-uuid\"]}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - runs selection for one specific scenario"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requirements:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_scenario_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must contain exactly one sourcing scenario ID. Running the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"calculation for multiple scenarios in a single request is not supported — an empty array or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"an array with more than one ID will return a 400 Bad Request error. To run the calculation"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for several scenarios, send one request per scenario."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_141","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.sourcing-calculation-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sourcing-scenarios~1run-selection/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput"}},"schemaId":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput","pointer":"/paths/~1sourcing-scenarios~1run-selection/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/sourcing-scenarios/run-selection","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SourcingCalculationAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput"}},"responseCodes":["200","400","401","403","404"],"pointer":"/sourcing-scenarios/run-selection","href":"sourcing-scenario/runsourcingcalculation","openApiOperationId":"RunSourcingCalculation","summary":"Run Calculation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Calculation run successfully. The response has no body."},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request. The request is invalid — for example, the sourcing scenario"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID in the path is not a valid UUID, or the request body fails validation."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field of the response body explains the problem."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to run sourcing calculations."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not found. Returned when the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is missing or has an unexpected value — set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept: application/api.luminovo.sourcing-calculation-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"pointer":"/paths/~1sourcing-scenarios~1run-selection/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200"},{"code":"400","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}}},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sourcing-scenario/runsourcingcalculation"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetSourcingScenarioV2","name":"Get Scenario","isWebhook":false,"pointer":"/paths/~1sourcing-scenarios~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Scenario","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a sourcing scenario with its associated project, demands, and settings."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A sourcing scenario is associated with a project, which is either an "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFQ"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (Request for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quotation) or a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Negotiation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is a tagged object with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"field ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Rfq\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Negotiation\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field containing the project's UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Demands"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each demand item has a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field indicating its kind. Currently only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Assembly\""},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"demands are returned, each with:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the assembly's UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the human-readable assembly designator"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the required quantity with unit of measurement (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"unit\": \"Pieces\", \"quantity\": 1000.0}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Limitation:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Part demands (for off-the-shelf parts and components/IPNs) are not yet"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"included in this endpoint and will be added as new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values in a future update."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Consumers should gracefully handle or ignore unknown demand types."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currency and Exchange Rates"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settings.currency.base_currency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the base currency used for all cost calculations in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this sourcing scenario. All monetary values are converted to this currency."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settings.currency.exchange_rates"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" maps each foreign currency code to its conversion rate."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rates are expressed as: "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1 unit of base currency = "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" units of foreign currency"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each rate has an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manual"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" flag:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the rate was manually overridden by a user and takes precedence over the automatic rate"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the rate was automatically fetched from a public exchange rate provider"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settings"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object is extensible — additional setting groups may be added alongside"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"currency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the future."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Versioning"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A legacy v1 version of this endpoint is available by sending"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept: application/api.luminovo.sourcing-scenario-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It is "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"deprecated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"returns a less detailed response — it omits currency settings, assembly names, and project"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type information. All new integrations should use v2."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"UUID of the sourcing scenario to retrieve.","required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_142","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.sourcing-scenario-v2+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sourcing-scenarios/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SourcingScenarioV2AcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/sourcing-scenarios/{id}","href":"sourcing-scenario/getsourcingscenariov2","openApiOperationId":"GetSourcingScenarioV2","summary":"Get Scenario"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Sourcing scenario with project, demands, and settings.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse"}},"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request. The request is invalid — for example, the sourcing scenario"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID in the path is not a valid UUID, or the request body fails validation."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field of the response body explains the problem."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to view sourcing scenarios."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not found. No sourcing scenario with the given ID exists for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"authenticated tenant. Also returned when the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is missing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or has an unexpected value — make sure to send the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"documented for this endpoint; in that case the body's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"unknown\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"sourcing_scenario.not_found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}],"pointer":"/paths/~1sourcing-scenarios~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse"}}},{"code":"400","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}}},{"code":"401"},{"code":"403"},{"code":"404","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sourcing-scenario/getsourcingscenariov2"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetCostBreakdownForSourcingScenario","name":"Get Cost Breakdown","isWebhook":false,"pointer":"/paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Cost Breakdown","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the cost breakdown of a sourcing scenario as a flat list of assembly entries —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one for every path to each assembly in each demand's assembly hierarchy, so an assembly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reachable by several paths appears once per path. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to reconstruct the assembly hierarchy."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every assembly reference — the entry's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as well as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy.parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the elements of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy.path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — carries the assembly's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the assembly's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"designator), and its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ipn"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the assembly's internal part number ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" plus optional"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the assembly has none."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The endpoint does not return a total cost for the whole scenario — only per-assembly and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"per-BOM-item figures. The closest aggregate is the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rolled_up_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of each demand-root"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"entry, which covers that demand's whole assembly hierarchy."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assembly hierarchy"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each demand starts at one root assembly, which may contain sub-assemblies, which may in turn"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contain further sub-assemblies. Every entry describes one assembly on one path through that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"hierarchy: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy.parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the assembly that directly contains it ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the demand root), and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy.path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the chain of assemblies from the demand root down"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to the parent."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A demand of assembly "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"A1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with three levels produces these entries:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"A1           →  parent_assembly: null,  path: []\n└─ A2        →  parent_assembly: A1,    path: [A1]\n   └─ A3     →  parent_assembly: A2,    path: [A1, A2]\n","language":"text"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"A1           →  parent_assembly: null,  path: []\n└─ A2        →  parent_assembly: A1,    path: [A1]\n   └─ A3     →  parent_assembly: A2,    path: [A1, A2]\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When several assemblies share the same sub-assembly, it is split per path and appears once"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"per path. Here "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" contains "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C3"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and both contain the shared sub-assembly "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" —"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"so "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" appears twice, with different parent assemblies and paths, and each entry carries the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantities and costs of its own path. The costs of both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entries are rolled up into their"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"respective branches (and therefore both into "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"):"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"C1           →  parent_assembly: null,  path: []\n├─ C2        →  parent_assembly: C1,    path: [C1]\n│  └─ C4     →  parent_assembly: C2,    path: [C1, C2]\n└─ C3        →  parent_assembly: C1,    path: [C1]\n   └─ C4     →  parent_assembly: C3,    path: [C1, C3]\n","language":"text"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"C1           →  parent_assembly: null,  path: []\n├─ C2        →  parent_assembly: C1,    path: [C1]\n│  └─ C4     →  parent_assembly: C2,    path: [C1, C2]\n└─ C3        →  parent_assembly: C1,    path: [C1]\n   └─ C4     →  parent_assembly: C3,    path: [C1, C3]\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Direct vs rolled-up costs"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are the costs for the assembly's own BOM items — nothing from its children."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rolled_up_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" add everything below the entry: assemblies with no sub-assemblies roll up"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only their own direct costs, and every level above adds its own direct costs to the sum of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"its children's rolled-up costs, accumulated bottom-up. For a demand-root assembly,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rolled_up_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the full cost of the demand."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scrap and excess material"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All prices always include the cost of the extra material purchased to cover expected scrap."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prices may additionally include excess material — material bought beyond the required"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity, e.g. forced by supplier minimum order or packaging quantities: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"…excluding_excess"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is the cost of the required quantity, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"…including_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the cost of the quantity"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"actually bought. The difference is the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"excess_material_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Assembly cost objects also"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"break out "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scrap_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"one_time_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tco_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (all already included in the totals)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOM items"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"bom_items"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lists every BOM item of the assembly exactly once, identified by its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"designators"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[\"R1\", \"R2\"]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" says whether it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"was sourced:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Sourced"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" items carry their two "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" totals and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"purchase_options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (joinable to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/purchase-options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not (yet) sourced items — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Consigned"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NoOffer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pending"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Error"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — carry"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct_costs: null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"purchase_options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; the status explains why there is no cost."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Items excluded from sourcing — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DoNotPlace"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NoPartOptions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — likewise carry no cost."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For example, an assembly with a sourced resistor, a capacitor whose offer selection is still"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pending, and a do-not-place test point returns:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"bom_items: [\n  { bom_item: { designators: [\"R1\"] },  sourcing_status: \"Sourced\",     direct_costs: {…},  purchase_options: [{…}] },\n  { bom_item: { designators: [\"C7\"] },  sourcing_status: \"Pending\",     direct_costs: null, purchase_options: [] },\n  { bom_item: { designators: [\"TP1\"] }, sourcing_status: \"DoNotPlace\",  direct_costs: null, purchase_options: [] }\n]\n","language":"text"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"bom_items: [\n  { bom_item: { designators: [\"R1\"] },  sourcing_status: \"Sourced\",     direct_costs: {…},  purchase_options: [{…}] },\n  { bom_item: { designators: [\"C7\"] },  sourcing_status: \"Pending\",     direct_costs: null, purchase_options: [] },\n  { bom_item: { designators: [\"TP1\"] }, sourcing_status: \"DoNotPlace\",  direct_costs: null, purchase_options: [] }\n]\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The endpoint reflects the currently persisted offer selection; it does not trigger a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recalculation."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"UUID of the sourcing scenario to get the cost breakdown for.","required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_143","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.sourcing-scenario-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sourcing-scenarios/{id}/cost-breakdown","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SourcingScenarioAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/sourcing-scenarios/{id}/cost-breakdown","href":"sourcing-scenario/getcostbreakdownforsourcingscenario","openApiOperationId":"GetCostBreakdownForSourcingScenario","summary":"Get Cost Breakdown"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The sourcing scenario's cost breakdown: one entry for every path to each assembly in each demand's assembly hierarchy, with direct and rolled-up assembly costs plus per-BOM-item costs. The example shows a demand of 1000 pieces of a root assembly \"Main Board\" containing 2 pieces each of a sub-assembly \"Power Supply\".","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCostBreakdownForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/GetCostBreakdownForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request. The request is invalid — for example, the sourcing scenario"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID in the path is not a valid UUID, or the request body fails validation."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field of the response body explains the problem."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to view this sourcing scenario."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not found. No sourcing scenario with the given ID exists for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"authenticated tenant. Also returned when the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is missing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or has an unexpected value — make sure to send the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"documented for this endpoint; in that case the body's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"unknown\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"sourcing_scenario.not_found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}],"pointer":"/paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetCostBreakdownForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetCostBreakdownForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}}},{"code":"401"},{"code":"403"},{"code":"404","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sourcing-scenario/getcostbreakdownforsourcingscenario"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetPurchaseOptionsForSourcingScenario","name":"Get Purchase Options","isWebhook":false,"pointer":"/paths/~1sourcing-scenarios~1{id}~1purchase-options/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Purchase Options","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns purchase options for a sourcing scenario, grouped by offer. Each purchase"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"option represents a selected offer with its order quantity, pricing, and the sourcing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"line items it fulfills. This data is designed for ERP systems to create purchase orders."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity model"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the number of "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer units"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to order."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" defines what one offer unit represents (e.g. 1 piece, or 5 meters"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of cable)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"purchase_quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the total in base units: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity × unit_of_measurement.value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is a computed convenience field."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resolving offer details"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each purchase option carries an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Use this identifier with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /offers/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/bulk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to fetch the full offer including"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplier information, pricing tiers, and availability."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The endpoint reflects the currently persisted offer selection; it does not trigger a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"recalculation."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"UUID of the sourcing scenario to retrieve purchase options for.","required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}~1purchase-options/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_143","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.sourcing-scenario-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}~1purchase-options/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sourcing-scenarios/{id}/purchase-options","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SourcingScenarioAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/sourcing-scenarios/{id}/purchase-options","href":"sourcing-scenario/getpurchaseoptionsforsourcingscenario","openApiOperationId":"GetPurchaseOptionsForSourcingScenario","summary":"Get Purchase Options"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Purchase options for the sourcing scenario. Each entry represents a selected offer with its order quantity and the sourcing line items it fulfills.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetPurchaseOptionsForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/GetPurchaseOptionsForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses/200/content/application~1json/example"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request. The request is invalid — for example, the sourcing scenario"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID in the path is not a valid UUID, or the request body fails validation."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field of the response body explains the problem."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to view this sourcing scenario."},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not found. No sourcing scenario with the given ID exists for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"authenticated tenant. Also returned when the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is missing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or has an unexpected value — make sure to send the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Accept"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"documented for this endpoint; in that case the body's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"unknown\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"sourcing_scenario.not_found\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}},"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}],"pointer":"/paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetPurchaseOptionsForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetPurchaseOptionsForSourcingScenarioResponse","exampleIds":["paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST"}}},{"code":"401"},{"code":"403"},{"code":"404","schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sourcing-scenario/getpurchaseoptionsforsourcingscenario"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateSourcingScenario","name":"Create Scenario","deprecated":true,"isWebhook":false,"pointer":"/paths/~1sourcing-scenarios/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Scenario","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint is deprecated and will be removed in a future version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new sourcing scenario corresponding to an RfQ."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_143","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.sourcing-scenario-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sourcing-scenarios/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput"}},"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput","pointer":"/paths/~1sourcing-scenarios/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/sourcing-scenarios","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SourcingScenarioAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput"}},"responseCodes":["200","400","401","403"],"pointer":"/sourcing-scenarios","href":"sourcing-scenario/createsourcingscenario","openApiOperationId":"CreateSourcingScenario","summary":"Create Scenario"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Scenario created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse"}},"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse"},{"code":"400","description":"Bad request. The input is invalid."},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission."}],"pointer":"/paths/~1sourcing-scenarios/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sourcing-scenario/createsourcingscenario"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateSourcingScenario","name":"Update Scenario","deprecated":true,"isWebhook":false,"pointer":"/paths/~1sourcing-scenarios~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Scenario","isWebhook":false,"deprecated":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecated."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint is deprecated and will be removed in a future version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates a sourcing scenario based on its ID. All assemblies relating to the scenario must be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"included in the request — only those in the request will be considered for the scenario."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the Sourcing scenario to update","required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_143","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.sourcing-scenario-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1sourcing-scenarios~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput"}},"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput","pointer":"/paths/~1sourcing-scenarios~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/sourcing-scenarios/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SourcingScenarioAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput"}},"responseCodes":["200","400","401","403","404"],"pointer":"/sourcing-scenarios/{id}","href":"sourcing-scenario/updatesourcingscenario","openApiOperationId":"UpdateSourcingScenario","summary":"Update Scenario"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated scenario.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse"}},"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse"},{"code":"400","description":"Bad request. The input is invalid."},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission."},{"code":"404","description":"Not found. No sourcing scenario with the given ID exists."}],"pointer":"/paths/~1sourcing-scenarios~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/sourcing-scenario/updatesourcingscenario"}],"panels":[]}]},"httpPath":"/sourcing-scenarios/{id}"}],"content":{"contentType":"group","meta":{"name":"Sourcing Scenario"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Sourcing Scenario","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A sourcing scenario defines a sourcing configuration for a project. Each scenario specifies which"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assemblies to source (demands), their required quantities, and a set of solution preferences"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that control how offers are evaluated and selected."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sourcing scenarios belong to a project, which is either an "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFQ"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (Request for Quotation) or a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Negotiation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A single project can have multiple scenarios, allowing you to compare"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"different sourcing strategies side by side — for example, different order quantities,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplier preferences, or lead time targets."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note on solution preferences:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Sourcing scenarios include detailed solution preferences that control"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"how offers are evaluated (e.g., lead time targets, supplier preferences, inventory handling,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pricing filters, packaging, and excess thresholds). These settings are complex and evolve"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"frequently — we update them on a monthly basis. For this reason, "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"managing solution"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"preferences via the API is not supported"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Please configure them through the Luminovo UI"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"instead."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/sourcing-scenarios/run-selection","summary":"Run Calculation","prefix":{"name":"post","color":"post"},"badges":[],"link":"/sourcing-scenario/runsourcingcalculation","deprecated":false},{"title":"/sourcing-scenarios/{id}","summary":"Get Scenario","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sourcing-scenario/getsourcingscenariov2","deprecated":false},{"title":"/sourcing-scenarios/{id}/cost-breakdown","summary":"Get Cost Breakdown","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sourcing-scenario/getcostbreakdownforsourcingscenario","deprecated":false},{"title":"/sourcing-scenarios/{id}/purchase-options","summary":"Get Purchase Options","prefix":{"name":"get","color":"get"},"badges":[],"link":"/sourcing-scenario/getpurchaseoptionsforsourcingscenario","deprecated":false},{"title":"/sourcing-scenarios","summary":"Create Scenario","prefix":{"name":"post","color":"http-deprecated"},"badges":[],"link":"/sourcing-scenario/createsourcingscenario","deprecated":true},{"title":"/sourcing-scenarios/{id}","summary":"Update Scenario","prefix":{"name":"patch","color":"http-deprecated"},"badges":[],"link":"/sourcing-scenario/updatesourcingscenario","deprecated":true}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetSuppliers","name":"Get Suppliers","isWebhook":false,"pointer":"/paths/~1suppliers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Suppliers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves supplier information with optional filtering."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"supplier/getsuppliers/request/parameters","deepLinkHash":"/supplier/getsuppliers#supplier/getsuppliers/request/parameters"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (optional): Array of supplier IDs to filter by. If provided, only suppliers matching these IDs will be returned."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"supplier/getsuppliers/request/behavior","deepLinkHash":"/supplier/getsuppliers#supplier/getsuppliers/request/behavior"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Behavior"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With IDs"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Returns only the specified suppliers (bulk retrieval)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Without IDs"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Returns all available suppliers"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"supplier/getsuppliers/request/returns","deepLinkHash":"/supplier/getsuppliers#supplier/getsuppliers/request/returns"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A list of supplier objects containing their basic information and metadata."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"supplier/getsuppliers/request/example","deepLinkHash":"/supplier/getsuppliers#supplier/getsuppliers/request/example"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"GET /suppliers?ids=123,456,789  // Get specific suppliers\nGET /suppliers                  // Get all suppliers\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"GET /suppliers?ids=123,456,789  // Get specific suppliers\nGET /suppliers                  // Get all suppliers\n"},"children":[]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ids","in":"query","schemaId":"schema_104","description":"The IDs of the suppliers to get. If not provided, all suppliers will be returned."}],"pointer":"/paths/~1suppliers/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_144","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.supplier-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1suppliers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/suppliers","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"ids","in":"query","required":false,"schemaId":"schema_104"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SupplierAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/suppliers","href":"supplier/getsuppliers","openApiOperationId":"GetSuppliers","summary":"Get Suppliers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Suppliers fetched.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.BulkSuppliersResponse"}},"schemaId":"components/schemas/types.supplier.v1.BulkSuppliersResponse"}],"pointer":"/paths/~1suppliers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.supplier.v1.BulkSuppliersResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.BulkSuppliersResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/supplier/getsuppliers"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"ImportSuppliers","name":"Import Suppliers","isWebhook":false,"pointer":"/paths/~1suppliers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Import Suppliers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Import a list of suppliers."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_144","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.supplier-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1suppliers/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersRequest"}},"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersRequest","pointer":"/paths/~1suppliers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/suppliers","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SupplierAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersRequest"}},"responseCodes":["207"],"pointer":"/suppliers","href":"supplier/importsuppliers","openApiOperationId":"ImportSuppliers","summary":"Import Suppliers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"207","description":"Suppliers imported.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersResponse"}},"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersResponse"}],"pointer":"/paths/~1suppliers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"207","schemaId":"components/schemas/types.supplier.v1.ImportSuppliersResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.ImportSuppliersResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/supplier/importsuppliers"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteSupplier","name":"Delete Supplier","isWebhook":false,"pointer":"/paths/~1suppliers~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Supplier","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Delete a supplier by its ID.\n\nNote: System suppliers cannot be deleted and will return an error if deletion is attempted"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the supplier to delete","required":true}],"pointer":"/paths/~1suppliers~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_144","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.supplier-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1suppliers~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/suppliers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SupplierAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/suppliers/{id}","href":"supplier/deletesupplier","openApiOperationId":"DeleteSupplier","summary":"Delete Supplier"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Supplier deleted."}],"pointer":"/paths/~1suppliers~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/supplier/deletesupplier"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateSupplier","name":"Update Supplier","isWebhook":false,"pointer":"/paths/~1suppliers~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Supplier","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update a supplier by its ID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note: For system suppliers, only the supplier number & preference can be updated."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the supplier to update","required":true}],"pointer":"/paths/~1suppliers~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_144","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.supplier-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1suppliers~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.SupplierUpdateRequest"}},"schemaId":"components/schemas/types.supplier.v1.SupplierUpdateRequest","pointer":"/paths/~1suppliers~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/suppliers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/SupplierAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.SupplierUpdateRequest"}},"responseCodes":["200"],"pointer":"/suppliers/{id}","href":"supplier/updatesupplier","openApiOperationId":"UpdateSupplier","summary":"Update Supplier"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.supplier.v1.SupplierUpdateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.SupplierUpdateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Supplier updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.SingleSupplierResponse"}},"schemaId":"components/schemas/types.supplier.v1.SingleSupplierResponse"}],"pointer":"/paths/~1suppliers~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.supplier.v1.SingleSupplierResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.supplier.v1.SingleSupplierResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/supplier/updatesupplier"}],"panels":[]}]},"httpPath":"/suppliers/{id}"}],"content":{"contentType":"group","meta":{"name":"Supplier"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Supplier","showPageActions":true},{"nodeType":"markdoc","content":"Supplier-management related endpoints."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/suppliers","summary":"Get Suppliers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/supplier/getsuppliers","deprecated":false},{"title":"/suppliers","summary":"Import Suppliers","prefix":{"name":"post","color":"post"},"badges":[],"link":"/supplier/importsuppliers","deprecated":false},{"title":"/suppliers/{id}","summary":"Delete Supplier","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/supplier/deletesupplier","deprecated":false},{"title":"/suppliers/{id}","summary":"Update Supplier","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/supplier/updatesupplier","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetAllUsers","name":"Get All Users","isWebhook":false,"pointer":"/paths/~1users/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Users","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns all users of your system."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_145","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.user-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1users/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/users","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/UserAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/users","href":"user/getallusers","openApiOperationId":"GetAllUsers","summary":"Get All Users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get all organization users.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.user.v1.AllUsers"}},"schemaId":"components/schemas/types.user.v1.AllUsers"}],"pointer":"/paths/~1users/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.user.v1.AllUsers","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.user.v1.AllUsers"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/user/getallusers"}],"panels":[]}]},"httpPath":"/users"}],"content":{"contentType":"group","meta":{"name":"User"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"User","showPageActions":true},{"nodeType":"markdoc","content":"Get all your Luminovo users."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/users","summary":"Get All Users","prefix":{"name":"get","color":"get"},"badges":[],"link":"/user/getallusers","deprecated":false}]}]}]}]}},{"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"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetOffers","name":"Get Offers","isWebhook":false,"pointer":"/paths/~1offers~1bulk/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Offers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Look up multiple offers in one request by their IDs. Uses "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (rather"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"than "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") so that callers can pass many IDs without hitting URL length"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limits. IDs that cannot be resolved are returned in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found_ids"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OfferResponse"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the full concept and shape of an offer."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offers~1bulk/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetOffersByIdInput"}},"schemaId":"components/schemas/GetOffersByIdInput","pointer":"/paths/~1offers~1bulk/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/offers/bulk","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/GetOffersByIdInput"}},"responseCodes":["200","400","401"],"pointer":"/offers/bulk","href":"offers/getoffers","openApiOperationId":"GetOffers","summary":"Get Offers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/GetOffersByIdInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GetOffersByIdInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Successfully retrieved offers. Note: any IDs that could not be resolved (wrong tenant, deleted, or non-existent) are returned in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rather than causing the whole request to fail."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BulkOfferResponse"}},"schemaId":"components/schemas/BulkOfferResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request — the request body is malformed (e.g. not valid JSON, or contains an offer ID with a missing or unknown "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prefix)."},"children":[]}]}]}]},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."}],"pointer":"/paths/~1offers~1bulk/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/BulkOfferResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BulkOfferResponse"}}},{"code":"400"},{"code":"401"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers/getoffers"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteOffersBulk","name":"Delete Offers Bulk","isWebhook":false,"pointer":"/paths/~1offers~1delete/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Offers Bulk","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a set of offers, identified by their IDs in the request."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the opaque offer IDs as returned by other endpoints such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/find"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An offer referenced in a sourcing line litem can only be deleted if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"force_delete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", otherwise the full delete request fails with a conflict error."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Public off-the-shelf offers can never be deleted, including them causes the full delete"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request to fail with a conflict error."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The endpoint enforces a limit of 100,000 offer IDs that can be included in one request."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If more offers need to be deleted, then the endpoint should be called multiple times."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On success, the endpoint returns the IDs of the offers that were actually deleted."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requested IDs that did not exist are absent, which makes the operation idempotent."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"force_delete","in":"query","schemaId":"schema_147","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this is missing or set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", then a request to delete offers"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is rejected if the offer is referenced as a selected solution in a sourcing line item."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this is set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", then the offer is deleted even if referenced, and the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"respective solution is reset to pending."},"children":[]}]}]}]}],"pointer":"/paths/~1offers~1delete/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offers~1delete/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/OfferDeleteRequest"}},"schemaId":"components/schemas/OfferDeleteRequest","pointer":"/paths/~1offers~1delete/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/offers/delete","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"force_delete","in":"query","required":false,"schemaId":"schema_147"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/OfferDeleteRequest"}},"responseCodes":["200","400","401","409","413"],"pointer":"/offers/delete","href":"offers/deleteoffersbulk","openApiOperationId":"DeleteOffersBulk","summary":"Delete Offers Bulk"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/OfferDeleteRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/OfferDeleteRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Delete successful.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OfferDeleteSuccessResponse"}},"schemaId":"components/schemas/OfferDeleteSuccessResponse"},{"code":"400","description":"Bad request. The request is malformed."},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An error response if there is a conflict caused by the offer deletion request."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This error is returned if either the request contains an ID for a public off-the-shelf offer,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or the request contains an ID that is referenced as a selected solution in a sourcing line item,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"force_delete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can be used to differentiate between the two types of conflicts."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field contains the conflicting set of offer IDs for each type of conflict,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and is a subset of the input offer IDs."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this error is returned, then the whole offer delete request has been rejected,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and no offers have been deleted, even for offers without conflicts."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"schema_148"}},"schemaId":"schema_148"},{"code":"413","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload too large. The request size is too large to be handled."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This error is returned if the number of offer IDs in the request."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exceeds the maximum number of 100,000 offers that can be deleted in one request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It may also be returned if the request size in bytes exceed the global limit the server can handle."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is an empty object."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE"}},"schemaId":"components/schemas/ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE"}],"pointer":"/paths/~1offers~1delete/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/OfferDeleteSuccessResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OfferDeleteSuccessResponse"}}},{"code":"400"},{"code":"401"},{"code":"409","schemaId":"schema_148","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"schema_148"}}},{"code":"413","schemaId":"components/schemas/ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers/deleteoffersbulk"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"TriggerOfferRefresh","name":"Trigger Offer Refresh","isWebhook":false,"pointer":"/paths/~1offers~1refresh/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger Offer Refresh","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigger an asynchronous fetch of fresh offers from the configured external"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplier APIs (Octopart, TrustedParts, distributor APIs, ...) for the given"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"off-the-shelf parts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is asynchronous: the endpoint responds "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"202 Accepted"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and the freshly fetched offers are written in the background. Poll the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer-lookup endpoints afterwards to read them."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offers~1refresh/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RefreshOffersRequest"}},"schemaId":"components/schemas/RefreshOffersRequest","pointer":"/paths/~1offers~1refresh/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/offers/refresh","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/RefreshOffersRequest"}},"responseCodes":["202","400","401","403"],"pointer":"/offers/refresh","href":"offers/triggerofferrefresh","openApiOperationId":"TriggerOfferRefresh","summary":"Trigger Offer Refresh"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/RefreshOffersRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/RefreshOffersRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"202","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update accepted (no body). Offers are fetched from the configured supplier APIs asynchronously and become available via the offer-lookup endpoints ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/find"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/bulk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /offers/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") once ready. Part ids that don't resolve are silently ignored."},"children":[]}]}]}]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request — the request body is malformed."},"children":[]}]}]}]},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The authenticated user does not have permission to view the part library."}],"pointer":"/paths/~1offers~1refresh/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers/triggerofferrefresh"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetOffer","name":"Get Offer","isWebhook":false,"pointer":"/paths/~1offers~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Offer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Look up a single offer by its ID. To look up many offers in one round"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"trip, use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/bulk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OfferResponse"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the full concept and shape of an offer."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The offer's colon-separated identifier (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf:550e8400-e29b-41d4-a716-446655440000"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). This is the same value as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returned by other endpoints such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /sourcing-scenarios/{id}/purchase-options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Treat as an opaque string."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offers~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offers~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/offers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","404"],"pointer":"/offers/{id}","href":"offers/getoffer","openApiOperationId":"GetOffer","summary":"Get Offer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully retrieved offer.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OfferResponse"}},"schemaId":"components/schemas/OfferResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad request — the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" path parameter is not a valid offer identifier (e.g. the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prefix is missing or unknown, or the UUID part is malformed)."},"children":[]}]}]}]},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"403","description":"Forbidden. The offer belongs to a different tenant."},{"code":"404","description":"Offer not found, or the offer ID could not be resolved for this tenant."}],"pointer":"/paths/~1offers~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/OfferResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OfferResponse"}}},{"code":"400"},{"code":"401"},{"code":"403"},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers/getoffer"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteOffer","name":"Delete Offer","isWebhook":false,"pointer":"/paths/~1offers~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Offer","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a single offer, identified by its ID in the path."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the opaque offer ID as returned by other endpoints such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/find"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An offer referenced in a sourcing line litem can only be deleted if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"force_delete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", otherwise the delete request fails with a conflict error."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Public off-the-shelf offers can never be deleted."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the offer.","required":true}],"pointer":"/paths/~1offers~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"force_delete","in":"query","schemaId":"schema_147","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this is missing or set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", then a request to delete offers"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is rejected if the offer is referenced as a selected solution in a sourcing line item."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this is set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", then the offer is deleted even if referenced, and the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"respective solution is reset to pending."},"children":[]}]}]}]}],"pointer":"/paths/~1offers~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_146","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offers~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/offers/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[{"name":"force_delete","in":"query","required":false,"schemaId":"schema_147"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204","400","401","404","409"],"pointer":"/offers/{id}","href":"offers/deleteoffer","openApiOperationId":"DeleteOffer","summary":"Delete Offer"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Delete successful (no body)."},{"code":"400","description":"Bad request. The request is malformed."},{"code":"401","description":"Unauthorized. The Bearer token is missing or invalid."},{"code":"404","description":"Not found. The offer with the given ID was not found.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND"}},"schemaId":"components/schemas/ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND"},{"code":"409","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An error response if there is a conflict caused by the offer deletion request."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This error is returned if either the request contains an ID for a public off-the-shelf offer,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or the request contains an ID that is referenced as a selected solution in a sourcing line item,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"force_delete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can be used to differentiate between the two types of conflicts."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field contains the conflicting set of offer IDs for each type of conflict,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and is a subset of the input offer IDs."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If this error is returned, then the whole offer delete request has been rejected,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and no offers have been deleted, even for offers without conflicts."},"children":[]}]}]}],"mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"schema_148"}},"schemaId":"schema_148"}],"pointer":"/paths/~1offers~1{id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400"},{"code":"401"},{"code":"404","schemaId":"components/schemas/ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND"}}},{"code":"409","schemaId":"schema_148","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"schema_148"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offers/deleteoffer"}],"panels":[]}]},"httpPath":"/offers/{id}"}],"content":{"contentType":"group","meta":{"name":"Offers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Offers","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A priced option for buying a specific part from a specific source."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" captures everything needed to evaluate or place a purchase: the part it is for ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), where it comes from ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", either an external supplier branch or an internal inventory site), quantity-based pricing tiers ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), packaging, validity dates, and — for standard-part offers — current stock and factory lead time."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Two kinds."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator describes the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"nature of the offer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — how it is priced and fulfilled — and determines the payload shape:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"StandardPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer for a catalog part. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (stock + factory lead time) is reported at the offer level. Price-break tiers carry only quantity and unit price."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer for a custom-manufactured part (PCB, mechanical, cable, ...). There is no offer-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; per-tier "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lives in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead, because fulfillment time depends on order quantity."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In other words, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" describes the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" describes how the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"part"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is identified — the two are related but not the same."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OfferResponse"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/offers/bulk","summary":"Get Offers","prefix":{"name":"post","color":"post"},"badges":[],"link":"/offers/getoffers","deprecated":false},{"title":"/offers/delete","summary":"Delete Offers Bulk","prefix":{"name":"post","color":"post"},"badges":[],"link":"/offers/deleteoffersbulk","deprecated":false},{"title":"/offers/refresh","summary":"Trigger Offer Refresh","prefix":{"name":"post","color":"post"},"badges":[],"link":"/offers/triggerofferrefresh","deprecated":false},{"title":"/offers/{id}","summary":"Get Offer","prefix":{"name":"get","color":"get"},"badges":[],"link":"/offers/getoffer","deprecated":false},{"title":"/offers/{id}","summary":"Delete Offer","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/offers/deleteoffer","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetAllOfferImportContexts","name":"Get All Offer Import Contexts","isWebhook":false,"pointer":"/paths/~1offer-import-contexts/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get All Offer Import Contexts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"List every offer import context belonging to the tenant."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_149","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-import-context-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offer-import-contexts/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/offer-import-contexts","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferImportContextAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/offer-import-contexts","href":"offer-import-context/getallofferimportcontexts","openApiOperationId":"GetAllOfferImportContexts","summary":"Get All Offer Import Contexts"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All offer import contexts.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.AllOfferImportContextsResponse"}},"schemaId":"components/schemas/types.offer_import_context.v1.AllOfferImportContextsResponse"}],"pointer":"/paths/~1offer-import-contexts/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.offer_import_context.v1.AllOfferImportContextsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.AllOfferImportContextsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offer-import-context/getallofferimportcontexts"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateOfferImportContext","name":"Create Offer Import Context","isWebhook":false,"pointer":"/paths/~1offer-import-contexts/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Offer Import Context","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new offer import context. Its origin is always "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApiIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no origin can be specified. A name already used by another context, of any"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"origin, is rejected with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_149","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-import-context-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offer-import-contexts/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextInput"}},"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextInput","pointer":"/paths/~1offer-import-contexts/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/offer-import-contexts","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferImportContextAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextInput"}},"responseCodes":["201","409"],"pointer":"/offer-import-contexts","href":"offer-import-context/createofferimportcontext","openApiOperationId":"CreateOfferImportContext","summary":"Create Offer Import Context"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Offer import context created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}},"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"},{"code":"409","description":"An offer import context with this name already exists."}],"pointer":"/paths/~1offer-import-contexts/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}}},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offer-import-context/createofferimportcontext"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetOfferImportContext","name":"Get Offer Import Context","isWebhook":false,"pointer":"/paths/~1offer-import-contexts~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Offer Import Context","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a single offer import context by its ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the offer import context.","required":true}],"pointer":"/paths/~1offer-import-contexts~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_149","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-import-context-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offer-import-contexts~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/offer-import-contexts/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferImportContextAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","404"],"pointer":"/offer-import-contexts/{id}","href":"offer-import-context/getofferimportcontext","openApiOperationId":"GetOfferImportContext","summary":"Get Offer Import Context"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single offer import context.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}},"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"},{"code":"404","description":"The offer import context does not exist."}],"pointer":"/paths/~1offer-import-contexts~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}}},{"code":"404"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offer-import-context/getofferimportcontext"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteOfferImportContext","name":"Delete Offer Import Context","isWebhook":false,"pointer":"/paths/~1offer-import-contexts~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Offer Import Context","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete an offer import context by its ID. Deletion is blocked with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"while any offer still references it."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the offer import context to delete.","required":true}],"pointer":"/paths/~1offer-import-contexts~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_149","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-import-context-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offer-import-contexts~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/offer-import-contexts/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferImportContextAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204","409"],"pointer":"/offer-import-contexts/{id}","href":"offer-import-context/deleteofferimportcontext","openApiOperationId":"DeleteOfferImportContext","summary":"Delete Offer Import Context"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Offer import context deleted."},{"code":"409","description":"The offer import context is still referenced by offers."}],"pointer":"/paths/~1offer-import-contexts~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offer-import-context/deleteofferimportcontext"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateOfferImportContext","name":"Update Offer Import Context","isWebhook":false,"pointer":"/paths/~1offer-import-contexts~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Offer Import Context","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update an offer import context by its ID. Renaming to an existing name is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"rejected with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"The ID of the offer import context to update.","required":true}],"pointer":"/paths/~1offer-import-contexts~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_149","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.offer-import-context-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1offer-import-contexts~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate"}},"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate","pointer":"/paths/~1offer-import-contexts~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/offer-import-contexts/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/OfferImportContextAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate"}},"responseCodes":["200","404","409"],"pointer":"/offer-import-contexts/{id}","href":"offer-import-context/updateofferimportcontext","openApiOperationId":"UpdateOfferImportContext","summary":"Update Offer Import Context"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Offer import context updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}},"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"},{"code":"404","description":"The offer import context does not exist."},{"code":"409","description":"Another offer import context already has this name."}],"pointer":"/paths/~1offer-import-contexts~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}}},{"code":"404"},{"code":"409"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/offer-import-context/updateofferimportcontext"}],"panels":[]}]},"httpPath":"/offer-import-contexts/{id}"}],"content":{"contentType":"group","meta":{"name":"Offer Import Context"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Offer Import Context","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A named grouping that offers are imported under. Every imported offer belongs to at most one import context, which records how and from where that batch of offers arrived."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use it to organize and trace imported offers by their source. This API lets you list, create, update and delete offer import contexts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Context names are unique per tenant: a name can belong to at most one context, regardless of origin. Creating a context with, or renaming one to, a name that is already taken returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" records the channel a context's offers came through:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApiIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": offers imported programmatically through the offers import endpoint, typically by an ERP system integration."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CsvIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": offers imported by the nightly job that pulls CSV files from a customer's ERP storage."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ManualFileUpload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": offers imported by uploading a CSV file in the UI."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contexts created through this API always have "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApiIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" origin: the create request takes no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field. The other origins are produced by their respective import flows and are only ever seen on reads."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/offer-import-contexts","summary":"Get All Offer Import Contexts","prefix":{"name":"get","color":"get"},"badges":[],"link":"/offer-import-context/getallofferimportcontexts","deprecated":false},{"title":"/offer-import-contexts","summary":"Create Offer Import Context","prefix":{"name":"post","color":"post"},"badges":[],"link":"/offer-import-context/createofferimportcontext","deprecated":false},{"title":"/offer-import-contexts/{id}","summary":"Get Offer Import Context","prefix":{"name":"get","color":"get"},"badges":[],"link":"/offer-import-context/getofferimportcontext","deprecated":false},{"title":"/offer-import-contexts/{id}","summary":"Delete Offer Import Context","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/offer-import-context/deleteofferimportcontext","deprecated":false},{"title":"/offer-import-contexts/{id}","summary":"Update Offer Import Context","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/offer-import-context/updateofferimportcontext","deprecated":false}]}]}]}]}},{"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetAllProjects","name":"Get all Projects","isWebhook":false,"pointer":"/paths/~1projects/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Projects","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns all projects in Luminovo."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available. The response body currently uses RfQ field names (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" refers to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the RfQ/project ID)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"archived","in":"query","schemaId":"schema_94"},{"name":"customer_id","in":"query","schemaId":"schema_138"},{"name":"internal_number","in":"query","schemaId":"schema_104"}],"pointer":"/paths/~1projects/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_150","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.project-overview-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[{"name":"archived","in":"query","required":false,"schemaId":"schema_94"},{"name":"customer_id","in":"query","required":false,"schemaId":"schema_138"},{"name":"internal_number","in":"query","required":false,"schemaId":"schema_104"}],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ProjectOverviewAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/projects","href":"project/getallprojects","openApiOperationId":"GetAllProjects","summary":"Get all Projects"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get all existing projects.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse"}},"schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse"}],"pointer":"/paths/~1projects/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.AllRfQsResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/getallprojects"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"CreateProject","name":"Create Project","isWebhook":false,"pointer":"/paths/~1projects/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a new project either for an existing or a new customer."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available. The response body currently uses RfQ field names (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" refers to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the RfQ/project ID)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_151","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.project-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQCreation"}},"schemaId":"components/schemas/types.rfq.v1.RfQCreation","pointer":"/paths/~1projects/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/projects","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ProjectAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQCreation"}},"responseCodes":["200"],"pointer":"/projects","href":"project/createproject","openApiOperationId":"CreateProject","summary":"Create Project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.rfq.v1.RfQCreation","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQCreation"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}},"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}],"pointer":"/paths/~1projects/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.RfQResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/createproject"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetProjectStatusHistory","name":"Get Project status change history","isWebhook":false,"pointer":"/paths/~1projects~1status-history/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Project status change history","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the history of status changes for all projects."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available. The response body currently uses RfQ field names (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rfq_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_151","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.project-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1status-history/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects/status-history","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ProjectAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/projects/status-history","href":"project/getprojectstatushistory","openApiOperationId":"GetProjectStatusHistory","summary":"Get Project status change history"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project status history.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory"}},"schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory"}],"pointer":"/paths/~1projects~1status-history/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/getprojectstatushistory"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetProject","name":"Get Project","isWebhook":false,"pointer":"/paths/~1projects~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get one project based on its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available. The response body currently uses RfQ field names (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" refers to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the RfQ/project ID)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the project to retrieve","required":true}],"pointer":"/paths/~1projects~1{id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_151","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.project-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/projects/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ProjectAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/projects/{id}","href":"project/getproject","openApiOperationId":"GetProject","summary":"Get Project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get existing project.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}},"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}],"pointer":"/paths/~1projects~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.RfQResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/getproject"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteProject","name":"Delete Project","isWebhook":false,"pointer":"/paths/~1projects~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a project based on its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the project to delete","required":true}],"pointer":"/paths/~1projects~1{id}/delete/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_151","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.project-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/projects/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ProjectAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["204"],"pointer":"/projects/{id}","href":"project/deleteproject","openApiOperationId":"DeleteProject","summary":"Delete Project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Project deleted."}],"pointer":"/paths/~1projects~1{id}/delete/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/deleteproject"}],"panels":[]}]},"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateProject","name":"Update Project","isWebhook":false,"pointer":"/paths/~1projects~1{id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update a project based on its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A project is the same as an RfQ (Request for Quotation). Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoints are available. The response body currently uses RfQ field names (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" refers to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the RfQ/project ID)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"components/schemas/CustomComponentId","description":"id of the project to update","required":true}],"pointer":"/paths/~1projects~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Accept","in":"header","schemaId":"schema_151","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set this to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/api.luminovo.project-v1+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1projects~1{id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfqUpdate"}},"schemaId":"components/schemas/types.rfq.v1.RfqUpdate","pointer":"/paths/~1projects~1{id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/projects/{id}","servers":[{"url":"https://api.luminovo.com"}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"components/schemas/CustomComponentId"}],"query":[],"querystring":[],"header":[{"name":"Accept","in":"header","required":true,"schemaId":"components/schemas/ProjectAcceptHeader"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfqUpdate"}},"responseCodes":["200"],"pointer":"/projects/{id}","href":"project/updateproject","openApiOperationId":"UpdateProject","summary":"Update Project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.luminovo.com"}],"schemaId":"components/schemas/types.rfq.v1.RfqUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfqUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Project updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}},"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}],"pointer":"/paths/~1projects~1{id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/types.rfq.v1.RfQResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/types.rfq.v1.RfQResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/updateproject"}],"panels":[]}]},"httpPath":"/projects/{id}"}],"content":{"contentType":"group","meta":{"name":"Project"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Project","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/projects","summary":"Get all Projects","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project/getallprojects","deprecated":false},{"title":"/projects","summary":"Create Project","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project/createproject","deprecated":false},{"title":"/projects/status-history","summary":"Get Project status change history","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project/getprojectstatushistory","deprecated":false},{"title":"/projects/{id}","summary":"Get Project","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project/getproject","deprecated":false},{"title":"/projects/{id}","summary":"Delete Project","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project/deleteproject","deprecated":false},{"title":"/projects/{id}","summary":"Update Project","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/project/updateproject","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/TokenRequest":{"id":"components/schemas/TokenRequest","kind":"json-schema","title":"TokenRequest","data":{"properties":{"token":{"description":"The authentication token to exchange for an access token","examples":["cb7daea2-df5f-44de-99cc-213668e6c991"],"type":"string"}},"required":["token"],"type":"object"}},"components/schemas/SupplierContact":{"id":"components/schemas/SupplierContact","kind":"json-schema","title":"SupplierContact","data":{"type":"object","required":["id","first_name","last_name","email","user_language","supplier_and_stock_location","is_main_contact","is_public"],"properties":{"id":{"type":"string","format":"uuid","description":"the identifier of the supplier contact","example":"1adf4f5f-ec6d-4b80-9da4-9f0d4f876913"},"first_name":{"type":"string","description":"The first name of the supplier contact","examples":["Max"]},"last_name":{"type":"string","description":"The last name of the supplier contact","examples":["Mustermann"]},"email":{"type":"string","description":"The email address of the supplier contact","examples":["max.mustermann@musterfirma.de"]},"user_language":{"type":"string","description":"The user language of the supplier contact","enum":["de","en","es","fr"],"example":"en"},"is_main_contact":{"type":"boolean","description":"Determines if this supplier contact will be the main contact. Sets the preselection of this contact","example":true},"is_public":{"type":"boolean","description":"Determines if this supplier contact will be public.","example":true},"supplier_and_stock_location":{"type":"string","format":"uuid","description":"The identifier of the corresponding supplier","example":"0f9b6e20-0f5c-4dd4-9ebf-f14cbece3f71"},"position":{"type":"string","description":"Optional job description of the supplier contact","examples":["Key Account Manager"]}}}},"components/schemas/SupplierContactResponse":{"id":"components/schemas/SupplierContactResponse","kind":"json-schema","title":"SupplierContactResponse","data":{"type":"object","description":"The supplier contact object","allOf":[{"$ref":"#/components/schemas/SupplierContact"},{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier of that supplier contact","example":"1adf4f5f-ec6d-4b80-9da4-9f0d4f876913"}}}]}},"components/schemas/InternalUser":{"id":"components/schemas/InternalUser","kind":"json-schema","title":"InternalUser","data":{"type":"object","required":["id","first_name","last_name","email"],"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier of the internal user","example":"f7182b67-8cef-4bb6-a5de-3dbaf1a89ef5"},"first_name":{"type":"string","description":"The first name of the internal user","examples":["Max"]},"last_name":{"type":"string","description":"The last name of the internal user","examples":["Mustermann"]},"email":{"type":"string","description":"The email address of the internal user","examples":["max.mustermann@musterfirma.de"]}}}},"components/schemas/Currency":{"id":"components/schemas/Currency","kind":"json-schema","title":"Currency","data":{"type":"string","enum":["EUR","MAD","USD","AUD","BGN","BRL","CAD","CHF","CNY","CZK","DKK","GBP","HKD","HRK","HUF","IDR","ILS","INR","ISK","JPY","KRW","MXN","MYR","NOK","NZD","PHP","PLN","RON","RUB","SEK","SGD","THB","TRY","ZAR","TWD","VND","LKR"]}},"components/schemas/LegacyMonetaryValue":{"id":"components/schemas/LegacyMonetaryValue","kind":"json-schema","title":"LegacyMonetaryValue","data":{"type":"object","required":["amount","currency"],"properties":{"amount":{"type":"string"},"currency":{"$ref":"#/components/schemas/Currency"}}}},"components/schemas/Availability":{"id":"components/schemas/Availability","kind":"json-schema","title":"Availability","data":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Stock","OnOrderWithUnknownLeadTime"]}}},{"type":"object","required":["type","days"],"properties":{"type":{"type":"string","enum":["PriceBreakLeadTimeDays","OnOrder","LeadTimeDays"]},"days":{"type":"integer","format":"integer"}}}],"description":"Availability of a solution or purchase option, indicating if it is in stock"}},"components/schemas/QuantityUnit":{"id":"components/schemas/QuantityUnit","kind":"json-schema","title":"QuantityUnit","data":{"type":"object","required":["unit","quantity"],"properties":{"unit":{"type":"string","enum":["Kg","Meters","Liters","Pieces"]},"quantity":{"type":"number"}}}},"components/schemas/ImportUnit":{"id":"components/schemas/ImportUnit","kind":"json-schema","title":"ImportUnit","data":{"type":"object","required":["unit","quantity"],"properties":{"unit":{"title":"Unit","type":"string","enum":["Kilogram","Gram","Milligram","Pound","Meter","Centimeter","Millimeter","Foot","Inch","Liter","Centiliter","Milliliter","Ounce","Gallon","Pint","Piece","Pair"]},"quantity":{"description":"The quantity must be greater than 0.","type":"number"}}}},"components/schemas/Packaging":{"id":"components/schemas/Packaging","kind":"json-schema","title":"Packaging","data":{"type":"string","enum":["AmmoPack","Bag","Bulk","Reel","ReReel","Spool","Tape","Tray","Tube","Carton"]}},"components/schemas/OfferId":{"id":"components/schemas/OfferId","kind":"json-schema","title":"OfferId","data":{"anyOf":[{"type":"object","required":["offer_type","offer"],"properties":{"offer_type":{"type":"string","enum":["Other","CustomPart","Consigned"]},"offer":{"type":"string","format":"uuid"}}},{"type":"object","required":["offer_type","offer"],"properties":{"offer_type":{"type":"string","enum":["Inventory"]},"offer":{"type":"string"}}}]}},"components/schemas/PurchaseOptionResponse":{"id":"components/schemas/PurchaseOptionResponse","kind":"json-schema","title":"PurchaseOptionResponse","data":{"allOf":[{"$ref":"#/components/schemas/OfferId"},{"type":"object","required":["unit","quantity"],"properties":{"unit_price":{"$ref":"#/components/schemas/LegacyMonetaryValue"},"availability":{"$ref":"#/components/schemas/Availability"},"unit":{"$ref":"#/components/schemas/QuantityUnit"},"quantity":{"type":"number"},"signature":{"anyOf":[{"type":"null"},{"$ref":"#/components/schemas/Signature"}]}}}]}},"components/schemas/Signature":{"id":"components/schemas/Signature","kind":"json-schema","title":"Signature","data":{"type":"object"}},"components/schemas/DateTime":{"id":"components/schemas/DateTime","kind":"json-schema","title":"DateTime","data":{"type":"string","format":"date-time"}},"components/schemas/NaiveDateTime":{"id":"components/schemas/NaiveDateTime","kind":"json-schema","title":"NaiveDateTime","data":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$","description":"A naive date-time string in the format \"YYYY-MM-DDTHH:MM:SS\", where \"T\" is a literal character separating the date and time components, without a time zone. Example: \"2024-03-31T01:00:00\".\n"}},"components/schemas/Date":{"id":"components/schemas/Date","kind":"json-schema","title":"Date","data":{"type":"string","format":"date"}},"components/schemas/PendingPurchaseOrderRecipient":{"id":"components/schemas/PendingPurchaseOrderRecipient","kind":"json-schema","title":"PendingPurchaseOrderRecipient","data":{"title":"PendingPurchaseOrderRecipient","type":"object","oneOf":[{"type":"object","title":"Supplier","required":["type","supplier_and_stock_location_id"],"properties":{"type":{"type":"string","enum":["Supplier"]},"supplier_and_stock_location_id":{"type":"string","format":"uuid","description":"The ID of the supplier-and-stock-location for purchase order"},"supplier_contact":{"$ref":"#/components/schemas/SupplierContact"}}},{"type":"object","title":"Internal","required":["type","inventory_id"],"properties":{"type":{"type":"string","enum":["Internal"]},"inventory_id":{"type":"string","format":"uuid","description":"The ID of the inventory site for purchase order"},"internal_user":{"$ref":"#/components/schemas/InternalUser"}}},{"type":"object","title":"Customer","required":["type"],"properties":{"type":{"type":"string","enum":["Customer"]},"user":{"$ref":"#/components/schemas/InternalUser"}}},{"type":"object","title":"SupplierNumber","required":["type","supplier_number"],"properties":{"type":{"type":"string","enum":["SupplierNumber"]},"supplier_number":{"type":"string","description":"The number of the supplier for purchase order"},"supplier_contact":{"$ref":"#/components/schemas/SupplierContact"}}}]}},"components/schemas/PurchaseOrderRecipient":{"id":"components/schemas/PurchaseOrderRecipient","kind":"json-schema","title":"PurchaseOrderRecipient","data":{"title":"PurchaseOrderRecipient","type":"object","oneOf":[{"type":"object","required":["type","supplier_and_stock_location_id"],"properties":{"type":{"type":"string","enum":["Supplier"]},"supplier_and_stock_location_id":{"type":"string","format":"uuid","description":"The ID of the supplier-and-stock-location for purchase order"},"supplier_contact":{"type":"string","format":"uuid"}}},{"type":"object","required":["type","inventory_id","internal_user"],"properties":{"type":{"type":"string","enum":["Internal"]},"inventory_id":{"type":"string","format":"uuid","description":"The ID of the inventory site for purchase order"},"internal_user":{"type":"string","format":"uuid"}}},{"type":"object","required":["type","user"],"properties":{"type":{"type":"string","enum":["Customer"]},"user":{"type":"string","format":"uuid"}}},{"type":"object","title":"SupplierNumber","required":["type","supplier_number"],"properties":{"type":{"type":"string","enum":["SupplierNumber"]},"supplier_number":{"type":"string","description":"The number of the supplier for purchase order"},"supplier_contact":{"type":"string","format":"uuid"}}}]}},"components/schemas/PurchaseOrderLinkedPart":{"id":"components/schemas/PurchaseOrderLinkedPart","kind":"json-schema","title":"PurchaseOrderLinkedPart","data":{"title":"PurchaseOrderLinkedPart","type":"object","oneOf":[{"type":"object","required":["type","part"],"properties":{"type":{"type":"string","enum":["OffTheShelf","Custom","Ipn"]},"part":{"type":"string","format":"uuid"}}},{"type":"object","required":["type","part_options"],"properties":{"type":{"type":"string","enum":["Consigned"]},"part_options":{"type":"array","items":{"type":"object","required":["part","type"],"properties":{"part":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["Custom","OffTheShelf","Ipn","Generic"]}}}}}}]}},"components/schemas/PurchaseOrderLineItem":{"id":"components/schemas/PurchaseOrderLineItem","kind":"json-schema","title":"PurchaseOrderLineItem","data":{"type":"object","title":"PurchaseOrderLineItem","required":["id","expected_unit_price","quantity","total_price","linked_part","solution_config_id"],"properties":{"id":{"type":"string","format":"uuid","description":"Purchase order line item ID"},"availability":{"$ref":"#/components/schemas/Availability"},"expected_unit_price":{"allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"total_price":{"allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"packaging":{"allOf":[{"$ref":"#/components/schemas/Packaging"}]},"offer_created_at":{"$ref":"#/components/schemas/DateTime"},"offer_number":{"type":"string"},"quantity":{"$ref":"#/components/schemas/QuantityUnit"},"supplier_part_number":{"type":"string","description":"Part number for supplier"},"solution_config_id":{"type":"string","format":"uuid","description":"Solution configuration ID"},"linked_part":{"$ref":"#/components/schemas/PurchaseOrderLinkedPart"},"ipns":{"type":"array","items":{"type":"string"}},"received_at":{"$ref":"#/components/schemas/DateTime"}}}},"components/schemas/PendingPurchaseOrderLineItem":{"id":"components/schemas/PendingPurchaseOrderLineItem","kind":"json-schema","title":"PendingPurchaseOrderLineItem","data":{"type":"object","title":"PendingPurchaseOrderLineItem","required":["expected_unit_price","quantity","solution_config_id","total_price","linked_part"],"properties":{"availability":{"$ref":"#/components/schemas/Availability"},"expected_unit_price":{"allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"packaging":{"allOf":[{"$ref":"#/components/schemas/Packaging"}]},"offer_created_at":{"$ref":"#/components/schemas/NaiveDateTime"},"offer_number":{"type":"string"},"quantity":{"$ref":"#/components/schemas/QuantityUnit"},"received_at":{"$ref":"#/components/schemas/NaiveDateTime"},"solution_config_id":{"type":"string","format":"uuid","description":"The associated solution configuration ID."},"supplier_part_number":{"type":"string","description":"Extra note"},"total_price":{"allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"linked_part":{"$ref":"#/components/schemas/PurchaseOrderLinkedPart"},"ipns":{"type":"array","items":{"type":"string"}}}}},"components/schemas/PurchaseOrderEmail":{"id":"components/schemas/PurchaseOrderEmail","kind":"json-schema","title":"Email","data":{"type":"object","title":"Email","description":"Send a purchase order via an email","required":["type","subject","body"],"properties":{"type":{"type":"string","enum":["Email"]},"subject":{"type":"string"},"body":{"type":"string"}}}},"components/schemas/PurchaseOrder":{"id":"components/schemas/PurchaseOrder","kind":"json-schema","title":"Purchase order","data":{"required":["id","approved_at","line_items","billing_address","shipping_address"],"type":"object","title":"Purchase order","properties":{"id":{"type":"string","format":"uuid","description":"Purchase order ID"},"approved_at":{"$ref":"#/components/schemas/NaiveDateTime"},"sent_at":{"$ref":"#/components/schemas/NaiveDateTime"},"billing_address":{"type":"string","description":"Billing address to be used in the Purchase order"},"purchase_order_number":{"type":"string","description":"Purchase order identifier"},"supplier_purchase_order_number":{"type":"string","description":"Supplier purchase order identifier"},"line_items":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrderLineItem"}},"expected_delivery_at":{"$ref":"#/components/schemas/DateTime"},"notes":{"type":"string","description":"Extra notes"},"shipping_address":{"type":"string","description":"Address for the purchase order to be sent"},"recipient":{"$ref":"#/components/schemas/PurchaseOrderRecipient"},"rfq_id":{"type":"string","format":"uuid"},"sourcing_scenario_id":{"type":"string","format":"uuid"},"shipping_costs":{"allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]}}}},"components/schemas/CreatePurchaseOrdersRequest":{"id":"components/schemas/CreatePurchaseOrdersRequest","kind":"json-schema","title":"CreatePurchaseOrdersRequest","data":{"type":"object","title":"CreatePurchaseOrdersRequest","required":["purchase_order"],"properties":{"purchase_order":{"$ref":"#/components/schemas/PendingPurchaseOrder"}}}},"components/schemas/GetPurchaseOrderResponse":{"id":"components/schemas/GetPurchaseOrderResponse","kind":"json-schema","title":"GetPurchaseOrderResponse","data":{"type":"object","title":"GetPurchaseOrderResponse","required":["pending","created"],"properties":{"pending":{"type":"array","items":{"$ref":"#/components/schemas/PendingPurchaseOrderDraft"}},"created":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOrder"}}}}},"components/schemas/PendingPurchaseOrder":{"id":"components/schemas/PendingPurchaseOrder","kind":"json-schema","title":"PendingPurchaseOrder","data":{"required":["billing_address","recipient","line_items","notes","shipping_address","dispatch_method"],"type":"object","title":"PendingPurchaseOrder","properties":{"sender_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The ID of the User that will send the purchase order."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To obtain a user ID, use this command. You only need to do this once:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"curl 'https://api.luminovo.ai/users/organization' -H 'authorization: Bearer {{token}}'\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"curl 'https://api.luminovo.ai/users/organization' -H 'authorization: Bearer {{token}}'\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note: this endpoint is not part of the public API, so don't make assumptions about its structure."},"children":[]}]}]}]},"approved_at":{"$ref":"#/components/schemas/NaiveDateTime"},"billing_address":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The billing address as a string. e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"123 Main St, San Francisco, CA 94105\""},"children":[]}]}]}]},"recipient":{"$ref":"#/components/schemas/PendingPurchaseOrderRecipient"},"purchase_order_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The ID of the purchase order inside luminovo. If not supplied, this value is autogenerated and has the format "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LUMI-000123"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"line_items":{"type":"array","items":{"$ref":"#/components/schemas/PendingPurchaseOrderLineItem"}},"expected_delivery_at":{"$ref":"#/components/schemas/NaiveDateTime"},"notes":{"type":"string","description":"Extra notes to be added to the purchase order. This are internal notes and will not be dispatched."},"shipping_address":{"type":"string","description":"Address for the purchase order to be sent"},"shipping_costs":{"allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"supplier_purchase_order_number":{"type":"string","description":"If known, enter the supplier purchase order number here. This can be added later."},"dispatch_method":{"type":"object","description":"Use this to specify how the purchase order should be dispatched.\n","oneOf":[{"type":"object","title":"None","required":["type"],"properties":{"type":{"type":"string","enum":["None"]}}},{"$ref":"#/components/schemas/PurchaseOrderEmail"}]}}}},"components/schemas/PendingPurchaseOrderDraft":{"id":"components/schemas/PendingPurchaseOrderDraft","kind":"json-schema","title":"Pending purchase order draft","data":{"required":["line_items","recipient"],"type":"object","title":"Pending purchase order draft","properties":{"line_items":{"type":"array","items":{"$ref":"#/components/schemas/PendingPurchaseOrderLineItem"}},"recipient":{"$ref":"#/components/schemas/PendingPurchaseOrderRecipient"}}}},"components/schemas/Components":{"id":"components/schemas/Components","kind":"json-schema","title":"Components","data":{"type":"array","items":{"$ref":"#/components/schemas/Component"}}},"components/schemas/Component":{"id":"components/schemas/Component","kind":"json-schema","title":"Component","data":{"required":["internal_part_number","component"],"type":"object","title":"Component","properties":{"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumber"},"description":{"type":"string","examples":["470R0_1%_TK100_250mW 1206"],"description":"Describes this component. We try to extract the component's specification from this field as well if given."},"customer_part_numbers":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your customers' numbers referring to this component."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CPNs will be matched to existing customers by their number."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a customer name is also given in the input data, the following cases are handled:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"if the customer does not yet exist, it will be created with the number and name provided."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"if the customer exists but has no name yet, it will be updated with the customer name from the input."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"if the customer exists and also has a name, the input customer name is ignored (i.e. the customer's name will not be updated with the input name)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If only a customer number is given in the input data and a customer by that number does not yet exist, the associated CPN is filtered out and will not be imported."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/CPN"}},"is_restricted_to_customers":{"type":"boolean","examples":[true],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the component is restricted to the customers listed in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_part_numbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a component is restricted, then it is only visible and available in projects for the listed customers."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Beware: if you set it to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_part_numbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is empty you will not be able to use this component in any projects."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Restricting a component is only possible if the component is not currently used in a project by a customer that would violate the new restriction."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"I.e. setting this field to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for an existing component that is currently not restricted (i.e. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") is only allowed if the component is not used at all or only used by customers (defined by their numbers) listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_part_numbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the component is used in projects of customers that are not listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_part_numbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the entire update of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this component is ignored."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Similarly, for an existing restricted component, the set of customers (defined by their numbers) listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_part_numbers"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can only be reduced in a new update if the component is not used by the customer that is being removed from the list of restricted customers."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the component is still in use in a project by a customer that is to be removed from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_part_numbers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the entire update of this component is ignored as well."},"children":[]}]}]}]},"is_preferred":{"type":"boolean","examples":[true],"description":"Whether the component is preferred over other components.\nSetting this flag will add a star icon to the component for easier visibility.\nPreferred components may also get sorted to the top in various places of the product, for example in suggestions.\n"},"component":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The component data."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Caution: it is only possible to change the type of the component (i.e. from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or vice versa) if"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the component is not currently used as a part option in any assembly. Otherwise, the update of the affected component is skipped."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is important to properly differentiate between "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" components in order to get good data quality in Luminovo."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are all electonic components which have a MPN and can be purchased from the electronic parts suppliers."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are all other non-electronic components, such as screws, packaging materials, lables, etc. Also, custom are all electronic components which are not standartized and don't have an MPN."},"children":[]}]}]}]}],"discriminator":{"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/OffTheShelf"},{"$ref":"#/components/schemas/Custom"}]},"origin":{"type":"string","description":"The optional origin this component belongs to. This is useful if you want to upload components from different places separately. Subsequent uploads will only override the components in the same origin.\n\nCaution: If two or more distinct origins are specified in the same upload, the import is considered \"full\" and will remove all components not provided in the upload.\n\nCaution: Importing components without an origin works as before and is still expected to contain all components at once.\n"},"category":{"type":"string","description":"The part category as specified in your system of record (e.g. in your ERP or PLM system). The part category can be used on the Luminovo platform to filter your components and parts.\n"}}}},"components/schemas/OffTheShelf":{"id":"components/schemas/OffTheShelf","kind":"json-schema","title":"OffTheShelf","data":{"type":"object","title":"OffTheShelf","description":"Off-the-shelf components refer to components that have parts (or a specification of them) that can be bought Off-the-shelf (and are not custom made to order).","required":["type","data"],"properties":{"type":{"type":"string","enum":["OffTheShelf"]},"data":{"type":"object","properties":{"specification":{"$ref":"#/components/schemas/Specification"},"parts":{"type":"array","description":"Defines an Off-the-shelf part that can be used for this component. Keep in mind that although no part's fields are required by the spec, either MPN or SPN (but NOT both) MUST be present. A part will be skipped in case it doesnt comply with this.","items":{"$ref":"#/components/schemas/Part"}}}}}}},"components/schemas/Custom":{"id":"components/schemas/Custom","kind":"json-schema","title":"Custom","data":{"type":"object","title":"Custom","description":"A custom component has a custom part that is specifically made for you (e.g. a Label) and cannot be bought Off-the-shelf.","required":["type","data"],"properties":{"type":{"type":"string","enum":["Custom"]},"data":{"type":"object","properties":{"custom_parts":{"type":"array","items":{"$ref":"#/components/schemas/ComponentCustomPart"}}}}}}},"components/schemas/ComponentCustomPart":{"id":"components/schemas/ComponentCustomPart","kind":"json-schema","title":"ComponentCustomPart","data":{"type":"object","required":["part_type"],"properties":{"part_type":{"type":"string","enum":["Mechanical","Plastic","Cable","Packaging","Label","Other"],"examples":["Label"]},"description":{"type":"string","examples":["Custom part description"]},"rohs_compliant":{"type":"string","enum":["NonCompliant","Unknown","NotRequired","CompliantWithExemption","Compliant"],"examples":["Compliant"],"default":"Unknown"},"reach_compliant":{"type":"string","enum":["NonCompliant","Unknown","NotRequired","CompliantWithExemption","Compliant"],"examples":["Compliant"],"default":"Unknown"},"drawing_number":{"type":"string","examples":["ABC-12345-XX-YY-ZZZ"]}}}},"components/schemas/Specification":{"id":"components/schemas/Specification","kind":"json-schema","title":"Specification","data":{"type":"object","description":"Defines the more abstract or technical properties, as well as possible compliance requirements of the component.","properties":{"type":{"type":"string","enum":["BoundToMPNs","Generic"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BoundToMPNs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BoundToMPNs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": this means that component specification is not generic, i.e. the selected parts were carefully selected and are binding."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Generic"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the component is generic. The component is mainly defined either via the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"technical properties in the function and form and fit, or the selected"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parts can be extended as long as the original intent is kept intact."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optionally restricts which manufacturers can be used. If none are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"restricted, then all manufacturers are fine. This is also often referred"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to as manufacturer free."},"children":[]}]}]}]},"form_and_fit":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defines the package for the component. We will try to link a package to this component by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(name, mounting, number_of_pins)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" triplet, and if no package would be found, we will try with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(empty name, mounting, number_of_pins)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" triplet. The linked package will be used as data for manufacturing."},"children":[]}]}]}],"required":["name"],"properties":{"name":{"type":"string","examples":["0603"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The name of the package. E.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0603"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" We interpret names as imperial per default. If you want to refer to a metric packge the suffix "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mm"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be appended. E.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0603mm"},"children":[]}]}]}]},"mounting":{"type":"string","examples":["SMT"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The package's mounting. At the moment we only support "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SMT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"THT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Press Fit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Other"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as values."},"children":[]}]}]}]},"number_of_pins":{"type":"integer","examples":[2],"description":"The package's number of pins.\n","minimum":1}}},"function":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defines the technical function of the component. At the moment we"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only support defining the function for resistors and ceramic"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"capacitors."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For generic components, the function is required for automatic linking of parts."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you do not specify a function, the linking of generic component will not be done automatically."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For numeric fields such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resistance_ohms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"capacitance_farads"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"power_rating_watts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"voltage_rating_volts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the following metric prefixes are supported for deserialization:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"p"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for pico (10^-12)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"n"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for nano (10^-9)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"u"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"µ"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for micro (10^-6)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"m"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for milli (10^-3)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"k"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for kilo (10^3)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"M"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for mega (10^6)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These prefixes allow for concise representation of values. For example, \"10k\" will be interpreted as 10,000 (ten thousand)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure that values are non-negative, as negative values are not supported for these specifications. Additionally,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ranges (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+10%-20%"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted; only single values should be provided for fields like "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tolerance_percent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additionally, neither scientific ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5.31e5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") nor engineering ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"531e3"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") notations are supported."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/Resistor"},{"$ref":"#/components/schemas/Capacitor"}]},"approved_manufacturers":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This data is not yet supported and is ignored during import."},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List of manufacturers that are approved for this Generic component. If empty - all manufacturers are approved."},"children":[]}]}]}],"items":{"type":"string","examples":["Yageo"]}}}}},"components/schemas/Resistor":{"id":"components/schemas/Resistor","kind":"json-schema","title":"Resistor","data":{"type":"object","description":"Defines the specifcation for a resistor.","required":["type","data"],"properties":{"type":{"type":"string","enum":["Resistor"]},"data":{"type":"object","properties":{"resistance_ohms":{"type":"string","examples":["100"]},"power_rating_watts":{"type":"string","examples":["50"]},"tolerance_percent":{"type":"string","examples":["5"]},"voltage_rating_volts":{"type":"string","examples":["10"]},"temperature_coefficient_ppmk":{"type":"string","examples":["200"]}}}}}},"components/schemas/Capacitor":{"id":"components/schemas/Capacitor","kind":"json-schema","title":"Capacitor","data":{"type":"object","description":"Defines the specifcation for a capacitor. We only support ceramic capacitors at the moment.","required":["type","data"],"properties":{"type":{"type":"string","enum":["Capacitor"]},"data":{"type":"object","properties":{"capacitance_farads":{"type":"string","examples":["1e-12"]},"dielectric":{"type":"object","description":"We only support ceramic dielectric materials at the moment.","properties":{"type":{"type":"string","enum":["Ceramic"]},"data":{"type":"string","enum":["X8R","C0G","X7R","X5R","X8L","Y5V","X6S","Z5U","X7S","NP0","Y5U","C0H","Y5R","Y5P","Y5T","U2J","Z5V","Z5P","K4000","X6T","X7T","Z5F"]}}},"tolerance_percent":{"type":"string","examples":["5"]},"voltage_rating_volts":{"type":"string","examples":["10"]}}}}}},"components/schemas/Part":{"id":"components/schemas/Part","kind":"json-schema","title":"Part","data":{"type":"object","oneOf":[{"title":"MPN and manufacturer","required":["mpn"],"properties":{"mpn":{"type":"string","examples":["RC1206FR-10470RL"],"description":"The manufacturer part number of the part. This will be taken together with the manufacturer to match your IPN to a part. The more accurate this information is the higher the likelihood we will be able to match the part."},"manufacturer":{"type":"string","examples":["Yageo"],"description":"The part's manufacturer."}}},{"title":"SPN and supplier","required":["supplier_part_number"],"properties":{"supplier_part_number":{"type":"string","examples":["13-RC1206FR-10470RLTR-ND"],"description":"The supplier part number of the part."},"supplier":{"type":"string","examples":["Arrow"],"description":"The part's supplier."}}}]}},"components/schemas/CPN_2":{"id":"components/schemas/CPN_2","kind":"json-schema","title":"CPN_2","data":{"required":["customer"],"type":"object","properties":{"value":{"type":"string","description":"The customer's part number.","examples":["123-456"]},"revision":{"type":"string","description":"The revision of the customer's part number.","examples":["A"]},"customer":{"$ref":"#/components/schemas/Customer"}}}},"components/schemas/CPN":{"id":"components/schemas/CPN","kind":"json-schema","title":"CPN","data":{"required":["value","customer"],"type":"object","properties":{"value":{"type":"string","description":"The customer's part number.","examples":["123-456"]},"revision":{"type":"string","description":"The revision of the customer's part number.","examples":["A"]},"customer":{"$ref":"#/components/schemas/Customer"}}}},"components/schemas/Customer":{"id":"components/schemas/Customer","kind":"json-schema","title":"Customer","data":{"required":["number"],"type":"object","properties":{"number":{"type":"string","description":"The number of the customer.","examples":["9987"]},"name":{"type":"string","description":"The name of the customer.","examples":["MyOEM"]}}}},"components/schemas/ImportUnitOfMeasurement":{"id":"components/schemas/ImportUnitOfMeasurement","kind":"json-schema","title":"Unit of measurement","data":{"title":"Unit of measurement","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unit of measurement for the unit price, as well as the quantities provided in available_stock and total_stock. If you do not provide this field then it defaults to 1 piece. If the part in your inventory is better measured in a different unit, you can set the unit of measurement here. For example, if your IPN refers to a cable roll, where each roll has 30 meters of cable, you could provide a quantity of 30 and unit of \"Meter\" for the unit_of_measurement. If you then specify your available_stock as 10, we will know that you have 300 meters of cable available. Additionally, if in this case your provided unit price is 20 EUR, then that would mean 20 EUR per 30 meters of cable."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/ImportUnit"}]}},"components/schemas/OfferImportPart":{"id":"components/schemas/OfferImportPart","kind":"json-schema","title":"Part","data":{"title":"Part","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Specification of the part that a given offer or inventory is for. This can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An internal part number (IPN) to identify parts of an ERP component."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The IPN and attached component data needs to be uploaded separately through the components API for the offer or inventory to be accessible."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A manufacturer and manufacturer part number (MPN) to identify an off-the-shelf part."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no match or no unique match can be found for a given manufacturer and MPN, an error is returned for this offer or inventory item."},"children":[]}]}]}]}],"oneOf":[{"$ref":"#/components/schemas/OfferImportInternalPartNumber"},{"$ref":"#/components/schemas/OfferImportManufacturerAndManufacturerPartNumber"}]}},"components/schemas/OfferImportInternalPartNumber":{"id":"components/schemas/OfferImportInternalPartNumber","kind":"json-schema","title":"Internal Part Number","data":{"type":"object","title":"Internal Part Number","properties":{"internal_part_number":{"type":"string","description":"The internal part number used to reference an article in your ERP, also sometimes referred to as article number.","examples":["1000-10"]}},"required":["internal_part_number"]}},"components/schemas/OfferImportManufacturerAndManufacturerPartNumber":{"id":"components/schemas/OfferImportManufacturerAndManufacturerPartNumber","kind":"json-schema","title":"Manufacturer and Manufacturer Part Number","data":{"type":"object","title":"Manufacturer and Manufacturer Part Number","properties":{"manufacturer":{"type":"string","description":"The manufacturer of the part.","examples":["Panasonic"]},"manufacturer_part_number":{"type":"string","description":"The manufacturer part number (MPN) used to identify the part from the given manufacturer. This will be taken together with the manufacturer to match your offer or inventory to a part. The more accurate this information is the higher the likelihood we will be able to match the part.","examples":["ERJ-B2BF1R1V"]}},"required":["manufacturer","manufacturer_part_number"]}},"components/schemas/OffersImport":{"id":"components/schemas/OffersImport","kind":"json-schema","title":"OffersImport","data":{"type":"array","items":{"$ref":"#/components/schemas/OfferImport"},"description":"Offers import"}},"components/schemas/OfferImport":{"id":"components/schemas/OfferImport","kind":"json-schema","title":"Offer","data":{"type":"object","title":"Offer","description":"Offer import","properties":{"part":{"$ref":"#/components/schemas/OfferImportPart"},"supplier":{"$ref":"#/components/schemas/OfferImportSupplier"},"customer":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field can be given if an offer or inventory is restricted to a certain customer. If a customer name is also given in the input data, the following cases are handled:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the customer can be found by number, the customer name will not be updated. 2. If the customer cannot be found by number but it can be found by name, the customer number will be updated to the number provided. 3. If the customer does not yet exist, it will be created only if the number and name are provided."},"children":[]}]}]}]}],"allOf":[{"$ref":"#/components/schemas/Customer"}]},"price_type":{"$ref":"#/components/schemas/OfferImportOfferPriceType"},"prices":{"description":"A list of price breaks for a given offer or inventory. At least one price break needs to be given.","type":"array","items":{"$ref":"#/components/schemas/OfferImportPriceBreak"}},"availability":{"$ref":"#/components/schemas/OfferImportAvailability"},"unit_of_measurement":{"$ref":"#/components/schemas/ImportUnitOfMeasurement"},"packaging":{"title":"Packaging","description":"The packaging for a part in an offer or inventory.","allOf":[{"$ref":"#/components/schemas/Packaging"}]},"valid_until":{"description":"A date until which the given offer is valid.","allOf":[{"$ref":"#/components/schemas/Date"}]},"one_time_costs":{"description":"One-time costs for the offer, e.g. setup costs. This is optional and can be used to provide additional costs that are not covered by the unit price.","allOf":[{"$ref":"#/components/schemas/OfferImportOneTimeCost"}]},"notes":{"description":"Notes for the offer.","type":"string"},"import_context":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional name that groups these offers under an offer import context, making it easy to find offers from the same import later. If no context with this name exists yet, one is created automatically with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApiIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" origin; a name that already exists reuses that context. Contexts can be listed and managed via the Offer Import Context endpoints."},"children":[]}]}]}],"type":"string"}},"required":["part","supplier","prices","availability"]}},"components/schemas/OfferImportOfferPriceType":{"id":"components/schemas/OfferImportOfferPriceType","kind":"json-schema","title":"Price type","data":{"title":"Price type","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The price type of the offer."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This field is optional. If not given, then"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the external supplier case, a list price type is used, and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the internal supplier case, a standard price type is used."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Price Type Meanings:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Standard list price from the supplier (usually the highest price)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contract"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Negotiated contract price (usually better than list price)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quote"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Specific quote price for a particular order or customer"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Purchase"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Purchase price (what you actually paid)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Standard pricing (default pricing)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CustomerNegotiated"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Price specifically negotiated with a customer"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"TargetPrice"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Target price to beat or achieve"},"children":[]}]}]}]}],"type":"string","enum":["List","Contract","Quote","Purchase","Standard","CustomerNegotiated","TargetPrice"]}},"components/schemas/OfferImportPriceBreak":{"id":"components/schemas/OfferImportPriceBreak","kind":"json-schema","title":"Price break","data":{"title":"Price break","type":"object","properties":{"unit_price":{"description":"Price per unit","allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"moq":{"description":"The minimum order quantity (MOQ) for this price break, giving the minimum amount of units that need to be purchased. If not given, 1 is used.","type":"number","format":"double","minimum":0,"exclusiveMinimum":0},"mpq":{"description":"The minimum packaging quantity (MPQ) for this price break, giving the number of multiples In which units can be purchased. If not given, 1 is used.","type":"number","format":"double","minimum":0,"exclusiveMinimum":0}},"required":["unit_price"]}},"components/schemas/OfferImportOneTimeCost":{"id":"components/schemas/OfferImportOneTimeCost","kind":"json-schema","title":"Cost","data":{"title":"Cost","description":"A cost value with description.","type":"object","properties":{"price":{"description":"The cost value.","allOf":[{"$ref":"#/components/schemas/LegacyMonetaryValue"}]},"description":{"description":"A human-readable description of the cost.","type":"string"}}}},"components/schemas/OfferImportAvailability":{"id":"components/schemas/OfferImportAvailability","kind":"json-schema","title":"Availability","data":{"title":"Availability","description":"The availability of an offer or inventory, giving stock values and lead times.","type":"object","properties":{"available_stock":{"description":"The freely available stock in your inventory or at the supplier, that can be used for new projects. This is what will be used for generating solutions in Luminovo.","type":"number","format":"double","minimum":0},"total_stock":{"description":"The total stock in your inventory (including stock already assigned to a different project). This won't be used for generating solutions, but only displayed as an additional info in Luminovo. This value is not used for offers from suppliers.","type":"number","format":"double","minimum":0},"lead_time":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This can be given to provide:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For inventory offers, a standard lead time (in days) that it takes to get new parts in stock in your inventory."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For offers from suppliers, a factory lead time (in days) that it takes for the supplier to replenish their stock"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from the manufacturer."},"children":[]}]}]}]}],"type":"integer","minimum":0},"on_order":{"description":"A list of on-order items, which each give a quantity of units that are on order for a given offer or inventory, with an optional arrival date","type":"array","items":{"$ref":"#/components/schemas/OfferImportOnOrder"}}},"required":["available_stock"]}},"components/schemas/OfferImportOnOrder":{"id":"components/schemas/OfferImportOnOrder","kind":"json-schema","title":"OnOrder","data":{"title":"OnOrder","type":"object","properties":{"quantity":{"type":"number","minimum":0},"date":{"$ref":"#/components/schemas/Date"}},"required":["quantity"]}},"components/schemas/OfferImportSupplier":{"id":"components/schemas/OfferImportSupplier","kind":"json-schema","title":"Supplier","data":{"title":"Supplier","description":"The supplier of an offer, which can be either internal for an inventory offer, or external for an offer from a supplier. The location of the offer may be optionally given either through an inventory site or a stock location of a supplier.","type":"object","properties":{"type":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of the supplier:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Internal"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": for inventory offers"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"External"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": for offers from an external supplier"},"children":[]}]}]}]}],"type":"string","enum":["Internal","External"]},"supplier":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The name of either the inventory site or the external supplier that offers this part. For external suppliers, this is required if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not given. If both are provided, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" will be prioritized. For internal suppliers, a default inventory site is used if neither "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" nor "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are given."},"children":[]}]}]}],"examples":["Mouser"]},"stock_location":{"$ref":"#/components/schemas/ThreeLetterStockLocation","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The stock location of the external supplier identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It is only required to provide "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when more than one stock location exists for the supplier, so that the system knows which one to use."},"children":[]}]}]}]},"supplier_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The supplier number can be used to identify an inventory site or an external supplier by an internal number. For external suppliers, this is required if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not given."},"children":[]}]}]}]},"supplier_part_number":{"type":"string","description":"The number used by the supplier as the stock keeping unit (SKU) for this part.","examples":["667-ERJ-B2BF1R1V"]}},"required":["type"]}},"components/schemas/PostOffersImportResponse":{"id":"components/schemas/PostOffersImportResponse","kind":"json-schema","title":"PostOffersImportResponse","data":{"type":"array","items":{"type":"object","properties":{"part":{"$ref":"#/components/schemas/OfferImportPart"},"key":{"description":"Optional key that can be used to track which request item corresponds to which response item. Echoed back from the request.\n","type":"object"},"status":{"description":"Response status value. 200 for successfully created or updated offer or inventory items, 400 for bad requests, 422 for validation errors.\n","type":"integer","enum":[200,400,422]},"description":{"description":"Human readable status description containing additional context information about the status, e.g. failure description.\n","type":"string"},"error_code":{"description":"Machine-readable error code for categorizing the type of error. Only present when status is not 200.\n","type":"string"}},"required":["status","description"]}}},"components/schemas/ThreeLetterStockLocation":{"id":"components/schemas/ThreeLetterStockLocation","kind":"json-schema","title":"Stock location","data":{"title":"Stock location","description":"The stock location for this offer from an external supplier. If not given, just the supplier name with an unknown stock location is used. The stock location can be specified on a country level through ISO 3166-1 alpha-3 codes or on a region level through English region names. The location is not used for internal suppliers, this should be configured through Luminovo.","type":"string","examples":["USA"],"enum":["World","Africa","Northern Africa","Sub-Saharan Africa","Western Africa","Eastern Africa","Middle Africa","Southern Africa","Americas","Northern America","Latin America and the Caribbean","South America","Central America","Caribbean","Asia","Eastern Asia","Southern Asia","South-eastern Asia","Central Asia","Western Asia","Europe","Southern Europe","Eastern Europe","Northern Europe","Channel Islands","Western Europe","Oceania","Australia and New Zealand","Melanesia","Micronesia","Polynesia","ABW","AFG","AGO","AIA","ALA","ALB","AND","ARE","ARG","ARM","ASM","ATA","ATF","ATG","AUS","AUT","AZE","BDI","BEL","BEN","BES","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR","BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BVT","BWA","CAF","CAN","CCK","CHE","CHL","CHN","CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CXR","CYM","CYP","CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESH","ESP","EST","ETH","FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GGY","GHA","GIB","GIN","GLP","GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUF","GUM","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN","IMN","IND","IOT","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JEY","JOR","JPN","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR","LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA","MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT","MSR","MTQ","MUS","MWI","MYS","MYT","NAM","NCL","NER","NFK","NGA","NIC","NIU","NLD","NOR","NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI","PRK","PRT","PRY","PSE","PYF","QAT","REU","ROU","RUS","RWA","Sark","SAU","SDN","SEN","SGP","SGS","SHN","SJM","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK","SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKL","TKM","TLS","TON","TTO","TUN","TUR","TUV","TWN","TZA","UGA","UKR","UMI","URY","USA","UZB","VAT","VCT","VEN","VGB","VIR","VNM","VUT","WLF","WSM","YEM","ZAF","ZMB","ZWE"]}},"components/schemas/PartOption":{"id":"components/schemas/PartOption","kind":"json-schema","title":"Part option","data":{"required":["internal_part_number"],"type":"object","title":"Part option","properties":{"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumber"}}}},"components/schemas/BomItem":{"id":"components/schemas/BomItem","kind":"json-schema","title":"BOM item","data":{"required":["designators","quantity","unit"],"type":"object","title":"BOM item","properties":{"designators":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true,"description":"The designators for the BOM item. Designators must be unique across the entire assembly. At least one designator must be given.","examples":[["R1","R2"]]},"quantity":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The quantity per designator. I.e. the total quantity of the BOM item is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" x "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"len(designators)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Can be a fractional value. Can't be zero. Can't be negative. If you want to specify that this BOM item is not needed, please set do_not_place."},"children":[]}]}]}],"examples":[1]},"unit":{"type":"string","enum":["Pieces","Kg","Meters","Liters"],"examples":["Pieces"],"description":"The unit the quantity of the BOM item is measured in."},"notes":{"type":"string","examples":["The description of the BOM item"],"description":"Notes for the BOM item."},"do_not_place":{"type":"boolean","examples":[false],"default":false,"description":"A flag to define if the BOM item should not be placed on the assembly."},"sourced_by":{"type":"string","enum":["internal","external"],"default":"internal","examples":["internal"],"description":"Defines the consignment, i.e. if the BOM item should be sourced by an\ninternal or external party (e.g. a customer or EMS).\n"},"part_options":{"type":"array","description":"A part option defines the components that may be used for the BOM item. All part options\nare considered equal alternatives of one another without any preference. All IPNs in part options of a given BomItem should be of either Custom xor OffTheShelf type, mixing both is not allowed.\n","items":{"$ref":"#/components/schemas/PartOption"}}}}},"components/schemas/Subassembly":{"id":"components/schemas/Subassembly","kind":"json-schema","title":"Subassembly","data":{"required":["internal_part_number","quantity"],"type":"object","title":"Subassembly","properties":{"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumber"},"quantity":{"type":"integer","description":"How often the subassembly is required in the assembly.","examples":[1]}}}},"components/schemas/AssemblyBom":{"id":"components/schemas/AssemblyBom","kind":"json-schema","title":"Assembly","data":{"required":["internal_part_number","type"],"type":"object","title":"Assembly","properties":{"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumber"},"customer_part_numbers":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your customers' numbers referring to this assembly."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Due to technical restrictions only the first element of this array is considered."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"That is, only the customer that is named first in this array will be associated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with the assembly in the system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The customer can also be specified on its own, a customer part number (i.e. the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is not required. If the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is provided the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field must also be populated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CPNs will be matched to existing customers by their number."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a customer name is also given in the input data, the following cases are handled:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"if the customer does not yet exist, it will be created with the number and name provided."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"if the customer exists but has no name yet, it will be updated with the customer name from the input."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"if the customer exists and also has a name, the input customer name is ignored (i.e. the customer's name will not be updated with the input name)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If only a customer number is given in the input data and a customer by that number does not yet exist, the associated CPN is filtered out and will not be imported."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/CPN_2"}},"name":{"type":"string","examples":["SUB1500"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The name of the assembly."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"internal_part_number.value - internal_part_number.revision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"notes":{"type":"string","examples":["Some notes"],"description":"Notes for the assembly."},"type":{"type":"string","enum":["PCBA","Cable","Box build","System"],"examples":["PCBA"],"description":"The type of assembly."},"industry":{"type":"string","enum":["Auto","Medical","Defense","Aero","Rail","Industrial","Construction","Consumer","Other"],"examples":["Industrial"],"default":"Other","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The industry this assembly belongs to, defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Other"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"subassemblies":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A list of subassemblies referenced by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"(internal_part_number.value, internal_part_number.revision)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A subassembly is a nested assembly. The same subassemblies may be referenced in multiple"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assemblies. Subassemblies can either be included in the same import request, or reference"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"existing assemblies that were imported via this endpoint earlier."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This allows splitting large imports into multiple smaller requests by first importing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"leaf assemblies, then importing parent assemblies that reference them."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note: Only assemblies created via this API endpoint can be referenced across imports."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manually-created assemblies cannot be used as subassemblies in cross-import references."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No circular references are permitted. That is, an assembly may not be referenced in any of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"its own subassemblies, including across multiple imports."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/Subassembly"}},"bom_items":{"type":"array","description":"A list of BOM items.\nA BOM item defines the common characteristics of one or more design items (identified by\ndesignators).\n","items":{"$ref":"#/components/schemas/BomItem"}}}}},"components/schemas/Assemblies":{"id":"components/schemas/Assemblies","kind":"json-schema","title":"Assemblies","data":{"type":"array","items":{"$ref":"#/components/schemas/AssemblyBom"}}},"components/schemas/InternalPartNumber":{"id":"components/schemas/InternalPartNumber","kind":"json-schema","title":"InternalPartNumber","data":{"type":"object","required":["value"],"properties":{"value":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The internal part number value used to reference an assembly in the ERP system, also sometimes referred to as article number. The tuple of ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") must be unique across all imported assemblies and components."},"children":[]}]}]}],"examples":["1000-0"]},"revision":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The optional revision for an internal part number. Revisions must be unique for the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"examples":["rev1"]}}}},"components/schemas/AssemblyBomResponse":{"id":"components/schemas/AssemblyBomResponse","kind":"json-schema","title":"AssemblyBomResponse","data":{"type":"object","properties":{"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumber"},"description":{"description":"Human readable status description and containing additional context information about failures etc.\n","type":"string","examples":["Human readable status description and containing additional\ncontext information about failures etc.\n"]},"status":{"oneOf":[{"type":"string","title":"Success","enum":["Success"],"description":"The assembly was successfully imported."},{"type":"string","title":"MissingComponents","enum":["MissingComponents"],"description":"The assembly has not been imported because some components referenced as part\noptions are missing.\n\nThat is, they have not yet been uploaded via the components API.\nOnce they have been uploaded via the components API, the assembly import should\nbe performed again so that the previously missing components are successfully referenced.\n"},{"type":"string","title":"MissingSubassemblies","enum":["MissingSubassemblies"],"description":"The assembly has not been imported because some assemblies listed as\nsubassemblies are unknown. They must either be included in the same request,\nor have been previously imported via this endpoint.\n"},{"type":"string","title":"Duplicate","enum":["Duplicate"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The assembly has not been imported because an assembly with the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"internal_part_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revision"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was included in the request."},"children":[]}]}]}]},{"type":"string","title":"CicularReference","enum":["CicularReference"],"description":"The assembly has not been imported because of a circular reference.\nThat is, the same assembly is referenced as a subassembly.\n"},{"type":"string","title":"CircularReferenceWithExistingAssembly","enum":["CircularReferenceWithExistingAssembly"],"description":"The assembly has not been imported because it would create a circular reference\nwith an existing assembly. This assembly is already a descendant of an assembly\nit is trying to reference as a subassembly.\n"},{"type":"string","title":"ExistsInInvalidPath","enum":["ExistsInInvalidPath"],"description":"The assembly is valid but was not imported because it exists in an invalid path.\nEither all of its parents or subassemblies are invalid.\n"},{"type":"string","title":"DuplicateDesignators","enum":["DuplicateDesignators"],"description":"The assembly has not been imported because it contains duplicate designators.\n"},{"type":"string","title":"BomItemsWithNoDesignators","enum":["BomItemsWithNoDesignators"],"description":"The assembly has not been imported because it contains bom items with no designators.\n"},{"type":"string","title":"PartSpecificationTypeContradiction","enum":["PartSpecificationTypeContradiction"],"description":"The assembly has not been imported because because some of the designators use OffTheShelf and Custom components simultaneously. That is not allowed.\n"},{"type":"string","title":"IpnBoundToManualAssembly","enum":["IpnBoundToManualAssembly"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The assembly has not been imported because a manually created assembly with the same internal_part_number and revision already exists."},"children":[]}]}]}]}]}}}},"components/schemas/AssemblyImportResponse":{"id":"components/schemas/AssemblyImportResponse","kind":"json-schema","title":"AssemblyImportResponse","data":{"type":"array","items":{"$ref":"#/components/schemas/AssemblyBomResponse"}}},"components/schemas/IpnIdParts":{"id":"components/schemas/IpnIdParts","kind":"json-schema","title":"IpnIdParts","data":{"type":"object","required":["value"],"properties":{"value":{"type":"string","description":"The internal part number (also known as IPN)."},"revision":{"type":"string","description":"The revision of the internal part number."}}}},"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR":{"id":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR","kind":"json-schema","title":"ApiErrorResponse_NoErrorData_PcbSpecificationExtractionFailed_INTERNAL_SERVER_ERROR","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pcb_specification.extraction_failed"},"children":[]}]}]}],"example":"pcb_specification.extraction_failed"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"500 Internal Server Error"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.6.1"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.6.1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":500,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE":{"id":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE","kind":"json-schema","title":"ApiErrorResponse_NoErrorData_PcbSpecificationExtractionUnavailable_SERVICE_UNAVAILABLE","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pcb_specification.extraction_unavailable"},"children":[]}]}]}],"example":"pcb_specification.extraction_unavailable"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"503 Service Unavailable"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.6.4"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.6.4"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":503,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST":{"id":"components/schemas/ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST","kind":"json-schema","title":"ApiErrorResponse_NoErrorData_PcbSpecificationFileRequired_BAD_REQUEST","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pcb_specification.file_required"},"children":[]}]}]}],"example":"pcb_specification.file_required"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400 Bad Request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.1"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":400,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND":{"id":"components/schemas/ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND","kind":"json-schema","title":"ApiErrorResponse_NoErrorData_SourcingScenarioNotFound_NOT_FOUND","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_scenario.not_found"},"children":[]}]}]}],"example":"sourcing_scenario.not_found"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404 Not Found"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.5"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.5"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":404,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST":{"id":"components/schemas/ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST","kind":"json-schema","title":"ApiErrorResponse_NoErrorData_UnknownError_BAD_REQUEST","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unknown"},"children":[]}]}]}],"example":"unknown"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400 Bad Request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.1"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":400,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/ApiErrorResponse_OfferDeleteConflictOnPublicOfferErrorData_OfferCannotDeletePublicOffTheShelfOffer_CONFLICT":{"id":"components/schemas/ApiErrorResponse_OfferDeleteConflictOnPublicOfferErrorData_OfferCannotDeletePublicOffTheShelfOffer_CONFLICT","kind":"json-schema","title":"ApiErrorResponse_OfferDeleteConflictOnPublicOfferErrorData_OfferCannotDeletePublicOffTheShelfOffer_CONFLICT","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.cannot_delete_public_off_the_shelf_offers"},"children":[]}]}]}],"example":"offer.cannot_delete_public_off_the_shelf_offers"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.10"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.10"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":409,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Data to identify the public offers that cause the conflict error.","required":["public_off_the_shelf_offer_ids"],"properties":{"public_off_the_shelf_offer_ids":{"type":"array","items":{"type":"string"},"description":"The set of public off-the-shelf offer IDs that cause conflicts.\nPublic offers cannot be deleted.","example":["PublicOffTheShelf:97841b03-3f6f-447d-b9b7-c0ddc7c8b1f5"]}}}}}},"components/schemas/ApiErrorResponse_OfferDeleteConflictOnPublicOffer_OfferCannotDeleteRefererencedOffer_CONFLICT":{"id":"components/schemas/ApiErrorResponse_OfferDeleteConflictOnPublicOffer_OfferCannotDeleteRefererencedOffer_CONFLICT","kind":"json-schema","title":"ApiErrorResponse_OfferDeleteConflictOnPublicOffer_OfferCannotDeleteRefererencedOffer_CONFLICT","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.cannot_delete_referenced_offers"},"children":[]}]}]}],"example":"offer.cannot_delete_referenced_offers"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.10"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.10"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":409,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Data to identify the referenced offers that cause the conflict error.","required":["referenced_offer_ids"],"properties":{"referenced_offer_ids":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The set of offer IDs that cause conflicts because they are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"referenced as a selected solution in a sourcing line item."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These can only be deleted if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"force_delete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":["PrivateOffTheShelf:a64151a2-c514-4ca0-b4a2-9a84021ec0f1"]}}}}}},"components/schemas/ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE":{"id":"components/schemas/ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE","kind":"json-schema","title":"ApiErrorResponse_OfferDeletePayloadTooLargeErrorData_OfferDeletePayloadTooLarge_PAYLOAD_TOO_LARGE","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.delete.payload_too_large"},"children":[]}]}]}],"example":"offer.delete.payload_too_large"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"413 Payload Too Large"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.14"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.14"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":413,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Empty object. No data is returned for this error type."}}}},"components/schemas/ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND":{"id":"components/schemas/ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND","kind":"json-schema","title":"ApiErrorResponse_OfferNotFoundErrorData_OfferNotFound_NOT_FOUND","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.not_found"},"children":[]}]}]}],"example":"offer.not_found"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404 Not Found"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.5"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.5"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":404,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Empty object. No data is returned for this error type."}}}},"components/schemas/AssemblyAcceptHeader":{"id":"components/schemas/AssemblyAcceptHeader","kind":"json-schema","title":"AssemblyAcceptHeader","data":{"type":"string","title":"AssemblyAcceptHeader","enum":["application/api.luminovo.assembly-v1+json"]}},"components/schemas/AssemblyCost":{"id":"components/schemas/AssemblyCost","kind":"json-schema","title":"AssemblyCost","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assembly-level cost object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unit prices are for a single unit of the assembly. Total prices are for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the total demanded quantity of the assembly."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All prices always include the cost of the extra material purchased to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cover expected scrap. \"Excess\" is additional material bought beyond the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"required quantity, e.g. forced by supplier minimum order or packaging"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantities: the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"…excluding_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prices cover only the required"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity, the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"…including_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prices cover the quantity actually"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"bought."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invariant: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_price_including_excess = total_price_excluding_excess + excess_material_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["total_price_excluding_excess","unit_price_excluding_excess","total_price_including_excess","unit_price_including_excess","excess_material_cost","scrap_cost","one_time_cost","tco_cost"],"properties":{"total_price_excluding_excess":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"The cost of the material quantity needed (including material to cover\nexpected scrap, and including one-time and TCO costs, but excluding\nexcess material)."}]},"unit_price_excluding_excess":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_price_excluding_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" per unit of this assembly."},"children":[]}]}]}]}]},"total_price_including_excess":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"The cost of the material quantity to be bought: the needed quantity\nplus excess material."}]},"unit_price_including_excess":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_price_including_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" per unit of this assembly."},"children":[]}]}]}]}]},"excess_material_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The cost of the excess material alone: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_price_including_excess - total_price_excluding_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},"scrap_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"The cost of the extra material purchased to cover expected scrap.\nAlready included in all total and unit prices; this field only breaks\nit out."}]},"one_time_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"One-time costs (e.g. setup or tooling costs from offers), independent\nof the demanded quantity. Already included in the totals; this field\nonly breaks them out."}]},"tco_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"Total cost of ownership costs (e.g. packaging, shipping, customs).\nAlready included in the totals; this field only breaks them out."}]}}}},"components/schemas/AssemblyCostAcceptHeader":{"id":"components/schemas/AssemblyCostAcceptHeader","kind":"json-schema","title":"AssemblyCostAcceptHeader","data":{"type":"string","title":"AssemblyCostAcceptHeader","enum":["application/api.luminovo.assembly-cost-v1+json"]}},"components/schemas/AssemblyCostBreakdown":{"id":"components/schemas/AssemblyCostBreakdown","kind":"json-schema","title":"AssemblyCostBreakdown","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The costs of one assembly on one path ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") within one demand of a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sourcing scenario."},"children":[]}]}]}],"required":["assembly","demand","hierarchy","quantity","direct_costs","rolled_up_costs","bom_items"],"properties":{"assembly":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyReference","description":"The assembly this entry is for."},"demand":{"$ref":"#/components/schemas/DemandReference","description":"The demand this entry is for."},"hierarchy":{"$ref":"#/components/schemas/AssemblyHierarchy","description":"Where this assembly sits in the assembly hierarchy of its demand."},"quantity":{"$ref":"#/components/schemas/Quantity","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The total quantity of this assembly on this path (for assemblies,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"typically a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of pieces)."},"children":[]}]}]}]},"direct_costs":{"$ref":"#/components/schemas/AssemblyCost","description":"The costs of this assembly's own BOM items. Includes no costs from children."},"rolled_up_costs":{"$ref":"#/components/schemas/AssemblyCost","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This assembly's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" plus the rolled-up costs of all its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sub-assemblies, accumulated bottom-up: assemblies with no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sub-assemblies roll up only their own direct costs, and every level"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"above adds its own direct costs to the sum of its children's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"rolled-up costs (each child's costs already reflect the child's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity on this path). For a demand-root assembly, this is the full"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cost of the demand."},"children":[]}]}]}]},"bom_items":{"type":"array","items":{"$ref":"#/components/schemas/CostBreakdownBomItem"},"description":"Every BOM item of this assembly, exactly once."}}}},"components/schemas/AssemblyHierarchy":{"id":"components/schemas/AssemblyHierarchy","kind":"json-schema","title":"AssemblyHierarchy","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Where an assembly sits in the assembly hierarchy of its demand."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each demand starts at one root assembly, which may contain sub-assemblies,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which may in turn contain further sub-assemblies. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" describe on which branch of that hierarchy this entry sits. See the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoint description of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GetCostBreakdownForSourcingScenario"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for worked"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"examples."},"children":[]}]}]}],"required":["parent_assembly","path"],"properties":{"parent_assembly":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyReference","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The assembly that directly contains this assembly. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when this"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assembly is the root of its demand, i.e. it is not contained in any"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"other assembly."},"children":[]}]}]}]}]},"path":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyReference"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The route by which this sub-assembly was reached: the chain of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assemblies from the demand root down to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", in order."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This assembly itself is excluded, so the last element (if any) is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"always "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Empty when this assembly is the demand"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"root. The assembly's depth in the hierarchy equals the length of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this path (the demand root has depth 0)."},"children":[]}]}]}]}}}},"components/schemas/AssemblyId":{"id":"components/schemas/AssemblyId","kind":"json-schema","title":"AssemblyId","data":{"type":"string","format":"uuid"}},"components/schemas/AssemblyIdsAcceptHeader":{"id":"components/schemas/AssemblyIdsAcceptHeader","kind":"json-schema","title":"AssemblyIdsAcceptHeader","data":{"type":"string","title":"AssemblyIdsAcceptHeader","enum":["application/api.luminovo.assembly-ids-v1+json"]}},"components/schemas/BomItemDirectCosts":{"id":"components/schemas/BomItemDirectCosts","kind":"json-schema","title":"BomItemDirectCosts","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A sourced BOM item's cost contribution to its assembly's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"…excluding_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" covers the required quantity (including material to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cover expected scrap); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"…including_excess"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" covers the quantity actually"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"bought, which may be larger, e.g. due to supplier minimum order or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"packaging quantities."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Intentionally minimal: unit prices, excess, scrap, one-time, and TCO cost"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"splits may be added in the future."},"children":[]}]}]}],"required":["total_price_excluding_excess","total_price_including_excess"],"properties":{"total_price_excluding_excess":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"The cost of the required quantity."}]},"total_price_including_excess":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue","description":"The cost of the purchased quantity, including excess quantity."}]}}}},"components/schemas/BomItemReference":{"id":"components/schemas/BomItemReference","kind":"json-schema","title":"BomItemReference","data":{"type":"object","description":"A BOM item, identified by its designators.","required":["designators"],"properties":{"designators":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The designators of the design items aggregated into this BOM item"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[\"R7\", \"R11\"]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Designators without a value are omitted, so"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the list can be empty."},"children":[]}]}]}]}}}},"components/schemas/BulkOfferResponse":{"id":"components/schemas/BulkOfferResponse","kind":"json-schema","title":"BulkOfferResponse","data":{"type":"object","description":"Response body for a bulk-offer lookup: the resolved offers plus the IDs\nthat could not be resolved.","required":["items","not_found_ids"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/OfferResponse"},"description":"The offers that were found. Order is not guaranteed and does not\nnecessarily match the request order."},"not_found_ids":{"type":"array","items":{"type":"string"},"description":"Offer IDs that could not be resolved. An ID lands here if it does not\nexist, was deleted, or belongs to a different tenant. Returning these\nexplicitly (rather than silently dropping them) lets callers reconcile\nmissing data without comparing input and output IDs themselves."}}}},"components/schemas/CalculationLineItemId":{"id":"components/schemas/CalculationLineItemId","kind":"json-schema","title":"CalculationLineItemId","data":{"type":"string","format":"uuid"}},"components/schemas/CalculationScenarioId":{"id":"components/schemas/CalculationScenarioId","kind":"json-schema","title":"CalculationScenarioId","data":{"type":"string","format":"uuid"}},"components/schemas/CardinalNumberUnit":{"id":"components/schemas/CardinalNumberUnit","kind":"json-schema","title":"CardinalNumberUnit","data":{"type":"string","enum":["Pieces"]}},"components/schemas/ComponentExportAcceptHeader":{"id":"components/schemas/ComponentExportAcceptHeader","kind":"json-schema","title":"ComponentExportAcceptHeader","data":{"type":"string","title":"ComponentExportAcceptHeader","enum":["application/api.luminovo.component-v1+json"]}},"components/schemas/ComponentLite":{"id":"components/schemas/ComponentLite","kind":"json-schema","title":"ComponentLite","data":{"type":"object","description":"A lightweight reference to an off-the-shelf component identified by the\ntenant's internal part number (IPN).","required":["id","ipn"],"properties":{"id":{"$ref":"#/components/schemas/OffTheShelfComponentId"},"ipn":{"type":"string","description":"The internal part number string (the tenant's own identifier)."},"revision":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The IPN's revision identifier (e.g. \"A\", \"B\", \"1.2\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IPN has no revision, or if the revision could not be resolved at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"response time."},"children":[]}]}]}]}}}},"components/schemas/ComponentRiskAcceptHeader":{"id":"components/schemas/ComponentRiskAcceptHeader","kind":"json-schema","title":"ComponentRiskAcceptHeader","data":{"type":"string","title":"ComponentRiskAcceptHeader","enum":["application/api.luminovo.component-risk-v1+json"]}},"components/schemas/CostBreakdownBomItem":{"id":"components/schemas/CostBreakdownBomItem","kind":"json-schema","title":"CostBreakdownBomItem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A BOM item of an assembly. A sourced BOM item carries costs and the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"purchase options those costs come from; an unsourced one carries neither."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["bom_item","per_assembly_quantity","sourcing_status","direct_costs","purchase_options"],"properties":{"bom_item":{"$ref":"#/components/schemas/BomItemReference","description":"The BOM item, identified by its designators."},"per_assembly_quantity":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Quantity","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pieces of this BOM item per one unit of the assembly it is a part of,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"as specified by the design. Does not include scrap or excess — it is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"purely the quantity needed to build one unit of the assembly."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when the quantity itself could not be determined"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(see the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Error"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" sourcing status)."},"children":[]}]}]}]}]},"sourcing_status":{"$ref":"#/components/schemas/SourcingStatus","description":"Whether the BOM item was sourced, and if not, why."},"direct_costs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BomItemDirectCosts","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This BOM item's contribution to the assembly's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assembly-level costs disaggregated per BOM item, derived from the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"purchase options that source this BOM item. Populated only when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Sourced"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},"purchase_options":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOption"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The purchase options this BOM item's costs come from, joinable to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /sourcing-scenarios/{id}/purchase-options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Empty"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unless "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Sourced"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Modeled as a list because a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOM item's demand can in principle be split across several offers; at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the moment it always contains exactly one entry for sourced items,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"since multi-offer sourcing is not supported yet."},"children":[]}]}]}]}}}},"components/schemas/CostedBomAcceptHeader":{"id":"components/schemas/CostedBomAcceptHeader","kind":"json-schema","title":"CostedBomAcceptHeader","data":{"type":"string","title":"CostedBomAcceptHeader","enum":["application/api.luminovo.costed-bom-v1+json"]}},"components/schemas/CurrencyCode":{"id":"components/schemas/CurrencyCode","kind":"json-schema","title":"CurrencyCode","data":{"type":"string","enum":["EUR","USD","AUD","BGN","BRL","CAD","CHF","CNY","CZK","DKK","GBP","HKD","HRK","HUF","IDR","ILS","INR","ISK","JPY","KRW","MXN","MYR","NOK","NZD","PHP","PLN","RON","RUB","SEK","SGD","THB","TND","TRY","ZAR","TWD","VND","LKR","MAD"]}},"components/schemas/CustomComponentId":{"id":"components/schemas/CustomComponentId","kind":"json-schema","title":"CustomComponentId","data":{"type":"string"}},"components/schemas/CustomComponentLite":{"id":"components/schemas/CustomComponentLite","kind":"json-schema","title":"CustomComponentLite","data":{"type":"object","description":"A lightweight reference to a custom component identified by the tenant's\ninternal part number (IPN).","required":["id","ipn"],"properties":{"id":{"$ref":"#/components/schemas/CustomComponentId"},"ipn":{"type":"string","description":"The internal part number string (the tenant's own identifier)."},"revision":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The IPN's revision identifier (e.g. \"A\", \"B\", \"1.2\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IPN has no revision, or if the revision could not be resolved at"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"response time."},"children":[]}]}]}]}}}},"components/schemas/CustomPartAcceptHeader":{"id":"components/schemas/CustomPartAcceptHeader","kind":"json-schema","title":"CustomPartAcceptHeader","data":{"type":"string","title":"CustomPartAcceptHeader","enum":["application/api.luminovo.custom-part-v1+json"]}},"components/schemas/CustomPartId":{"id":"components/schemas/CustomPartId","kind":"json-schema","title":"CustomPartId","data":{"type":"string","format":"uuid"}},"components/schemas/CustomPartLite":{"id":"components/schemas/CustomPartLite","kind":"json-schema","title":"CustomPartLite","data":{"type":"object","description":"A lightweight reference to a custom part: a part that is custom-manufactured\nor specifically engineered for a project (e.g. a PCB, a custom mechanical\npart, a custom cable assembly).\n\nCustom parts are identified by an internal specification rather than an MPN.","required":["id","custom_part_type"],"properties":{"id":{"$ref":"#/components/schemas/CustomPartId","description":"The custom part specification's unique identifier inside Luminovo."},"description":{"type":["string","null"],"description":"Free-text description of the custom part."},"custom_part_type":{"$ref":"#/components/schemas/types.custom_part.v1.CustomPartType","description":"The kind of custom part (PCB, Mechanical, Plastic, Cable, ...)."}}}},"components/schemas/CustomPartOfferAcceptHeader":{"id":"components/schemas/CustomPartOfferAcceptHeader","kind":"json-schema","title":"CustomPartOfferAcceptHeader","data":{"type":"string","title":"CustomPartOfferAcceptHeader","enum":["application/api.luminovo.custom-part-offer-v1+json"]}},"components/schemas/CustomPartOfferData":{"id":"components/schemas/CustomPartOfferData","kind":"json-schema","title":"CustomPartOfferData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The payload of a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"custom-part"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" offer ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind = CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"): a priced"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"option for buying a custom-manufactured part from a specific source."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unlike a standard-part offer, a custom-part offer has no offer-level"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": lead time is reported per price-break tier"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks.*.lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") because fulfillment time for custom parts"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"depends on the order quantity."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifier format."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the colon-separated opaque form"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom:7e1c2a8f-..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Treat it as an opaque string"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"— its internal structure may change."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unit of measurement."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" defines what one offer unit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"represents. All quantities elsewhere in the offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks.*.minimum_*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are expressed in those offer units."},"children":[]}]}]}],"required":["id","linked_part","linked_location","unit_of_measurement","supplier_part_number","price_breaks","one_time_costs","valid_from","valid_until","creation_date"],"properties":{"id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The offer's unique identifier in the opaque colon-separated form"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom:7e1c2a8f-..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Treat this value as an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"opaque string — its internal structure may change."},"children":[]}]}]}]},"linked_part":{"$ref":"#/components/schemas/CustomPartOfferLinkedPart","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The custom part this offer is for. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to tell"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"whether it is a custom-part specification or an Internal Part Number"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(the tenant's own identifier for that custom component)."},"children":[]}]}]}]},"linked_location":{"$ref":"#/components/schemas/LinkedLocation","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Where this offer is sourced from. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_location.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to tell"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which kind of source it is: an external "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" branch (orders"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"become purchase orders to that supplier) or an internal "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventorySite"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(orders become stock transfers from a warehouse the tenant owns)."},"children":[]}]}]}]},"unit_of_measurement":{"$ref":"#/components/schemas/Quantity","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defines what one offer unit represents. All quantities elsewhere in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this offer ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks.*.minimum_*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are expressed in these offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units."},"children":[]}]}]}]},"supplier_part_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The supplier's own part number for this item (sometimes called \"SPN\""},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or \"vendor part number\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier didn't provide one."},"children":[]}]}]}]},"offer_number":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The supplier's quote or offer reference number — typically from"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"their RFQ / quotation system (e.g. \"RFQ-2026-0042\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer has no associated quote reference."},"children":[]}]}]}]},"price_type":{"oneOf":[{"type":"null"},{"type":"string","enum":["PurchasePrice","ListPrice","ContractPrice","QuotePrice","StandardPrice","CustomerNegotiatedPrice","TargetPrice"]}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of pricing this offer represents — e.g. quote price (one-off"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFQ response), contract price, or customer-negotiated price. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the pricing type is not tracked."},"children":[]}]}]}]},"price_breaks":{"type":"array","items":{"$ref":"#/components/schemas/CustomPartPriceBreak"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity-based pricing tiers, each carrying quantity, unit price, and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"its own production "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Quantities and prices are in offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units. The order of tiers is not guaranteed — clients should sort by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minimum_order_quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if order matters."},"children":[]}]}]}]},"one_time_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.OneTimeCost"},"description":"Non-recurring costs associated with this offer (e.g. tooling, NRE,\nsetup fees). Empty array if none."},"valid_from":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the offer's validity window. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the offer has no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"explicit start date and is considered valid from creation. Date only,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no timezone."},"children":[]}]}]}]},"valid_until":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the offer's validity window — after this date the offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"should no longer be honoured. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the offer has no explicit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry. Date only, no timezone."},"children":[]}]}]}]},"cancellation_policy":{"oneOf":[{"type":"null"},{"type":"object","required":["cancellation_window"],"properties":{"cancellation_window":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Duration"},"is_non_cancellable_non_returnable":{"type":["boolean","null"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Terms governing cancellation and returns once an order has been"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"placed against this offer: the time window during which the order"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can still be cancelled, plus an optional non-cancellable /"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-returnable (NCNR) flag. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not specify"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"these terms."},"children":[]}]}]}]},"notes":{"type":["string","null"],"description":"Free-text notes about the offer (e.g. \"Pricing valid for revision A\nonly\")."},"creation_date":{"type":"string","format":"date-time","description":"When this offer was first created in Luminovo (ISO 8601 with timezone)."}}}},"components/schemas/CustomPartOfferLinkedPart":{"id":"components/schemas/CustomPartOfferLinkedPart","kind":"json-schema","title":"CustomPartOfferLinkedPart","data":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/CustomPartLite","description":"A custom-manufactured part (PCB, mechanical, etc.)."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["CustomPart"]}}}],"title":"CustomPart","description":"A custom-manufactured part (PCB, mechanical, etc.)."},{"allOf":[{"$ref":"#/components/schemas/InternalPartNumberLite","description":"A part identified by the tenant's internal part number."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["InternalPartNumber"]}}}],"title":"InternalPartNumber","description":"A part identified by the tenant's internal part number."}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The part a custom-part offer is for, in a lightweight form suitable for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"embedding inside offer responses. Use the dedicated part endpoints for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"full details (e.g. specifications, datasheet links, alternates)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" offer, so the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is one of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a part that is custom-manufactured or specifically"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"engineered for a project (PCB, mechanical, cable, ...)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the tenant's own internal identifier for a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"custom component."},"children":[]}]}]}]}]}},"components/schemas/CustomPartPriceBreak":{"id":"components/schemas/CustomPartPriceBreak","kind":"json-schema","title":"CustomPartPriceBreak","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A pricing tier for a custom-part offer. Each tier carries its own"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" because fulfillment timelines for custom parts typically"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"vary with order quantity (larger orders take longer to produce)."},"children":[]}]}]}],"required":["minimum_order_quantity","minimum_packaging_quantity","unit_price"],"properties":{"minimum_order_quantity":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Smallest order quantity at which this tier's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" apply, in offer units (also known as MOQ — Minimum"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order Quantity)."},"children":[]}]}]}]},"minimum_packaging_quantity":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Packaging increment for orders at this tier, in offer units — orders"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"must be a multiple of this value (also known as MPQ — Minimum"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Packaging Quantity, or \"order multiple\")."},"children":[]}]}]}]},"unit_price":{"$ref":"#/components/schemas/MonetaryValue","description":"Price per one offer unit, in the offer's original currency."},"lead_time":{"oneOf":[{"type":"null"},{"type":"object","required":["unit","value"],"properties":{"unit":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.CancellationWindowDuration"},"value":{"type":"number","format":"double"}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Production lead time for an order placed at this tier — how long"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the factory needs to manufacture and ship the requested quantity."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if no lead time was specified for this tier (e.g. immediate"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"availability or unknown)."},"children":[]}]}]}]},"description":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Free-text description for this tier (e.g. \"Standard turnaround\","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"Includes accelerated tooling\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if not provided."},"children":[]}]}]}]}}}},"components/schemas/CustomPartResourceAcceptHeader":{"id":"components/schemas/CustomPartResourceAcceptHeader","kind":"json-schema","title":"CustomPartResourceAcceptHeader","data":{"type":"string","title":"CustomPartResourceAcceptHeader","enum":["application/api.luminovo.custom-part-resource-v1+json"]}},"components/schemas/CustomPartSpecificationId":{"id":"components/schemas/CustomPartSpecificationId","kind":"json-schema","title":"CustomPartSpecificationId","data":{"type":"string","format":"uuid"}},"components/schemas/CustomerAcceptHeader":{"id":"components/schemas/CustomerAcceptHeader","kind":"json-schema","title":"CustomerAcceptHeader","data":{"type":"string","title":"CustomerAcceptHeader","enum":["application/api.luminovo.customer-v1+json"]}},"components/schemas/CustomerUserAcceptHeader":{"id":"components/schemas/CustomerUserAcceptHeader","kind":"json-schema","title":"CustomerUserAcceptHeader","data":{"type":"string","title":"CustomerUserAcceptHeader","enum":["application/api.luminovo.customer-user-v1+json"]}},"components/schemas/DemandAcceptHeader":{"id":"components/schemas/DemandAcceptHeader","kind":"json-schema","title":"DemandAcceptHeader","data":{"type":"string","title":"DemandAcceptHeader","enum":["application/api.luminovo.demand-v1+json"]}},"components/schemas/DemandCreationRequest":{"id":"components/schemas/DemandCreationRequest","kind":"json-schema","title":"DemandCreationRequest","data":{"type":"object","required":["items","context"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.demand.v1.DemandCreationRequestItem"}},"context":{"type":"string","description":"The context field is a string that provides additional information about where the demand originated from or its purpose.\nIt's required for most demand creation requests (except for sourcing scenarios)."}}}},"components/schemas/DemandId":{"id":"components/schemas/DemandId","kind":"json-schema","title":"DemandId","data":{"type":"string","format":"uuid"}},"components/schemas/DemandReference":{"id":"components/schemas/DemandReference","kind":"json-schema","title":"DemandReference","data":{"oneOf":[{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/DemandId"},"type":{"type":"string","enum":["Assembly"]}}}],"description":"The demand a cost breakdown entry is for. Currently always an assembly\ndemand; further demand kinds may be added in the future."}},"components/schemas/DesignItemId":{"id":"components/schemas/DesignItemId","kind":"json-schema","title":"DesignItemId","data":{"type":"string","format":"uuid"}},"components/schemas/FlexibleCalculationAcceptHeader":{"id":"components/schemas/FlexibleCalculationAcceptHeader","kind":"json-schema","title":"FlexibleCalculationAcceptHeader","data":{"type":"string","title":"FlexibleCalculationAcceptHeader","description":"Accept header for flexible calculation endpoints.\n\nVersion v0 indicates an unstable API contract. Breaking changes may be\nintroduced without a version bump. Once the API stabilises, it will be\npromoted to v1.","enum":["application/api.luminovo.flexible-calculation-v0+json"]}},"components/schemas/GetCostBreakdownForSourcingScenarioResponse":{"id":"components/schemas/GetCostBreakdownForSourcingScenarioResponse","kind":"json-schema","title":"GetCostBreakdownForSourcingScenarioResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response body for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /sourcing-scenarios/{id}/cost-breakdown"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["assembly_costs"],"properties":{"assembly_costs":{"type":"array","items":{"$ref":"#/components/schemas/AssemblyCostBreakdown"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The cost breakdown of the sourcing scenario as a flat list of assembly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"entries — one for every path to each assembly in each demand's assembly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"hierarchy, so an assembly reachable by several paths appears once per path. Use"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hierarchy"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parent_assembly"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") to reconstruct the assembly hierarchy."},"children":[]}]}]}]}}}},"components/schemas/GetOffersByIdInput":{"id":"components/schemas/GetOffersByIdInput","kind":"json-schema","title":"GetOffersByIdInput","data":{"type":"object","description":"Request body for the bulk-offer-lookup endpoint.","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The offer IDs to look up (colon-separated opaque strings as returned"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by other endpoints). IDs that do not resolve will appear in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"response's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list."},"children":[]}]}]}]}}}},"components/schemas/GetOffersByPartInput":{"id":"components/schemas/GetOffersByPartInput","kind":"json-schema","title":"GetOffersByPartInput","data":{"type":"object","description":"Request body for the offer by part lookup endpoint.","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The part IDs to find offers for, as colon-separated opaque strings in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the form "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:<id>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf:a1b2c3d4-..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomComponent:IPN-001234"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). These are the same values returned as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on an offer and by the part endpoints. IDs that do not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"resolve (wrong tenant, deleted, or non-existent) are returned in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"response's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found_ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" list rather than failing the whole request."},"children":[]}]}]}],"example":["OffTheShelf:a1b2c3d4-5678-90ab-cdef-123456789012","CustomComponent:IPN-001234"]}}}},"components/schemas/GetOffersByPartResponse":{"id":"components/schemas/GetOffersByPartResponse","kind":"json-schema","title":"GetOffersByPartResponse","data":{"type":"object","description":"Response body for the offer by part lookup endpoint: the offers grouped by\npart, plus the part IDs that could not be resolved.","required":["items","not_found_ids"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/GetOffersByPartResponseItem"},"description":"One entry per resolved part, each carrying that part's offers. Order is\nnot guaranteed and does not necessarily match the request order."},"not_found_ids":{"type":"array","items":{"type":"string"},"description":"Part IDs that could not be resolved (wrong tenant, deleted, or\nnon-existent). Returned explicitly so callers can reconcile missing\ndata without comparing input and output IDs themselves."}}}},"components/schemas/GetOffersByPartResponseItem":{"id":"components/schemas/GetOffersByPartResponseItem","kind":"json-schema","title":"GetOffersByPartResponseItem","data":{"type":"object","description":"The offers found for a single requested part.","required":["id","offers"],"properties":{"id":{"type":"string","description":"The part these offers are for, echoed back from the request."},"offers":{"type":"array","items":{"$ref":"#/components/schemas/OfferResponse"},"description":"The offers found for this part. Empty if the part has no offers."}}}},"components/schemas/GetPnpParams":{"id":"components/schemas/GetPnpParams","kind":"json-schema","title":"GetPnpParams","data":{"type":"object","required":["assembly_id"],"properties":{"assembly_id":{"$ref":"#/components/schemas/AssemblyId","description":"The assembly ID to get PnP items for."}}}},"components/schemas/GetPurchaseOptionsForSourcingScenarioResponse":{"id":"components/schemas/GetPurchaseOptionsForSourcingScenarioResponse","kind":"json-schema","title":"GetPurchaseOptionsForSourcingScenarioResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response body for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /sourcing-scenarios/{id}/purchase-options"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["purchase_options"],"properties":{"purchase_options":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseOption"},"description":"The purchase options for the sourcing scenario. Each entry represents\none offer selected by the sourcing engine with its determined order\nquantity and the sourcing line items it fulfills."}}}},"components/schemas/HashMap_Option_types.assembly.assembly_manufacturing_data.export.v1.NaiveTime":{"id":"components/schemas/HashMap_Option_types.assembly.assembly_manufacturing_data.export.v1.NaiveTime","kind":"json-schema","title":"HashMap_Option_types.assembly.assembly_manufacturing_data.export.v1.NaiveTime","data":{"type":"object","additionalProperties":{"oneOf":[{"type":"null"},{"type":"string","format":"time"}]},"propertyNames":{"type":"integer","format":"int32"}}},"components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost":{"id":"components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost","kind":"json-schema","title":"HashMap_types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost","data":{"type":"object","additionalProperties":{"type":"object","properties":{"total_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair"}]},"effective_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair"}]}}},"propertyNames":{"type":"integer","format":"int32"}}},"components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost":{"id":"components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost","kind":"json-schema","title":"HashMap_types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost","data":{"type":"object","additionalProperties":{"type":"object","properties":{"variable_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}]},"fixed_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}]},"total_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair"}]}}},"propertyNames":{"type":"integer","format":"int32"}}},"components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown":{"id":"components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown","kind":"json-schema","title":"HashMap_types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown","data":{"type":"object","additionalProperties":{"type":"object","required":["total_unit_time","total_batch_time","total_unit_cost","total_batch_cost","total_project_cost","total_effective_unit_cost","total_effective_batch_cost"],"properties":{"total_unit_time":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.NaiveTime"},"total_batch_time":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.NaiveTime"},"total_unit_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_batch_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_project_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_effective_unit_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_effective_batch_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}}},"propertyNames":{"type":"integer","format":"int32"}}},"components/schemas/InternalPartNumberIdentifiers":{"id":"components/schemas/InternalPartNumberIdentifiers","kind":"json-schema","title":"InternalPartNumberIdentifiers","data":{"type":"object","required":["value"],"properties":{"value":{"type":"string"},"revision":{"type":["string","null"]}}}},"components/schemas/InternalPartNumberLite":{"id":"components/schemas/InternalPartNumberLite","kind":"json-schema","title":"InternalPartNumberLite","data":{"oneOf":[{"$ref":"#/components/schemas/ComponentLite","description":"An off-the-shelf component identified by the tenant's internal part number."},{"$ref":"#/components/schemas/CustomComponentLite","description":"A custom component identified by the tenant's internal part number."}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A lightweight reference to an Internal Part Number (IPN) — the tenant's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"own internal identifier for a part, independent of any specific manufacturer."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IPNs typically map to one or more off-the-shelf parts (approved alternates)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An IPN either refers to an off-the-shelf component ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Component"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or a custom"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"component ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomComponent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The two share the exact same shape and are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"distinguished only by the prefix of their "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"components/schemas/InventorySiteLocation":{"id":"components/schemas/InventorySiteLocation","kind":"json-schema","title":"InventorySiteLocation","data":{"type":"object","description":"An internal inventory site (e.g. a warehouse). Used for inventory offers\nwhere the stock is owned by the tenant rather than an external supplier.","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"The site's unique identifier."},"name":{"type":"string","description":"The site's display name (e.g. \"Main Warehouse Munich\")."},"number":{"type":["string","null"],"description":"The tenant's internal number for this site (e.g. an ERP site code)."}}}},"components/schemas/LinkedLocation":{"id":"components/schemas/LinkedLocation","kind":"json-schema","title":"LinkedLocation","data":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/Supplier","description":"An external supplier branch (e.g. Mouser Europe, Arrow Asia,\nDigi-Key, or a direct manufacturer)."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Supplier"]}}}],"title":"Supplier","description":"An external supplier branch (e.g. Mouser Europe, Arrow Asia,\nDigi-Key, or a direct manufacturer)."},{"allOf":[{"$ref":"#/components/schemas/InventorySiteLocation","description":"An internal inventory site (e.g. a warehouse)."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["InventorySite"]}}}],"title":"InventorySite","description":"An internal inventory site (e.g. a warehouse)."}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Where an offer is sourced from."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field discriminates between the two kinds of sources:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an external supplier branch (distributor or manufacturer)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Orders placed against this offer become purchase orders to that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplier."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventorySite"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an internal inventory site (warehouse) owned by the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tenant. Orders placed against this offer become stock transfers."},"children":[]}]}]}]}]}},"components/schemas/ManufacturerLite":{"id":"components/schemas/ManufacturerLite","kind":"json-schema","title":"ManufacturerLite","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A lightweight reference to a manufacturer: just its ID and display name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is included in the lightweight "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelfPartLite"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" representation"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"so that consumers don't need a separate lookup to render a human-readable"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"manufacturer name (e.g. \"Yageo\", \"Murata\")."},"children":[]}]}]}],"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"The manufacturer's unique identifier."},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The manufacturer's display name (e.g. \"Yageo\", \"Murata\","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"TE Connectivity\"). Empty string if the manufacturer record could not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"be resolved at response time — match by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead in that case."},"children":[]}]}]}]}}}},"components/schemas/ManufacturingDataExportAcceptHeader":{"id":"components/schemas/ManufacturingDataExportAcceptHeader","kind":"json-schema","title":"ManufacturingDataExportAcceptHeader","data":{"type":"string","title":"ManufacturingDataExportAcceptHeader","enum":["application/api.luminovo.assembly.manufacturing-data.export-v1+json"]}},"components/schemas/ManufacturingResourceAcceptHeader":{"id":"components/schemas/ManufacturingResourceAcceptHeader","kind":"json-schema","title":"ManufacturingResourceAcceptHeader","data":{"type":"string","title":"ManufacturingResourceAcceptHeader","enum":["application/api.luminovo.manufacturing.resource-v1+json"]}},"components/schemas/ManufacturingScenarioTemplateInstanceId":{"id":"components/schemas/ManufacturingScenarioTemplateInstanceId","kind":"json-schema","title":"ManufacturingScenarioTemplateInstanceId","data":{"type":"string","format":"uuid"}},"components/schemas/MonetaryValue":{"id":"components/schemas/MonetaryValue","kind":"json-schema","title":"MonetaryValue","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A monetary value: an exact decimal "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"amount"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" plus its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"currency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"amount\": \"12.50\", \"currency\": \"EUR\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means \"12.50 euros\"."},"children":[]}]}]}],"required":["amount","currency"],"properties":{"amount":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The amount of money, encoded as a decimal string (not a JSON number)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to preserve precision, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"12.50\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"0.003\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"currency":{"$ref":"#/components/schemas/CurrencyCode","description":"The ISO 4217 code of the currency the amount is denominated in."}},"example":{"amount":"12.50","currency":"EUR"}}},"components/schemas/OffTheShelfComponentId":{"id":"components/schemas/OffTheShelfComponentId","kind":"json-schema","title":"OffTheShelfComponentId","data":{"type":"string"}},"components/schemas/OffTheShelfPartId":{"id":"components/schemas/OffTheShelfPartId","kind":"json-schema","title":"OffTheShelfPartId","data":{"type":"string","format":"uuid"}},"components/schemas/OffTheShelfPartLite":{"id":"components/schemas/OffTheShelfPartLite","kind":"json-schema","title":"OffTheShelfPartLite","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A lightweight reference to an off-the-shelf (catalog) part: a part that is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uniquely identified by its manufacturer + manufacturer part number (MPN)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Examples: a specific resistor, capacitor, or IC available from distributors"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"like Mouser, Digi-Key, Arrow, etc."},"children":[]}]}]}],"required":["id","mpn","manufacturer"],"properties":{"id":{"$ref":"#/components/schemas/OffTheShelfPartId","description":"The part's unique identifier inside Luminovo."},"mpn":{"type":"string","description":"Manufacturer Part Number (e.g. \"RC0402FR-0710KL\")."},"manufacturer":{"$ref":"#/components/schemas/ManufacturerLite","description":"The manufacturer of this part (ID and name)."}}}},"components/schemas/OfferAcceptHeader":{"id":"components/schemas/OfferAcceptHeader","kind":"json-schema","title":"OfferAcceptHeader","data":{"type":"string","title":"OfferAcceptHeader","enum":["application/api.luminovo.offer-v1+json"]}},"components/schemas/OfferAvailability":{"id":"components/schemas/OfferAvailability","kind":"json-schema","title":"OfferAvailability","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stock and lead-time information for a standard-part offer. Custom-part"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offers do not have this field — they report lead time per price-break tier"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"instead (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPartPriceBreak.lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"properties":{"factory_lead_time":{"oneOf":[{"type":"null"},{"type":"object","required":["unit","value"],"properties":{"unit":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.CancellationWindowDuration"},"value":{"type":"number","format":"double"}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time the factory needs to produce additional stock once the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immediately-available "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" has run out (also known as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"manufacturing lead time\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not report it."},"children":[]}]}]}]},"factory_quantity":{"type":["number","null"],"format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity the factory can produce on top of immediately-available"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (in offer units), if reported by the supplier. Independent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not report it."},"children":[]}]}]}]},"stock":{"oneOf":[{"type":"null"},{"oneOf":[{"type":"object","title":"Weight","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A weight, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WeightUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Grams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milligrams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pounds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/WeightUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Weight"]}}},{"type":"object","title":"Length","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A length, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LengthUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Centimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Millimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Feet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Inches"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/QuantityLengthUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Length"]}}},{"type":"object","title":"Volume","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A volume, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VolumeUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Liters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milliliters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsFluidOunces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsGallons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsPints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/VolumeUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Volume"]}}},{"type":"object","title":"Number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A count of discrete items, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CardinalNumberUnit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(currently just "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pieces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). This is the most common quantity for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"electronic components — e.g. \"5000 pieces on a reel\"."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/CardinalNumberUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Number"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A measured quantity with an explicit dimension and unit."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discriminated by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which selects the dimension ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Length"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Volume"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each variant then carries a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units valid for that dimension — e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the magnitude, encoded as a decimal string to preserve"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"precision)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Number\", \"unit\": \"Pieces\", \"value\": \"5000\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5000 pieces\"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5 meters\"."},"children":[]}]}]}],"example":{"type":"Number","unit":"Pieces","value":"5000"}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity immediately available from the supplier's warehouse (or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from the inventory site, for inventory offers), expressed in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not report"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"stock."},"children":[]}]}]}]}}}},"components/schemas/OfferDeleteConflictOnPublicOffer":{"id":"components/schemas/OfferDeleteConflictOnPublicOffer","kind":"json-schema","title":"OfferDeleteConflictOnPublicOffer","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.cannot_delete_public_off_the_shelf_offers"},"children":[]}]}]}],"example":"offer.cannot_delete_public_off_the_shelf_offers"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.10"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.10"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":409,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Data to identify the public offers that cause the conflict error.","required":["public_off_the_shelf_offer_ids"],"properties":{"public_off_the_shelf_offer_ids":{"type":"array","items":{"type":"string"},"description":"The set of public off-the-shelf offer IDs that cause conflicts.\nPublic offers cannot be deleted.","example":["PublicOffTheShelf:97841b03-3f6f-447d-b9b7-c0ddc7c8b1f5"]}}}}}},"components/schemas/OfferDeleteConflictOnReferencedOfferErrorResponse":{"id":"components/schemas/OfferDeleteConflictOnReferencedOfferErrorResponse","kind":"json-schema","title":"OfferDeleteConflictOnReferencedOfferErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.cannot_delete_referenced_offers"},"children":[]}]}]}],"example":"offer.cannot_delete_referenced_offers"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.10"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.10"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":409,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Data to identify the referenced offers that cause the conflict error.","required":["referenced_offer_ids"],"properties":{"referenced_offer_ids":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The set of offer IDs that cause conflicts because they are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"referenced as a selected solution in a sourcing line item."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These can only be deleted if "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"force_delete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":["PrivateOffTheShelf:a64151a2-c514-4ca0-b4a2-9a84021ec0f1"]}}}}}},"components/schemas/OfferDeletePayloadTooLargeErrorResponse":{"id":"components/schemas/OfferDeletePayloadTooLargeErrorResponse","kind":"json-schema","title":"OfferDeletePayloadTooLargeErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.delete.payload_too_large"},"children":[]}]}]}],"example":"offer.delete.payload_too_large"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"413 Payload Too Large"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.14"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.14"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":413,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Empty object. No data is returned for this error type."}}}},"components/schemas/OfferDeleteRequest":{"id":"components/schemas/OfferDeleteRequest","kind":"json-schema","title":"OfferDeleteRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The offer IDs that should be deleted."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the opaque offer IDs as returned by other endpoints such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/find"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string"},"description":"The set of offer IDs to be deleted.","example":["PrivateOffTheShelf:5e3fbd0b-5b61-46ac-9b93-36e2fc76d69b","Custom:220a0cb7-7163-4235-b8b8-472b6f2e137c"]}}}},"components/schemas/OfferDeleteSuccessResponse":{"id":"components/schemas/OfferDeleteSuccessResponse","kind":"json-schema","title":"OfferDeleteSuccessResponse","data":{"type":"object","description":"The offer deletion has been successful.\nIncludes the set of offer IDs for offers that were actually deleted.\nThis is a subset of the input offer IDs.\nOffer IDs that were not deleted because the offer didn't exist are absent.","required":["deleted_ids"],"properties":{"deleted_ids":{"type":"array","items":{"type":"string"},"description":"The set of IDs that were actually deleted. Requested IDs that did\nnot exist are absent, which makes the operation idempotent.","example":["PrivateOffTheShelf:f879beea-a554-4fd0-ab34-ee5d3bf0f0e2"]}}}},"components/schemas/OfferIdV2":{"id":"components/schemas/OfferIdV2","kind":"json-schema","title":"OfferIdV2","data":{"oneOf":[{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Market offer for a catalog part. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["PublicOffTheShelf"],"properties":{"PublicOffTheShelf":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Market offer for a catalog part. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tenant-private offer for a catalog part (e.g. a contract or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"negotiated price the tenant maintains directly). Serialized kind:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PrivateOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["PrivateOffTheShelf"],"properties":{"PrivateOffTheShelf":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tenant-private offer for a catalog part (e.g. a contract or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"negotiated price the tenant maintains directly). Serialized kind:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PrivateOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offer backed by internal stock of a catalog part at one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tenant's inventory sites. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventoryOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["Inventory"],"properties":{"Inventory":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offer backed by internal stock of a catalog part at one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tenant's inventory sites. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventoryOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offer for a custom-manufactured part. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["Custom"],"properties":{"Custom":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offer for a custom-manufactured part. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offer backed by internal stock of a custom-manufactured part at one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of the tenant's inventory sites. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventoryCustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["CustomPartInventory"],"properties":{"CustomPartInventory":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offer backed by internal stock of a custom-manufactured part at one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of the tenant's inventory sites. Serialized kind: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventoryCustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier of an offer."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Serialized as an opaque colon-separated string "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", where"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is one of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a market offer for a catalog part, sourced from"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"an external distributor or manufacturer (Digi-Key, Mouser, Arrow, ...)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or from one of Luminovo's API integrations (Octopart, TrustedParts, ...)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PrivateOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a tenant-private offer for a catalog part, e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a contract or negotiated price the tenant maintains directly."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventoryOffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer backed by internal stock of a catalog"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"part held at one of the tenant's own inventory sites (warehouses)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Custom"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer for a custom-manufactured part (PCB, mechanical,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cable, ...), typically created in response to an RFQ."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventoryCustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer backed by internal stock of a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"custom-manufactured part held at one of the tenant's own inventory sites."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf:550e8400-e29b-41d4-a716-446655440000"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat the string as opaque — its internal structure may change."},"children":[]}]}]}]}},"components/schemas/OfferImportContextAcceptHeader":{"id":"components/schemas/OfferImportContextAcceptHeader","kind":"json-schema","title":"OfferImportContextAcceptHeader","data":{"type":"string","title":"OfferImportContextAcceptHeader","enum":["application/api.luminovo.offer-import-context-v1+json"]}},"components/schemas/OfferNotFoundErrorResponse":{"id":"components/schemas/OfferNotFoundErrorResponse","kind":"json-schema","title":"OfferNotFoundErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer.not_found"},"children":[]}]}]}],"example":"offer.not_found"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404 Not Found"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.5"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.5"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":404,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":"object","description":"Empty object. No data is returned for this error type."}}}},"components/schemas/OfferOrigin":{"id":"components/schemas/OfferOrigin","kind":"json-schema","title":"OfferOrigin","data":{"oneOf":[{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["Manual"]}}},{"type":"object","required":["origin"],"properties":{"context":{"type":["string","null"]},"origin":{"type":"string","enum":["Import"]}}},{"type":"object","required":["origin"],"properties":{"quote_request_id":{"type":["string","null"],"format":"uuid"},"quote_request_line_item_id":{"type":["integer","null"],"format":"int32"},"quote_tracking_id":{"type":["string","null"],"format":"uuid"},"negotiation_id":{"type":["integer","null"],"format":"int32"},"origin":{"type":"string","enum":["QuoteRequest"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["Consigned"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Octopart"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Nexar"]}}},{"type":"object","required":["id","public","origin"],"properties":{"id":{"type":"string"},"public":{"type":"boolean"},"origin":{"type":"string","enum":["TrustedParts"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Sourcengine"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Farnell"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Newark"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Element14"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Buerklin"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Mouser"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Future"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Schukat"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Digikey"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["MyArrow"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Gudeco"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Rutronik"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Tme"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Weltron"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AvnetAbacus"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AvnetApac"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AvnetSilica"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AvnetEbv"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AvnetUsa"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Arrow"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["WuerthEisos"]}}},{"type":"object","required":["id","datasource_name","origin"],"properties":{"id":{"type":"string"},"datasource_name":{"type":"string"},"origin":{"type":"string","enum":["Orbweaver"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["Wuerth"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["BetaLayout"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["SafePcb"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["IBRRingler"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["APCT"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["Gatema"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["Alba"]}}},{"type":"object","required":["origin"],"properties":{"origin":{"type":"string","enum":["MultiCB"]}}},{"type":"object","required":["team","origin"],"properties":{"team":{"type":"string"},"origin":{"type":"string","enum":["Stackrate"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Lcsc"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Tti"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Eve"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Samtec"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Ti"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Blume"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Heilind"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Master"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Onlinecomponents"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AlElektronik"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Unikey"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Corestaff"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["RsComponents"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Sos"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Venkel"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Rochester"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["QuestComponents"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["ChipCart"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["WinSource"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["IcHub"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Ecomal"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["RmComponents"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Wittig"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Telcona"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["RapidElectronics"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Hexachip"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Alfatec"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Kruse"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Ineltro"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["AtlantikNetworxx"]}}},{"type":"object","required":["id","origin"],"properties":{"id":{"type":"string"},"origin":{"type":"string","enum":["Greenchips"]}}}]}},"components/schemas/OfferPaymentTermsInput":{"id":"components/schemas/OfferPaymentTermsInput","kind":"json-schema","title":"OfferPaymentTermsInput","data":{"oneOf":[{"type":"object","title":"NetOnly","required":["net_payment_due_days","type"],"properties":{"net_payment_due_days":{"type":"integer","format":"int32","minimum":0},"type":{"type":"string","enum":["net_payment"]}}},{"type":"object","title":"NetWithEarlyPayment","required":["net_payment_due_days","early_payment_due_days","early_payment_discount","type"],"properties":{"net_payment_due_days":{"type":"integer","format":"int32","minimum":0},"early_payment_due_days":{"type":"integer","format":"int32","minimum":0},"early_payment_discount":{"type":"string"},"type":{"type":"string","enum":["net_with_early_payment"]}}}]}},"components/schemas/OfferResponse":{"id":"components/schemas/OfferResponse","kind":"json-schema","title":"OfferResponse","data":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/StandardPartOfferData","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An offer for a catalog part. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (stock + factory lead"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time) is reported at the offer level. Price-break tiers carry only"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity and unit price. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["StandardPart"]}}}],"title":"StandardPart","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An offer for a catalog part. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (stock + factory lead"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time) is reported at the offer level. Price-break tiers carry only"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity and unit price. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":{"kind":"StandardPart","id":"PublicOffTheShelf:550e8400-e29b-41d4-a716-446655440000","linked_part":{"type":"OffTheShelf","id":"OffTheShelf:a1b2c3d4-5678-90ab-cdef-123456789012","mpn":"RC0402FR-0710KL","manufacturer":{"id":"c3d4e5f6-7890-12ab-cdef-345678901234","name":"Yageo"}},"linked_location":{"type":"Supplier","id":"f1a2b3c4-0000-1111-2222-333344445555","name":"Mouser Electronics","number":"SUP-001","stock_location":{"id":150,"name":"Europe"}},"unit_of_measurement":{"type":"Number","unit":"Pieces","value":"1"},"supplier_part_number":"603-RC0402FR-0710KL","offer_number":"QUO-2026-1234","price_type":"ListPrice","price_breaks":[{"minimum_order_quantity":1,"minimum_packaging_quantity":1,"unit_price":{"amount":"0.0520","currency":"EUR"}},{"minimum_order_quantity":1000,"minimum_packaging_quantity":100,"unit_price":{"amount":"0.0330","currency":"EUR"}}],"one_time_costs":[],"packaging":"Reel","availability":{"factory_lead_time":{"unit":"Weeks","value":12},"factory_quantity":100000,"stock":{"type":"Number","unit":"Pieces","value":"5000"}},"valid_from":"2026-01-15","valid_until":"2026-06-15","cancellation_policy":null,"notes":"Lead-free variant","creation_date":"2026-01-15T10:30:00Z"}},{"allOf":[{"$ref":"#/components/schemas/CustomPartOfferData","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An offer for a custom-manufactured part. There is no offer-level"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; per-tier "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lives in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead, because fulfillment time depends on order"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["CustomPart"]}}}],"title":"CustomPart","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An offer for a custom-manufactured part. There is no offer-level"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; per-tier "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lives in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead, because fulfillment time depends on order"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":{"kind":"CustomPart","id":"Custom:7e1c2a8f-2b6e-4f7c-9c91-1a4f9d2b3e10","linked_part":{"type":"CustomPart","id":"1f2e3d4c-5b6a-7980-1a2b-3c4d5e6f7081","description":"Main board, 4-layer FR4, 1.6 mm","custom_part_type":{"name":"PCB","content":null}},"linked_location":{"type":"Supplier","id":"9c8b7a65-4321-4abc-9def-0123456789ab","name":"MultiCB","number":"SUP-PCB-002","stock_location":{"id":150,"name":"Europe"}},"unit_of_measurement":{"type":"Number","unit":"Pieces","value":"1"},"supplier_part_number":null,"offer_number":"RFQ-2026-0042","price_type":"QuotePrice","price_breaks":[{"minimum_order_quantity":100,"minimum_packaging_quantity":1,"unit_price":{"amount":"12.40","currency":"EUR"},"lead_time":{"unit":"Weeks","value":3},"description":"Standard turnaround"},{"minimum_order_quantity":1000,"minimum_packaging_quantity":1,"unit_price":{"amount":"8.75","currency":"EUR"},"lead_time":{"unit":"Weeks","value":5},"description":"Volume tier"}],"one_time_costs":[{"description":"Tooling","price":{"amount":"350.00","currency":"EUR"}}],"valid_from":"2026-01-15","valid_until":"2026-04-15","cancellation_policy":{"cancellation_window":{"unit":"Days","value":7},"is_non_cancellable_non_returnable":false},"notes":"Pricing valid for revision A only.","creation_date":"2026-01-15T10:30:00Z"}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A priced option for buying a specific part from a specific source."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" captures everything needed to evaluate or place a purchase:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the part it is for ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), where it comes from ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"either an external supplier branch or an internal inventory site),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity-based pricing tiers ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), packaging, validity dates,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and — for standard-part offers — current stock and factory lead time."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Two kinds."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" discriminator describes the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"nature of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — how it is priced and fulfilled — and determines the payload shape:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"StandardPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer for a catalog part (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"StandardPartOfferData"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (stock + factory lead time) is reported at the offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"level. Price-break tiers carry only quantity and unit price."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is either "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (referenced by manufacturer +"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MPN) or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (referenced by the tenant's IPN for that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"catalog part)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — an offer for a custom-manufactured part (PCB, mechanical,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cable, ...; see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPartOfferData"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). There is no offer-level"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; lead time instead lives per price-break"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tier in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks.*.lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", because fulfillment time for custom"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parts depends on the order quantity. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is either"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (referenced by custom-part specification) or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (referenced by the tenant's IPN for that custom"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"component)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In other words, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" describes the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", while "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"describes how the "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"part"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is identified — the two are related but not the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same."},"children":[]}]}]}]}},"components/schemas/OrderManagementAcceptHeader":{"id":"components/schemas/OrderManagementAcceptHeader","kind":"json-schema","title":"OrderManagementAcceptHeader","data":{"type":"string","title":"OrderManagementAcceptHeader","enum":["application/api.luminovo.order-management-v1+json"]}},"components/schemas/PcbSpecificationAcceptHeader":{"id":"components/schemas/PcbSpecificationAcceptHeader","kind":"json-schema","title":"PcbSpecificationAcceptHeader","data":{"type":"string","title":"PcbSpecificationAcceptHeader","enum":["application/api.luminovo.pcb-specification-v1+json"]}},"components/schemas/PcbSpecificationExtractionFailedErrorResponse":{"id":"components/schemas/PcbSpecificationExtractionFailedErrorResponse","kind":"json-schema","title":"PcbSpecificationExtractionFailedErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pcb_specification.extraction_failed"},"children":[]}]}]}],"example":"pcb_specification.extraction_failed"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"500 Internal Server Error"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.6.1"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.6.1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":500,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/PcbSpecificationExtractionUnavailableErrorResponse":{"id":"components/schemas/PcbSpecificationExtractionUnavailableErrorResponse","kind":"json-schema","title":"PcbSpecificationExtractionUnavailableErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pcb_specification.extraction_unavailable"},"children":[]}]}]}],"example":"pcb_specification.extraction_unavailable"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"503 Service Unavailable"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.6.4"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.6.4"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":503,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/PcbSpecificationFileRequiredErrorResponse":{"id":"components/schemas/PcbSpecificationFileRequiredErrorResponse","kind":"json-schema","title":"PcbSpecificationFileRequiredErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pcb_specification.file_required"},"children":[]}]}]}],"example":"pcb_specification.file_required"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400 Bad Request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.1"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":400,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/PnpAcceptHeader":{"id":"components/schemas/PnpAcceptHeader","kind":"json-schema","title":"PnpAcceptHeader","data":{"type":"string","title":"PnpAcceptHeader","enum":["application/api.luminovo.pnp-v1+json"]}},"components/schemas/PnpFileId":{"id":"components/schemas/PnpFileId","kind":"json-schema","title":"PnpFileId","data":{"type":"string","format":"uuid"}},"components/schemas/PnpItemId":{"id":"components/schemas/PnpItemId","kind":"json-schema","title":"PnpItemId","data":{"type":"string","format":"uuid"}},"components/schemas/ProjectAcceptHeader":{"id":"components/schemas/ProjectAcceptHeader","kind":"json-schema","title":"ProjectAcceptHeader","data":{"type":"string","title":"ProjectAcceptHeader","enum":["application/api.luminovo.project-v1+json"]}},"components/schemas/ProjectOverviewAcceptHeader":{"id":"components/schemas/ProjectOverviewAcceptHeader","kind":"json-schema","title":"ProjectOverviewAcceptHeader","data":{"type":"string","title":"ProjectOverviewAcceptHeader","enum":["application/api.luminovo.project-overview-v1+json"]}},"components/schemas/PurchaseOption":{"id":"components/schemas/PurchaseOption","kind":"json-schema","title":"PurchaseOption","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A purchase option represents the sourcing engine's decision to buy a specific"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quantity from a specific offer, fulfilling one or more sourcing line items"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the scenario. This data is designed for ERP systems to create purchase"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"orders."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity model:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the number of "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer units"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to order (can be fractional)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" defines what one offer unit represents (e.g. 1 piece,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or 5 meters of cable). This mirrors the offer's own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"purchase_quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the total in base units — always equals"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity × unit_of_measurement.value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This is a computed convenience field."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resolving offer details:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /offers/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/bulk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to fetch the full offer including supplier information,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"pricing tiers, and availability."},"children":[]}]}]}],"required":["offer_id","minimum_order_quantity","minimum_packaging_quantity","quantity","unit_of_measurement","purchase_quantity","unit_price"],"properties":{"offer_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unique identifier of the offer backing this purchase option. To fetch"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the full offer details (supplier, pricing tiers, availability, part"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"information), use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /offers/{id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /offers/bulk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with this"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value."},"children":[]}]}]}]},"minimum_order_quantity":{"type":"number","format":"double","description":"Minimum order quantity in offer units (MOQ from the selected price\nbreak). Orders must be at least this many offer units."},"minimum_packaging_quantity":{"type":"number","format":"double","description":"Minimum packaging quantity in offer units (MPQ from the selected price\nbreak). Orders must be a multiple of this value."},"quantity":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Number of offer units to order, as a JSON number. Multiply by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement.value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to get the total in base units"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"purchase_quantity.value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},"unit_of_measurement":{"oneOf":[{"oneOf":[{"type":"object","title":"Weight","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A weight, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WeightUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Grams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milligrams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pounds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/WeightUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Weight"]}}},{"type":"object","title":"Length","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A length, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LengthUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Centimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Millimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Feet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Inches"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/QuantityLengthUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Length"]}}},{"type":"object","title":"Volume","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A volume, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VolumeUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Liters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milliliters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsFluidOunces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsGallons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsPints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/VolumeUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Volume"]}}},{"type":"object","title":"Number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A count of discrete items, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CardinalNumberUnit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(currently just "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pieces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). This is the most common quantity for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"electronic components — e.g. \"5000 pieces on a reel\"."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/CardinalNumberUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Number"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A measured quantity with an explicit dimension and unit."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discriminated by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which selects the dimension ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Length"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Volume"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each variant then carries a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units valid for that dimension — e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the magnitude, encoded as a decimal string to preserve"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"precision)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Number\", \"unit\": \"Pieces\", \"value\": \"5000\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5000 pieces\"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5 meters\"."},"children":[]}]}]}],"example":{"type":"Number","unit":"Pieces","value":"5000"}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What one offer unit represents (e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{ \"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\" }"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer unit is 5 meters of cable). This mirrors the offer's own"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field. All quantities in this purchase option"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minimum_order_quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minimum_packaging_quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"are expressed in these offer units."},"children":[]}]}]}]},"purchase_quantity":{"oneOf":[{"oneOf":[{"type":"object","title":"Weight","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A weight, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WeightUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Grams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milligrams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pounds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/WeightUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Weight"]}}},{"type":"object","title":"Length","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A length, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LengthUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Centimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Millimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Feet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Inches"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/QuantityLengthUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Length"]}}},{"type":"object","title":"Volume","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A volume, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VolumeUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Liters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milliliters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsFluidOunces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsGallons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsPints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/VolumeUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Volume"]}}},{"type":"object","title":"Number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A count of discrete items, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CardinalNumberUnit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(currently just "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pieces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). This is the most common quantity for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"electronic components — e.g. \"5000 pieces on a reel\"."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/CardinalNumberUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Number"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A measured quantity with an explicit dimension and unit."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discriminated by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which selects the dimension ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Length"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Volume"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each variant then carries a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units valid for that dimension — e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the magnitude, encoded as a decimal string to preserve"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"precision)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Number\", \"unit\": \"Pieces\", \"value\": \"5000\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5000 pieces\"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5 meters\"."},"children":[]}]}]}],"example":{"type":"Number","unit":"Pieces","value":"5000"}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total purchase quantity in base units. This is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"computed convenience"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"field"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": always equals "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"quantity × unit_of_measurement.value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"unit_price":{"$ref":"#/components/schemas/MonetaryValue","description":"Price per one offer unit of the sourcing line item, in the offer's\noriginal currency. No currency conversion is applied."}}}},"components/schemas/Quantity":{"id":"components/schemas/Quantity","kind":"json-schema","title":"Quantity","data":{"oneOf":[{"type":"object","title":"Weight","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A weight, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WeightUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Grams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milligrams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pounds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/WeightUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Weight"]}}},{"type":"object","title":"Length","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A length, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LengthUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Centimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Millimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Feet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Inches"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/QuantityLengthUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Length"]}}},{"type":"object","title":"Volume","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A volume, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VolumeUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Liters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milliliters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsFluidOunces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsGallons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsPints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/VolumeUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Volume"]}}},{"type":"object","title":"Number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A count of discrete items, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CardinalNumberUnit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(currently just "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pieces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). This is the most common quantity for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"electronic components — e.g. \"5000 pieces on a reel\"."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/CardinalNumberUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Number"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A measured quantity with an explicit dimension and unit."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discriminated by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which selects the dimension ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Length"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Volume"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each variant then carries a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units valid for that dimension — e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the magnitude, encoded as a decimal string to preserve"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"precision)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Number\", \"unit\": \"Pieces\", \"value\": \"5000\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5000 pieces\"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5 meters\"."},"children":[]}]}]}],"example":{"type":"Number","unit":"Pieces","value":"5000"}}},"components/schemas/QuantityLengthUnit":{"id":"components/schemas/QuantityLengthUnit","kind":"json-schema","title":"QuantityLengthUnit","data":{"type":"string","enum":["Meters","Centimeters","Millimeters","Feet","Inches"]}},"components/schemas/QuotationUploadAcceptHeader":{"id":"components/schemas/QuotationUploadAcceptHeader","kind":"json-schema","title":"QuotationUploadAcceptHeader","data":{"type":"string","title":"QuotationUploadAcceptHeader","enum":["application/api.luminovo.quotation-upload-v1+json"]}},"components/schemas/RefreshOffersRequest":{"id":"components/schemas/RefreshOffersRequest","kind":"json-schema","title":"RefreshOffersRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body for triggering a refresh of offers from external supplier APIs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for a set of off-the-shelf parts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contains a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array of off-the-shelf part IDs, each an opaque"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"colon-separated string of the form "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf:a1b2c3d4-5678-90ab-cdef-123456789012"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Treat each ID as an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"opaque string — its internal structure may change."},"children":[]}]}]}],"required":["parts"],"properties":{"parts":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Off-the-shelf part IDs to refresh offers for. Each is an opaque"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"colon-separated string of the form "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf:a1b2c3d4-5678-90ab-cdef-123456789012"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":["OffTheShelf:a1b2c3d4-5678-90ab-cdef-123456789012"]}}}},"components/schemas/RfqAcceptHeader":{"id":"components/schemas/RfqAcceptHeader","kind":"json-schema","title":"RfqAcceptHeader","data":{"type":"string","title":"RfqAcceptHeader","enum":["application/api.luminovo.rfq-v1+json"]}},"components/schemas/RfqOverviewAcceptHeader":{"id":"components/schemas/RfqOverviewAcceptHeader","kind":"json-schema","title":"RfqOverviewAcceptHeader","data":{"type":"string","title":"RfqOverviewAcceptHeader","enum":["application/api.luminovo.rfq-overview-v1+json"]}},"components/schemas/SiteId":{"id":"components/schemas/SiteId","kind":"json-schema","title":"SiteId","data":{"type":"string","format":"uuid"}},"components/schemas/SourcingCalculationAcceptHeader":{"id":"components/schemas/SourcingCalculationAcceptHeader","kind":"json-schema","title":"SourcingCalculationAcceptHeader","data":{"type":"string","title":"SourcingCalculationAcceptHeader","enum":["application/api.luminovo.sourcing-calculation-v1+json"]}},"components/schemas/SourcingScenarioAcceptHeader":{"id":"components/schemas/SourcingScenarioAcceptHeader","kind":"json-schema","title":"SourcingScenarioAcceptHeader","data":{"type":"string","title":"SourcingScenarioAcceptHeader","enum":["application/api.luminovo.sourcing-scenario-v1+json"]}},"components/schemas/SourcingScenarioBadRequestErrorResponse":{"id":"components/schemas/SourcingScenarioBadRequestErrorResponse","kind":"json-schema","title":"SourcingScenarioBadRequestErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unknown"},"children":[]}]}]}],"example":"unknown"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400 Bad Request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.1"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.1"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":400,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/SourcingScenarioNotFoundErrorResponse":{"id":"components/schemas/SourcingScenarioNotFoundErrorResponse","kind":"json-schema","title":"SourcingScenarioNotFoundErrorResponse","data":{"type":"object","description":"An API error response for a non-success HTTP status code.","required":["code","title","status","detail","data"],"properties":{"code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error code: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sourcing_scenario.not_found"},"children":[]}]}]}],"example":"sourcing_scenario.not_found"},"title":{"type":"string","description":"A human-readable title of the HTTP error status code."},"status":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404 Not Found"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"["},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc9110#section-15.5.5"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC9110, Section 15.5.5"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]}]}]}],"example":404,"minimum":0},"detail":{"type":"string","description":"Additional human-readable information about the error.\nThe representation may change without notice to the user,\nso the field should not be used for automatically extracting data."},"data":{"type":["object","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No additional data. This field is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for these errors."},"children":[]}]}]}]}}}},"components/schemas/SourcingScenarioV2AcceptHeader":{"id":"components/schemas/SourcingScenarioV2AcceptHeader","kind":"json-schema","title":"SourcingScenarioV2AcceptHeader","data":{"type":"string","title":"SourcingScenarioV2AcceptHeader","enum":["application/api.luminovo.sourcing-scenario-v2+json"]}},"components/schemas/SourcingStatus":{"id":"components/schemas/SourcingStatus","kind":"json-schema","title":"SourcingStatus","data":{"type":"string","description":"Whether a BOM item was sourced, and if not, why.","enum":["Sourced","Consigned","NoOffer","Pending","NoPartOptions","DoNotPlace","Error"]}},"components/schemas/StandardPartOfferData":{"id":"components/schemas/StandardPartOfferData","kind":"json-schema","title":"StandardPartOfferData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The payload of a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"standard-part"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" offer ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"kind = StandardPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"): a priced"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"option for buying a catalog part from a specific source."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The fields are organised into four groups:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identity"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What & where"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the part) and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplier branch or inventory site)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pricing"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the supplier-side identifiers"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_part_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offer_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"one_time_costs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"packaging"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (stock and factory"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"lead time)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Terms & metadata"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — validity dates, cancellation policy, free-text"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"notes, and the creation timestamp."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifier format."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the colon-separated opaque form"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf:550e8400-..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Treat it as an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"opaque string — its internal structure may change."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unit of measurement."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" defines what one offer unit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"represents (for example, one cable reel of 5 m). All quantities elsewhere"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the offer ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks.*.minimum_*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are expressed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in those offer units. Multiply by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement.value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to convert"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to the base unit."},"children":[]}]}]}],"required":["id","linked_part","linked_location","unit_of_measurement","supplier_part_number","price_breaks","one_time_costs","valid_from","valid_until","creation_date"],"properties":{"id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The offer's unique identifier in the opaque colon-separated form"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<kind>:<uuid>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PublicOffTheShelf:550e8400-..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Treat this"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value as an opaque string — its internal structure may change."},"children":[]}]}]}]},"linked_part":{"$ref":"#/components/schemas/StandardPartOfferLinkedPart","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The catalog part this offer is for. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to tell"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"whether it is an off-the-shelf catalog part (manufacturer + MPN) or an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal Part Number (the tenant's own identifier for that part)."},"children":[]}]}]}]},"linked_location":{"$ref":"#/components/schemas/LinkedLocation","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Where this offer is sourced from. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_location.type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to tell"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"which kind of source it is: an external "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Supplier"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" branch (orders"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"become purchase orders to that supplier) or an internal "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InventorySite"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(orders become stock transfers from a warehouse the tenant owns)."},"children":[]}]}]}]},"unit_of_measurement":{"$ref":"#/components/schemas/Quantity","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defines what one offer unit represents (e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{ \"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\" }"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer unit is 5 meters of cable). All quantities elsewhere in this"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"price_breaks.*.minimum_*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"availability.*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are expressed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in these offer units."},"children":[]}]}]}]},"supplier_part_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The supplier's own part number for this item (sometimes called \"SPN\""},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or \"vendor part number\"). May differ from the manufacturer part"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"number. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier didn't provide one."},"children":[]}]}]}]},"offer_number":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The supplier's quote or offer reference number — typically from"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"their RFQ / quotation system (e.g. \"QUO-2026-1234\"). Useful when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reconciling against the supplier's own records. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has no associated quote reference (e.g. a list-price entry)."},"children":[]}]}]}]},"price_type":{"oneOf":[{"type":"null"},{"type":"string","enum":["PurchasePrice","ListPrice","ContractPrice","QuotePrice","StandardPrice","CustomerNegotiatedPrice","TargetPrice"]}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of pricing this offer represents — e.g. list price (open"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"catalog price), contract price (negotiated long-term agreement),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"quote price (one-off RFQ response), or customer-negotiated price."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always present for standard-part offers."},"children":[]}]}]}]},"price_breaks":{"type":"array","items":{"$ref":"#/components/schemas/StandardPartPriceBreak"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity-based pricing tiers, each carrying quantity + unit price."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantities and prices are in offer units. The order of tiers is not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"guaranteed — clients should sort by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minimum_order_quantity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if order"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"matters."},"children":[]}]}]}]},"one_time_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.OneTimeCost"},"description":"Non-recurring costs associated with this offer (e.g. tooling, NRE,\nsetup fees). Empty array if none."},"packaging":{"oneOf":[{"type":"null"},{"type":"string","enum":["AmmoPack","Bag","Bulk","Reel","ReReel","Spool","Tape","Tray","Tube","Carton"]}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Packaging the part ships in (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Reel"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Tape"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Tray"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Tube"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AmmoPack"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Bag"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Bulk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the supplier did not specify"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"packaging."},"children":[]}]}]}]},"availability":{"oneOf":[{"type":"null"},{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stock and lead-time information for a standard-part offer. Custom-part"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offers do not have this field — they report lead time per price-break tier"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"instead (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CustomPartPriceBreak.lead_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"properties":{"factory_lead_time":{"oneOf":[{"type":"null"},{"type":"object","required":["unit","value"],"properties":{"unit":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.CancellationWindowDuration"},"value":{"type":"number","format":"double"}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time the factory needs to produce additional stock once the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immediately-available "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" has run out (also known as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"manufacturing lead time\"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not report it."},"children":[]}]}]}]},"factory_quantity":{"type":["number","null"],"format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity the factory can produce on top of immediately-available"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (in offer units), if reported by the supplier. Independent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not report it."},"children":[]}]}]}]},"stock":{"oneOf":[{"type":"null"},{"oneOf":[{"type":"object","title":"Weight","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A weight, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WeightUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Grams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milligrams"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pounds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/WeightUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Weight"]}}},{"type":"object","title":"Length","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A length, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LengthUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Meters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Centimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Millimeters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Feet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Inches"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/QuantityLengthUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Length"]}}},{"type":"object","title":"Volume","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A volume, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"VolumeUnit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Liters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Milliliters"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsFluidOunces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsGallons"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UsPints"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/VolumeUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Volume"]}}},{"type":"object","title":"Number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A count of discrete items, with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" taken from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CardinalNumberUnit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(currently just "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pieces"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). This is the most common quantity for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"electronic components — e.g. \"5000 pieces on a reel\"."},"children":[]}]}]}],"required":["unit","value","type"],"properties":{"unit":{"$ref":"#/components/schemas/CardinalNumberUnit"},"value":{"type":"string"},"type":{"type":"string","enum":["Number"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A measured quantity with an explicit dimension and unit."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discriminated by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which selects the dimension ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Length"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Volume"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each variant then carries a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (one of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"units valid for that dimension — e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Kilograms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Weight"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the magnitude, encoded as a decimal string to preserve"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"precision)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Number\", \"unit\": \"Pieces\", \"value\": \"5000\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5000 pieces\"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"type\": \"Length\", \"unit\": \"Meters\", \"value\": \"5\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"5 meters\"."},"children":[]}]}]}],"example":{"type":"Number","unit":"Pieces","value":"5000"}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quantity immediately available from the supplier's warehouse (or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"from the inventory site, for inventory offers), expressed in the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offer's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_of_measurement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not report"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"stock."},"children":[]}]}]}]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stock on hand and factory lead-time at the offer level. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supplier did not report any availability information."},"children":[]}]}]}]},"valid_from":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start of the offer's validity window. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the offer has no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"explicit start date and is considered valid from creation. Date only,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no timezone."},"children":[]}]}]}]},"valid_until":{"type":"string","format":"date","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End of the offer's validity window — after this date the offer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"should no longer be honoured. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the offer has no explicit"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry. Date only, no timezone."},"children":[]}]}]}]},"cancellation_policy":{"oneOf":[{"type":"null"},{"type":"object","required":["cancellation_window"],"properties":{"cancellation_window":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Duration"},"is_non_cancellable_non_returnable":{"type":["boolean","null"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Terms governing cancellation and returns once an order has been"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"placed against this offer: the time window during which the order"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can still be cancelled, plus an optional non-cancellable /"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-returnable (NCNR) flag. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the supplier did not specify"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"these terms."},"children":[]}]}]}]},"notes":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Free-text notes about the offer (e.g. \"Lead-free variant\", \"EOL"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"announced — last-time-buy only\")."},"children":[]}]}]}]},"creation_date":{"type":"string","format":"date-time","description":"When this offer was first created in Luminovo (ISO 8601 with timezone)."}}}},"components/schemas/StandardPartOfferLinkedPart":{"id":"components/schemas/StandardPartOfferLinkedPart","kind":"json-schema","title":"StandardPartOfferLinkedPart","data":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/OffTheShelfPartLite","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A catalog (off-the-shelf) part identified by manufacturer + MPN."},"children":[]}]}]}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["OffTheShelf"]}}}],"title":"OffTheShelf","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A catalog (off-the-shelf) part identified by manufacturer + MPN."},"children":[]}]}]}]},{"allOf":[{"$ref":"#/components/schemas/InternalPartNumberLite","description":"A part identified by the tenant's internal part number."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["InternalPartNumber"]}}}],"title":"InternalPartNumber","description":"A part identified by the tenant's internal part number."}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The part a standard-part offer is for, in a lightweight form suitable for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"embedding inside offer responses. Use the dedicated part endpoints for the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"full details (e.g. specifications, datasheet links, alternates)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"linked_part"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"StandardPart"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" offer, so the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is one of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OffTheShelf"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a catalog part identified by manufacturer + MPN, sold"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"by distributors (Mouser, Digi-Key, Arrow, ...)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"InternalPartNumber"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the tenant's own internal identifier for a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"catalog part, independent of any specific manufacturer."},"children":[]}]}]}]}]}},"components/schemas/StandardPartPriceBreak":{"id":"components/schemas/StandardPartPriceBreak","kind":"json-schema","title":"StandardPartPriceBreak","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A pricing tier for a standard-part offer. Availability (stock + factory"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"lead time) lives at the offer level ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"StandardPartOfferData.availability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not here."},"children":[]}]}]}],"required":["minimum_order_quantity","minimum_packaging_quantity","unit_price"],"properties":{"minimum_order_quantity":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Smallest order quantity at which this tier's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unit_price"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in offer units (also known as MOQ — Minimum Order Quantity)."},"children":[]}]}]}]},"minimum_packaging_quantity":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Packaging increment for orders at this tier, in offer units — orders"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"must be a multiple of this value (also known as MPQ — Minimum"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Packaging Quantity, or \"order multiple\"). For example, a reel of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1000 pieces means orders go in steps of 1000."},"children":[]}]}]}]},"unit_price":{"$ref":"#/components/schemas/MonetaryValue","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Price per one offer unit, in the offer's original currency. No"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"currency conversion is applied — the consumer handles it if needed."},"children":[]}]}]}]}}}},"components/schemas/StockLocation":{"id":"components/schemas/StockLocation","kind":"json-schema","title":"StockLocation","data":{"type":"object","description":"A regional stock location belonging to a supplier (e.g. \"Europe\", \"Asia\").\nDifferent regions of the same supplier have independent stock, lead times,\nand prices, which is why every offer is scoped to one stock location.","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Luminovo's internal identifier for this supplier-and-stock-location\npairing. Stable across requests and unique within a tenant."},"name":{"type":"string","description":"The stock location's display name (e.g. \"Europe\", \"Asia\")."}}}},"components/schemas/String":{"id":"components/schemas/String","kind":"json-schema","title":"String","data":{"type":"string"}},"components/schemas/Supplier":{"id":"components/schemas/Supplier","kind":"json-schema","title":"Supplier","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An external supplier (distributor or manufacturer) that this offer is from."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combined with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"stock_location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", this fully identifies the supplier branch"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the offer originates from (different regions have different stock and prices)."},"children":[]}]}]}],"required":["id","name","stock_location"],"properties":{"id":{"type":"string","format":"uuid","description":"The supplier's unique identifier."},"name":{"type":"string","description":"The supplier's display name (e.g. \"Mouser Electronics\")."},"number":{"type":["string","null"],"description":"The tenant's internal number for this supplier (e.g. ERP vendor number)."},"stock_location":{"$ref":"#/components/schemas/StockLocation","description":"The supplier's stock location / region for this offer."}}}},"components/schemas/SupplierAcceptHeader":{"id":"components/schemas/SupplierAcceptHeader","kind":"json-schema","title":"SupplierAcceptHeader","data":{"type":"string","title":"SupplierAcceptHeader","enum":["application/api.luminovo.supplier-v1+json"]}},"components/schemas/SupplierCustomPartOfferAcceptHeader":{"id":"components/schemas/SupplierCustomPartOfferAcceptHeader","kind":"json-schema","title":"SupplierCustomPartOfferAcceptHeader","data":{"type":"string","title":"SupplierCustomPartOfferAcceptHeader","enum":["application/api.luminovo.custom-part-offer-v1+json"]}},"components/schemas/SupplierId":{"id":"components/schemas/SupplierId","kind":"json-schema","title":"SupplierId","data":{"type":"string","format":"uuid"}},"components/schemas/UserAcceptHeader":{"id":"components/schemas/UserAcceptHeader","kind":"json-schema","title":"UserAcceptHeader","data":{"type":"string","title":"UserAcceptHeader","enum":["application/api.luminovo.user-v1+json"]}},"components/schemas/UserId":{"id":"components/schemas/UserId","kind":"json-schema","title":"UserId","data":{"type":"string","format":"uuid"}},"components/schemas/VolumeUnit":{"id":"components/schemas/VolumeUnit","kind":"json-schema","title":"VolumeUnit","data":{"type":"string","enum":["Liters","Centiliters","Milliliters","UsFluidOunces","UsGallons","UsPints"]}},"components/schemas/WeightUnit":{"id":"components/schemas/WeightUnit","kind":"json-schema","title":"WeightUnit","data":{"type":"string","enum":["Kilograms","Grams","Milligrams","Pounds"]}},"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse":{"id":"components/schemas/types.assembly.assembly_ids.v1.AssemblyIdsResponse","kind":"json-schema","title":"types.assembly.assembly_ids.v1.AssemblyIdsResponse","data":{"type":"object","required":["assembly_ids"],"properties":{"assembly_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"components/schemas/types.assembly.assembly_industry.v1.AssemblyIndustry":{"id":"components/schemas/types.assembly.assembly_industry.v1.AssemblyIndustry","kind":"json-schema","title":"types.assembly.assembly_industry.v1.AssemblyIndustry","data":{"type":"string","enum":["Auto","Medical","Defense","Aero","Rail","Industrial","Construction","Consumer","Other"]}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetail":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetail","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetail","data":{"type":"object","required":["activity_name","resources_details","activity_process","activity_category","activity_level","drivers_detail","resource_cost_per_hour","costs_per_batch_size","times_per_batch_size","rank"],"properties":{"activity_internal_number":{"type":["string","null"]},"activity_name":{"type":"string"},"activity_description":{"type":["string","null"]},"activity_configuration_notes":{"type":["string","null"]},"panel_factor":{"type":["number","null"],"format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"write_number of xlsxwriter expects f64"},"children":[]}]}]}]},"resources_details":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityResourceDetail"}},"activity_process":{"type":"string"},"activity_category":{"type":"string"},"activity_level":{"type":"string"},"drivers_detail":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.DriverDetail"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"write_number of xlsxwriter expects f64"},"children":[]}]}]}]},"variable_time":{"type":["string","null"],"format":"time"},"fixed_time":{"type":["string","null"],"format":"time"},"resource_cost_per_hour":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"costs_per_batch_size":{"$ref":"#/components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost"},"times_per_batch_size":{"$ref":"#/components/schemas/HashMap_Option_types.assembly.assembly_manufacturing_data.export.v1.NaiveTime"},"rank":{"type":"integer","format":"int32"},"manufacturing_scenario_template_instance_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ManufacturingScenarioTemplateInstanceId"}]}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetailCost","data":{"type":"object","properties":{"total_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair"}]},"effective_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair"}]}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityResourceDetail":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityResourceDetail","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ActivityResourceDetail","data":{"type":"object","required":["multiplier","resource"],"properties":{"multiplier":{"type":"string"},"resource":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ResourceDetail"}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.AssemblySummary":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.AssemblySummary","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.AssemblySummary","data":{"type":"object","required":["assembly_name"],"properties":{"assembly_name":{"type":"string"},"assembly_notes":{"type":["string","null"]}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.CustomOrderSelectionOptionInput","data":{"type":"object","required":["assembly_summary","manufacturing_scenario_summaries","all_batch_sizes"],"properties":{"assembly_summary":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.AssemblySummary"},"manufacturing_scenario_summaries":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioExport"}},"all_batch_sizes":{"type":"array","items":{"type":"integer","format":"int32"},"uniqueItems":true}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.DriverDetail":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.DriverDetail","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.DriverDetail","data":{"type":"object","required":["driver_name","driver_type"],"properties":{"driver_name":{"type":"string"},"driver_type":{"type":"string"},"driver_count":{"type":["number","null"],"format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"write_number of xlsxwriter expects f64"},"children":[]}]}]}]}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetail":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetail","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetail","data":{"type":"object","required":["expense_name","process","category","level","drivers_detail","costs_per_batch_size","rank"],"properties":{"expense_internal_number":{"type":["string","null"]},"expense_name":{"type":"string"},"expense_description":{"type":["string","null"]},"expense_configuration_notes":{"type":["string","null"]},"process":{"type":"string"},"category":{"type":"string"},"level":{"type":"string"},"drivers_detail":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.DriverDetail"}},"costs_per_batch_size":{"$ref":"#/components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost"},"rank":{"type":"integer","format":"int32"},"manufacturing_scenario_template_instance_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ManufacturingScenarioTemplateInstanceId"}]}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetailCost","data":{"type":"object","properties":{"variable_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}]},"fixed_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}]},"total_cost":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair"}]}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioExport":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioExport","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioExport","data":{"type":"object","required":["summary","activity_configuration_details","expense_configuration_details"],"properties":{"summary":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummary"},"activity_configuration_details":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ActivityConfigurationDetail"}},"expense_configuration_details":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ExpenseConfigurationDetail"}}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummary":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummary","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummary","data":{"type":"object","required":["manufacturing_scenario_name","activity_count","expense_count","breakdown_per_batch_size"],"properties":{"manufacturing_scenario_name":{"type":"string"},"manufacturing_scenario_notes":{"type":["string","null"]},"sourcing_scenario_id":{"type":["string","null"],"format":"uuid"},"activity_count":{"type":"number","format":"double"},"expense_count":{"type":"number","format":"double"},"breakdown_per_batch_size":{"$ref":"#/components/schemas/HashMap_types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown"}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ManufacturingScenarioSummaryBreakdown","data":{"type":"object","required":["total_unit_time","total_batch_time","total_unit_cost","total_batch_cost","total_project_cost","total_effective_unit_cost","total_effective_batch_cost"],"properties":{"total_unit_time":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.NaiveTime"},"total_batch_time":{"$ref":"#/components/schemas/types.assembly.assembly_manufacturing_data.export.v1.NaiveTime"},"total_unit_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_batch_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_project_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_effective_unit_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"total_effective_batch_cost":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}}}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.NaiveTime":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.NaiveTime","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.NaiveTime","data":{"type":"string","format":"time"}},"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ResourceDetail":{"id":"components/schemas/types.assembly.assembly_manufacturing_data.export.v1.ResourceDetail","kind":"json-schema","title":"types.assembly.assembly_manufacturing_data.export.v1.ResourceDetail","data":{"type":"object","required":["name","resource_type"],"properties":{"name":{"type":"string"},"resource_type":{"type":"string"},"internal_number":{"type":["string","null"]}}}},"components/schemas/types.assembly.assembly_type.v1.AssemblyType":{"id":"components/schemas/types.assembly.assembly_type.v1.AssemblyType","kind":"json-schema","title":"types.assembly.assembly_type.v1.AssemblyType","data":{"type":"string","enum":["Box","Pcba","PcbOnly","Cable","System","BOM"]}},"components/schemas/types.assembly.v1.AssemblyInput":{"id":"components/schemas/types.assembly.v1.AssemblyInput","kind":"json-schema","title":"types.assembly.v1.AssemblyInput","data":{"type":"object","required":["rfq","customer","type","name","industry"],"properties":{"rfq":{"type":"string","format":"uuid","description":"The ID of the RfQ (Request for Quote) this assembly belongs to"},"customer":{"type":"string","format":"uuid","description":"The ID of the customer who owns this assembly"},"type":{"$ref":"#/components/schemas/types.assembly.assembly_type.v1.AssemblyType","description":"The type of assembly being created"},"parent_assembly":{"type":["string","null"],"format":"uuid","description":"Optional parent assembly ID. If provided, this assembly becomes a sub-assembly of the specified parent.\nIf not provided, this assembly becomes a top-level assembly within the RfQ.\nThis allows building hierarchical assembly structures (e.g., a main PCB containing smaller sub-assemblies)."},"name":{"type":"string","description":"A unique name/identifier for the assembly within the RfQ.\nThis name helps identify the assembly in the BOM structure and should be descriptive\n(e.g., \"Main PCB Assembly\", \"Power Supply Module\", \"Display Interface Board\")."},"notes":{"type":["string","null"],"description":"Optional notes or description for the assembly"},"industry":{"$ref":"#/components/schemas/types.assembly.assembly_industry.v1.AssemblyIndustry","description":"The industry this assembly belongs to"}}}},"components/schemas/types.assembly.v1.CreateAssemblyPcbRequest":{"id":"components/schemas/types.assembly.v1.CreateAssemblyPcbRequest","kind":"json-schema","title":"types.assembly.v1.CreateAssemblyPcbRequest","data":{"type":"object"}},"components/schemas/types.assembly.v1.CreateAssemblyPcbResponse":{"id":"components/schemas/types.assembly.v1.CreateAssemblyPcbResponse","kind":"json-schema","title":"types.assembly.v1.CreateAssemblyPcbResponse","data":{"type":"object","required":["pcb_id","custom_part_specification_id"],"properties":{"pcb_id":{"type":"string","format":"uuid","description":"The ID of the created PCB"},"custom_part_specification_id":{"type":"string","format":"uuid","description":"The ID of the custom part specification"}}}},"components/schemas/types.assembly.v1.SimpleAssemblyResponse":{"id":"components/schemas/types.assembly.v1.SimpleAssemblyResponse","kind":"json-schema","title":"types.assembly.v1.SimpleAssemblyResponse","data":{"type":"object","required":["id","name","type","customer","industry"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/types.assembly.assembly_type.v1.AssemblyType"},"notes":{"type":["string","null"]},"customer":{"type":"string","format":"uuid"},"industry":{"$ref":"#/components/schemas/types.assembly.assembly_industry.v1.AssemblyIndustry"},"parent_assembly":{"type":["string","null"],"format":"uuid"},"rfq":{"type":["string","null"],"format":"uuid"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.AdditionalCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.AdditionalCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.AdditionalCostResponse","data":{"type":"object","required":["other_costs","post_profit_costs","sub_total_cost"],"properties":{"other_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ExtraCostResponse"}},"post_profit_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ExtraCostResponse"}},"sub_total_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Total of all other costs and post profit costs."},"profit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse"}]},"discount":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse"}]}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.BatchCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.BatchCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.BatchCostResponse","data":{"type":"object","required":["material_cost","manufacturing_cost","additional_cost","project_cost","summarized_cost","checkout_cost"],"properties":{"material_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.MaterialCostResponse"},"manufacturing_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ManufacturingCostResponse"},"additional_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.AdditionalCostResponse"},"project_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectCostResponse"},"summarized_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.CostSummaryResponse","description":"If the project cost is separated, it isn't added to the summarized cost."},"checkout_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.CostSummaryResponse","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Final cost representing what is displayed at checkout screen."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the project cost is separated (or any other type of cost), it is added to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this cost. This is in contrast to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"summarized_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with excludes separated costs."},"children":[]}]}]}]}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.BatchSizeDataResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.BatchSizeDataResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.BatchSizeDataResponse","data":{"type":"object","required":["batch_size","cost"],"properties":{"batch_size":{"type":"integer","format":"int32"},"cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.BatchCostResponse"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.CalculationAssemblyCostResponse","data":{"type":"object","required":["id","calculation_assembly_details","costs","created_at","updated_at","is_cost_frozen"],"properties":{"id":{"type":"string","format":"uuid"},"calculation_assembly_details":{"type":"string","format":"uuid"},"costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ScenarioCostResponse"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"is_cost_frozen":{"type":"boolean"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationResult_Option_f64":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationResult_Option_f64","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.CalculationResult_Option_f64","data":{"oneOf":[{"type":"object","required":["data","result"],"properties":{"data":{"oneOf":[{"type":"null"},{"type":"number","format":"double"}]},"result":{"type":"string","enum":["Ok"]}}},{"type":"object","required":["data","result"],"properties":{"data":{"type":"string"},"result":{"type":"string","enum":["ScriptError"]}}},{"type":"object","required":["data","result"],"properties":{"data":{"type":"string"},"result":{"type":"string","enum":["UnknownIdentifier"]}}},{"type":"object","required":["data","result"],"properties":{"data":{"type":"string"},"result":{"type":"string","enum":["NullValue"]}}}]}},"components/schemas/types.calculation.calculation_assembly_cost.v1.CostSummaryResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.CostSummaryResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.CostSummaryResponse","data":{"type":"object","required":["total_cost","total_profit","total_price"],"properties":{"total_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"},"total_profit":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"},"total_price":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.CostTypeResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.CostTypeResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.CostTypeResponse","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/MonetaryValue"},"type":{"type":"string","enum":["Fixed"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"type":"string"},"type":{"type":"string","enum":["Fraction"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.OverridableFormulaResponse"},"type":{"type":"string","enum":["Formula"]}}}]}},"components/schemas/types.calculation.calculation_assembly_cost.v1.CustomCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.CustomCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.CustomCostResponse","data":{"type":"object","required":["extra_costs"],"properties":{"profit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse"}]},"discount":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse"}]},"extra_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ExtraCostResponse"}}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse","data":{"type":"object","required":["cost_specification","unit_cost_value","unit_cost_fraction","total_cost_value","is_locked"],"properties":{"cost_specification":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.CostTypeResponse"},"unit_cost_value":{"$ref":"#/components/schemas/MonetaryValue"},"unit_cost_fraction":{"type":"string"},"total_cost_value":{"$ref":"#/components/schemas/MonetaryValue"},"is_locked":{"type":"boolean","description":"Determine if the row is locked. Locked means, that from the template this row originates from it is not supposed to be changed by the user when viewing calculation."}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.ExtraCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.ExtraCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.ExtraCostResponse","data":{"type":"object","required":["name","cost"],"properties":{"name":{"type":"string"},"cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","data":{"type":"object","required":["unit_cost","total_cost"],"properties":{"unit_cost":{"$ref":"#/components/schemas/MonetaryValue"},"total_cost":{"$ref":"#/components/schemas/MonetaryValue"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.FormulaCostType":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.FormulaCostType","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.FormulaCostType","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["script","currency"],"properties":{"script":{"type":"string"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"type":{"type":"string","enum":["Fixed"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["script"],"properties":{"script":{"type":"string"}}},"type":{"type":"string","enum":["Fraction"]}}}]}},"components/schemas/types.calculation.calculation_assembly_cost.v1.ManufacturingCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.ManufacturingCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.ManufacturingCostResponse","data":{"type":"object","required":["base_cost","cost","custom_cost","sub_total_cost","price"],"properties":{"base_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Manufacturing cost excluding additives (e.g. project cost)."},"cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Manufacturing cost including additives (e.g. project cost)."},"custom_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.CustomCostResponse"},"sub_total_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Total of all the costs excluding profits and discount."},"price":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total of all the unit cells for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.MaterialCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.MaterialCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.MaterialCostResponse","data":{"type":"object","required":["base_cost","cost","excess_material_cost","custom_cost","sub_total_cost","price"],"properties":{"base_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Material cost excluding additives (e.g. excess material cost)."},"cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Material cost including additives (e.g. excess material cost)."},"excess_material_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"},"custom_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.CustomCostResponse"},"sub_total_cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":"Total of all the costs excluding profits and discount."},"price":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total of all the unit cells for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"custom_cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.OverridableFormula":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.OverridableFormula","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.OverridableFormula","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["calculated","manually_overridden"],"properties":{"calculated":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FormulaCostType"},"manually_overridden":{"type":"string"}}},"type":{"type":"string","enum":["Overridden"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["calculated"],"properties":{"calculated":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FormulaCostType"}}},"type":{"type":"string","enum":["Evaluated"]}}}]}},"components/schemas/types.calculation.calculation_assembly_cost.v1.OverridableFormulaResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.OverridableFormulaResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.OverridableFormulaResponse","data":{"type":"object","required":["result","formula"],"properties":{"result":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.CalculationResult_Option_f64"},"formula":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.OverridableFormula"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.ProjectCostResponse","data":{"type":"object","required":["cost","price","activity_costs","expense_costs"],"properties":{"cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"},"profit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.DynamicCostCellResponse"}]},"price":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total of all the unit cells for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cost"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"profit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"activity_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectEntityCostCellResponse"}},"expense_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectEntityCostCellResponse"}},"one_time_costs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"}]}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectEntityCostCellResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.ProjectEntityCostCellResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.ProjectEntityCostCellResponse","data":{"type":"object","required":["id","name","cost"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"cost":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.FixedCostCellResponse"}}}},"components/schemas/types.calculation.calculation_assembly_cost.v1.ScenarioCostResponse":{"id":"components/schemas/types.calculation.calculation_assembly_cost.v1.ScenarioCostResponse","kind":"json-schema","title":"types.calculation.calculation_assembly_cost.v1.ScenarioCostResponse","data":{"type":"object","required":["scenario_combination_id","manufacturing_scenario_id","sourcing_scenario_id","order_size","batch_size_costs"],"properties":{"scenario_combination_id":{"type":"string","format":"uuid","description":"The ID of the scenario combination that was submitted for calculations."},"manufacturing_scenario_id":{"type":"string","format":"uuid","description":"The ID of the manufacturing scenario that this scenario cost is associated with. This may be absent for frozen\ncosts which were created before April 3rd, 2025."},"sourcing_scenario_id":{"type":"string","format":"uuid","description":"The ID of the sourcing scenario that this scenario cost is associated with. This may be absent for frozen costs\nwhich were created before April 3rd, 2025."},"order_size":{"type":"integer","format":"int32"},"sourcing_total_availability":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.availability.v1.AggregatedAvailabilityIncludingShippingTime"}]},"manufacturing_lead_time":{"type":["integer","null"],"format":"int32"},"total_lead_time":{"type":["integer","null"],"format":"int32"},"batch_size_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.calculation.calculation_assembly_cost.v1.BatchSizeDataResponse"}}}}},"components/schemas/types.compliance.v1.ComplianceStatus":{"id":"components/schemas/types.compliance.v1.ComplianceStatus","kind":"json-schema","title":"types.compliance.v1.ComplianceStatus","data":{"type":"string","enum":["NonCompliant","Unknown","NotRequired","CompliantWithExemption","Compliant"]}},"components/schemas/types.custom_part.panel.v1.Depanelization":{"id":"components/schemas/types.custom_part.panel.v1.Depanelization","kind":"json-schema","title":"types.custom_part.panel.v1.Depanelization","data":{"type":"string","enum":["VCut","Milling","MillingAndVCut"]}},"components/schemas/types.custom_part.panel.v1.Padding":{"id":"components/schemas/types.custom_part.panel.v1.Padding","kind":"json-schema","title":"types.custom_part.panel.v1.Padding","data":{"type":"object","required":["top_in_mm","bottom_in_mm","left_in_mm","right_in_mm"],"properties":{"top_in_mm":{"type":"string"},"bottom_in_mm":{"type":"string"},"left_in_mm":{"type":"string"},"right_in_mm":{"type":"string"}}}},"components/schemas/types.custom_part.panel.v1.PanelDetails":{"id":"components/schemas/types.custom_part.panel.v1.PanelDetails","kind":"json-schema","title":"types.custom_part.panel.v1.PanelDetails","data":{"type":"object","required":["row_count","column_count","horizontal_spacing_in_mm","vertical_spacing_in_mm","min_milling_distance_in_mm","padding","depanelization","pcb_is_rotated"],"properties":{"row_count":{"type":"integer","format":"int32"},"column_count":{"type":"integer","format":"int32"},"horizontal_spacing_in_mm":{"type":"string"},"vertical_spacing_in_mm":{"type":"string"},"min_milling_distance_in_mm":{"type":"string"},"padding":{"$ref":"#/components/schemas/types.custom_part.panel.v1.Padding"},"depanelization":{"$ref":"#/components/schemas/types.custom_part.panel.v1.Depanelization"},"panel_preference":{"type":["string","null"],"format":"uuid"},"max_x_outs":{"type":["integer","null"],"format":"int32"},"pcb_is_rotated":{"type":"boolean"}}}},"components/schemas/types.custom_part.v1.CustomPart":{"id":"components/schemas/types.custom_part.v1.CustomPart","kind":"json-schema","title":"types.custom_part.v1.CustomPart","data":{"type":"object","required":["id","part_type","category","reach_compliant","rohs_compliant"],"properties":{"id":{"type":"string","format":"uuid"},"part_type":{"$ref":"#/components/schemas/types.custom_part.v1.CustomPartType"},"category":{"$ref":"#/components/schemas/types.custom_part.v1.CustomPartCategoryDetails"},"description":{"type":["string","null"]},"reach_compliant":{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus"},"rohs_compliant":{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus"}}}},"components/schemas/types.custom_part.v1.CustomPartCategory":{"id":"components/schemas/types.custom_part.v1.CustomPartCategory","kind":"json-schema","title":"types.custom_part.v1.CustomPartCategory","data":{"type":"object","required":["id","category","origin"],"properties":{"id":{"type":"string","format":"uuid"},"category":{"type":"string"},"identifier":{"type":["string","null"]},"description":{"type":["string","null"]},"origin":{"$ref":"#/components/schemas/types.custom_part.v1.CustomPartCategoryOrigin"},"parent":{"type":["string","null"],"format":"uuid"}}}},"components/schemas/types.custom_part.v1.CustomPartCategoryDetails":{"id":"components/schemas/types.custom_part.v1.CustomPartCategoryDetails","kind":"json-schema","title":"types.custom_part.v1.CustomPartCategoryDetails","data":{"oneOf":[{"type":"object","required":["PCB"],"properties":{"PCB":{"type":"object","required":["user_category"],"properties":{"pcb_id":{"type":["string","null"],"format":"uuid"},"user_category":{"$ref":"#/components/schemas/types.custom_part.v1.CustomPartCategory"}}}}},{"type":"object","required":["Other"],"properties":{"Other":{"type":"object","required":["user_category"],"properties":{"user_category":{"$ref":"#/components/schemas/types.custom_part.v1.CustomPartCategory"}}}}}]}},"components/schemas/types.custom_part.v1.CustomPartCategoryOrigin":{"id":"components/schemas/types.custom_part.v1.CustomPartCategoryOrigin","kind":"json-schema","title":"types.custom_part.v1.CustomPartCategoryOrigin","data":{"type":"string","enum":["System","User","Import"]}},"components/schemas/types.custom_part.v1.CustomPartType":{"id":"components/schemas/types.custom_part.v1.CustomPartType","kind":"json-schema","title":"types.custom_part.v1.CustomPartType","data":{"oneOf":[{"type":"object","required":["content","name"],"properties":{"content":{"type":["string","null"],"format":"uuid"},"name":{"type":"string","enum":["PCB"]}}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","enum":["Mechanical"]}}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","enum":["Plastic"]}}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","enum":["Cable"]}}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","enum":["Packaging"]}}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","enum":["Label"]}}},{"type":"object","required":["name"],"properties":{"name":{"type":"string","enum":["Other"]}}}]}},"components/schemas/types.customer.v1.AllCustomerResponse":{"id":"components/schemas/types.customer.v1.AllCustomerResponse","kind":"json-schema","title":"types.customer.v1.AllCustomerResponse","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.customer.v1.CustomerResponse"}}}}},"components/schemas/types.customer.v1.CustomerBillingAddress":{"id":"components/schemas/types.customer.v1.CustomerBillingAddress","kind":"json-schema","title":"types.customer.v1.CustomerBillingAddress","data":{"type":"object","properties":{"line1":{"type":["string","null"],"description":"Country code in ISO 3166-1 alpha-2 format."},"line2":{"type":["string","null"]},"postal_code":{"type":["string","null"]},"city":{"type":["string","null"]},"country_code":{"type":["string","null"]}}}},"components/schemas/types.customer.v1.CustomerBusinessData":{"id":"components/schemas/types.customer.v1.CustomerBusinessData","kind":"json-schema","title":"types.customer.v1.CustomerBusinessData","data":{"oneOf":[{"type":"object","required":["customer_type"],"properties":{"customer_type":{"type":"string","enum":["private"]}}},{"type":"object","required":["customer_type"],"properties":{"vat_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.vat.v1.CompleteVatId"}]},"commercial_register_number":{"type":["string","null"]},"customer_type":{"type":"string","enum":["business"]}}}]}},"components/schemas/types.customer.v1.CustomerInput":{"id":"components/schemas/types.customer.v1.CustomerInput","kind":"json-schema","title":"types.customer.v1.CustomerInput","data":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"default_contact_person":{"type":["string","null"],"format":"uuid"},"customer_number":{"type":["string","null"]},"language":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.Language"}]},"vat_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.vat.v1.CompleteVatId"}]},"commercial_register_number":{"type":["string","null"]},"billing_address":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.CustomerBillingAddress"}]}}}},"components/schemas/types.customer.v1.CustomerResponse":{"id":"components/schemas/types.customer.v1.CustomerResponse","kind":"json-schema","title":"types.customer.v1.CustomerResponse","data":{"type":"object","required":["id","name","language"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"billing_address":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.CustomerBillingAddress"}]},"default_contact_person":{"type":["string","null"],"format":"uuid"},"customer_number":{"type":["string","null"]},"language":{"$ref":"#/components/schemas/types.customer.v1.Language"},"vat_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.vat.v1.CompleteVatId"}]},"commercial_register_number":{"type":["string","null"]}}}},"components/schemas/types.customer.v1.CustomerUpdate":{"id":"components/schemas/types.customer.v1.CustomerUpdate","kind":"json-schema","title":"types.customer.v1.CustomerUpdate","data":{"type":"object","properties":{"name":{"type":["string","null"]},"default_contact_person":{"type":["string","null"],"format":"uuid"},"customer_number":{"type":["string","null"]},"language":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.Language"}]},"business_data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.CustomerBusinessData","description":"If not provided, the customer type will not be updated."}]},"billing_address":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.CustomerBillingAddress"}]}}}},"components/schemas/types.customer.v1.Language":{"id":"components/schemas/types.customer.v1.Language","kind":"json-schema","title":"types.customer.v1.Language","data":{"type":"string","enum":["de","en","es","fr","it","th","zh","ja","hi","cs","nl","hu","pt","fi","sv","pl","tr"]}},"components/schemas/types.demand.v1.DemandCreationRequestItem":{"id":"components/schemas/types.demand.v1.DemandCreationRequestItem","kind":"json-schema","title":"types.demand.v1.DemandCreationRequestItem","data":{"type":"object","required":["type","internal_part_number","quantity","delivery_start_date","delivery_end_date"],"properties":{"type":{"$ref":"#/components/schemas/types.demand.v1.DemandType","description":"\"gross\": Represents gross demand (total demand before considering inventory)\n\"net\": Represents net demand (demand after considering inventory)"},"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumberIdentifiers","description":"The internal part number. Can be for an assembly or a component."},"quantity":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.QuantityUnit"},"ship_to_site":{"type":["string","null"],"description":"The name or site number of the site that will receive the item. Can be an internal or external (EMS) site."},"supplier":{"type":["string","null"],"description":"The name or site number of the site that will supply the item. Only used for assembly demands.\nCan be an internal or external (EMS) site that manufactures the assembly.\nThe supplier site of an assembly will be used as the Ship to site for the calculated component demands (as the site that does the assembly needs to receive the components)."},"production_start_date":{"type":["string","null"],"format":"date","description":"Only used for assembly demands.\nThe production start date will be used as the delivery start date for the calculated demands of components from this assembly (because you need the components a little earlier to finish the assembly and fulfill the delivery start date of the assembly).\nIf no production start date is given, the delivery start date is used for the calculated component demands."},"delivery_start_date":{"type":"string","format":"date","description":"The start and end date indicate the time range for which the given quantity is needed.\nE.g. 2025-01-01 for the start date and 2025-12-31 for the end date indicates an annual demand for 2025.\nUsing the same date for start and end date indicates that the given quantity is needed on that specific date."},"delivery_end_date":{"type":"string","format":"date","description":"If not specified, the delivery start date will be used."},"end_customer":{"type":["string","null"],"description":"The customer number or name for the recipient of the finished good, regardless of any intermediary recipient (like internal or external sites used for assembly)."}}}},"components/schemas/types.demand.v1.DemandType":{"id":"components/schemas/types.demand.v1.DemandType","kind":"json-schema","title":"types.demand.v1.DemandType","data":{"type":"string","enum":["gross","net"]}},"components/schemas/types.flexible_calculation.v0.AllCalculationPlansResponse":{"id":"components/schemas/types.flexible_calculation.v0.AllCalculationPlansResponse","kind":"json-schema","title":"types.flexible_calculation.v0.AllCalculationPlansResponse","data":{"type":"array","items":{"$ref":"#/components/schemas/types.flexible_calculation.v0.CalculationPlanResponse"}}},"components/schemas/types.flexible_calculation.v0.AssemblyScenarioConfigurationResponse":{"id":"components/schemas/types.flexible_calculation.v0.AssemblyScenarioConfigurationResponse","kind":"json-schema","title":"types.flexible_calculation.v0.AssemblyScenarioConfigurationResponse","data":{"type":"object","required":["assembly_id","sourcing_scenario","batch_size"],"properties":{"assembly_id":{"type":"string","format":"uuid"},"sourcing_scenario":{"type":"string","format":"uuid"},"manufacturing_scenario":{"type":["string","null"],"format":"uuid"},"batch_size":{"type":"integer","format":"int32","minimum":0}}}},"components/schemas/types.flexible_calculation.v0.CalculationPlanLineItemResponse":{"id":"components/schemas/types.flexible_calculation.v0.CalculationPlanLineItemResponse","kind":"json-schema","title":"types.flexible_calculation.v0.CalculationPlanLineItemResponse","data":{"type":"object","required":["id","name","display_only","value","lock_mode"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"display_only":{"type":"boolean"},"note":{"type":["string","null"]},"value":{"$ref":"#/components/schemas/types.flexible_calculation.v0.LineItemValueResponse"},"lock_mode":{"$ref":"#/components/schemas/types.flexible_calculation.v0.LockModeResponse"},"exported_variable_id":{"type":["string","null"],"format":"uuid"}}}},"components/schemas/types.flexible_calculation.v0.CalculationPlanResponse":{"id":"components/schemas/types.flexible_calculation.v0.CalculationPlanResponse","kind":"json-schema","title":"types.flexible_calculation.v0.CalculationPlanResponse","data":{"type":"object","required":["id","name","rfq_id","currency","main_assembly","scenarios","sections","frozen","raw_template","selected_template","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"rfq_id":{"type":"string","format":"uuid"},"currency":{"type":"string"},"main_assembly":{"type":"string","format":"uuid"},"scenarios":{"type":"array","items":{"$ref":"#/components/schemas/types.flexible_calculation.v0.CalculationScenarioResponse"}},"sections":{"type":"array","items":{"$ref":"#/components/schemas/types.flexible_calculation.v0.CalculationPlanSectionResponse"}},"frozen":{"type":"boolean"},"raw_template":{},"selected_template":{"type":"string"},"frozen_result":{},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/types.flexible_calculation.v0.CalculationPlanSectionResponse":{"id":"components/schemas/types.flexible_calculation.v0.CalculationPlanSectionResponse","kind":"json-schema","title":"types.flexible_calculation.v0.CalculationPlanSectionResponse","data":{"type":"object","required":["id","name","line_items","lock_mode"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"line_items":{"type":"array","items":{"$ref":"#/components/schemas/types.flexible_calculation.v0.CalculationPlanLineItemResponse"}},"note":{"type":["string","null"]},"lock_mode":{"$ref":"#/components/schemas/types.flexible_calculation.v0.LockModeResponse"}}}},"components/schemas/types.flexible_calculation.v0.CalculationScenarioResponse":{"id":"components/schemas/types.flexible_calculation.v0.CalculationScenarioResponse","kind":"json-schema","title":"types.flexible_calculation.v0.CalculationScenarioResponse","data":{"type":"object","required":["id","name","assembly_configurations"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"assembly_configurations":{"type":"array","items":{"$ref":"#/components/schemas/types.flexible_calculation.v0.AssemblyScenarioConfigurationResponse"}}}}},"components/schemas/types.flexible_calculation.v0.ComparisonResponse":{"id":"components/schemas/types.flexible_calculation.v0.ComparisonResponse","kind":"json-schema","title":"types.flexible_calculation.v0.ComparisonResponse","data":{"oneOf":[{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"op":{"type":"string","enum":["greater_than"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"op":{"type":"string","enum":["greater_than_or_equal"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"op":{"type":"string","enum":["less_than"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"op":{"type":"string","enum":["less_than_or_equal"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"op":{"type":"string","enum":["equal"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"op":{"type":"string","enum":["not_equal"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.ComparisonResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.ComparisonResponse"},"op":{"type":"string","enum":["and"]}}},{"type":"object","required":["left","right","op"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.ComparisonResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.ComparisonResponse"},"op":{"type":"string","enum":["or"]}}}]}},"components/schemas/types.flexible_calculation.v0.CostLevelResponse":{"id":"components/schemas/types.flexible_calculation.v0.CostLevelResponse","kind":"json-schema","title":"types.flexible_calculation.v0.CostLevelResponse","data":{"type":"string","enum":["unit","batch","project"]}},"components/schemas/types.flexible_calculation.v0.FixedItemValueResponse":{"id":"components/schemas/types.flexible_calculation.v0.FixedItemValueResponse","kind":"json-schema","title":"types.flexible_calculation.v0.FixedItemValueResponse","data":{"type":"object","required":["value"],"properties":{"value":{"type":"number","format":"double"}}}},"components/schemas/types.flexible_calculation.v0.FormulaDisplayUnitResponse":{"id":"components/schemas/types.flexible_calculation.v0.FormulaDisplayUnitResponse","kind":"json-schema","title":"types.flexible_calculation.v0.FormulaDisplayUnitResponse","data":{"type":"string","enum":["percentage","number","dimensionless_number","monetary_value"]}},"components/schemas/types.flexible_calculation.v0.FormulaNodeResponse":{"id":"components/schemas/types.flexible_calculation.v0.FormulaNodeResponse","kind":"json-schema","title":"types.flexible_calculation.v0.FormulaNodeResponse","data":{"oneOf":[{"type":"object","required":["value","type"],"properties":{"value":{"type":"number","format":"double"},"type":{"type":"string","enum":["number"]}}},{"type":"object","required":["reference","type"],"properties":{"reference":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["line_item"]}}},{"type":"object","required":["driver","type"],"properties":{"driver":{},"type":{"type":"string","enum":["driver"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["batch_size"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["order_size"]}}},{"type":"object","required":["left","right","type"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["sum"]}}},{"type":"object","required":["left","right","type"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["subtract"]}}},{"type":"object","required":["left","right","type"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["multiply"]}}},{"type":"object","required":["left","right","type"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["divide"]}}},{"type":"object","required":["test","then","else_","type"],"properties":{"test":{"$ref":"#/components/schemas/types.flexible_calculation.v0.ComparisonResponse"},"then":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"else_":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["if"]}}},{"type":"object","required":["operand","decimal_places","type"],"properties":{"operand":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"decimal_places":{"type":"integer","format":"int32","minimum":0},"type":{"type":"string","enum":["round"]}}},{"type":"object","required":["operand","type"],"properties":{"operand":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["log_e"]}}},{"type":"object","required":["operand","type"],"properties":{"operand":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["floor"]}}},{"type":"object","required":["operand","type"],"properties":{"operand":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["ceil"]}}},{"type":"object","required":["left","right","type"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["min"]}}},{"type":"object","required":["left","right","type"],"properties":{"left":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"right":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["max"]}}},{"type":"object","required":["base","exponent","type"],"properties":{"base":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"exponent":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"type":{"type":"string","enum":["pow"]}}}]}},"components/schemas/types.flexible_calculation.v0.LineItemValueResponse":{"id":"components/schemas/types.flexible_calculation.v0.LineItemValueResponse","kind":"json-schema","title":"types.flexible_calculation.v0.LineItemValueResponse","data":{"oneOf":[{"type":"object","required":["level","values","display_unit","type"],"properties":{"level":{"$ref":"#/components/schemas/types.flexible_calculation.v0.CostLevelResponse"},"values":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FixedItemValueResponse"},"propertyNames":{"type":"string","format":"uuid"}},"display_unit":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaDisplayUnitResponse"},"type":{"type":"string","enum":["fixed"]}}},{"type":"object","required":["reference_items","values","type"],"properties":{"reference_items":{"type":"array","items":{"$ref":"#/components/schemas/CalculationLineItemId"},"uniqueItems":true},"values":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/types.flexible_calculation.v0.PercentageItemValueResponse"},"propertyNames":{"type":"string","format":"uuid"}},"type":{"type":"string","enum":["percentage"]}}},{"type":"object","required":["reference_item","values","type"],"properties":{"reference_item":{"type":"string","format":"uuid"},"values":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/types.flexible_calculation.v0.PercentageItemValueResponse"},"propertyNames":{"type":"string","format":"uuid"}},"type":{"type":"string","enum":["reverse_percentage"]}}},{"type":"object","required":["scope","range","type"],"properties":{"scope":{"$ref":"#/components/schemas/types.flexible_calculation.v0.SubtotalScopeResponse"},"range":{"$ref":"#/components/schemas/types.flexible_calculation.v0.SubtotalRangeResponse"},"type":{"type":"string","enum":["subtotal"]}}},{"type":"object","required":["level","formula","display_unit","type"],"properties":{"level":{"$ref":"#/components/schemas/types.flexible_calculation.v0.CostLevelResponse"},"assembly":{"type":["string","null"],"format":"uuid"},"formula":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaNodeResponse"},"display_unit":{"$ref":"#/components/schemas/types.flexible_calculation.v0.FormulaDisplayUnitResponse"},"type":{"type":"string","enum":["formula"]}}},{"allOf":[{"$ref":"#/components/schemas/types.flexible_calculation.v0.VariableLineItemResponse"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["variable"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["notes"]}}}]}},"components/schemas/types.flexible_calculation.v0.LockModeResponse":{"id":"components/schemas/types.flexible_calculation.v0.LockModeResponse","kind":"json-schema","title":"types.flexible_calculation.v0.LockModeResponse","data":{"type":"string","enum":["none","partial","full"]}},"components/schemas/types.flexible_calculation.v0.ManufacturingVariableLineItemResponse":{"id":"components/schemas/types.flexible_calculation.v0.ManufacturingVariableLineItemResponse","kind":"json-schema","title":"types.flexible_calculation.v0.ManufacturingVariableLineItemResponse","data":{"oneOf":[{"type":"object","required":["assembly_id","show_process_breakdown","variable"],"properties":{"assembly_id":{"type":"string","format":"uuid"},"show_process_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["unit_costs"]}}},{"type":"object","required":["assembly_id","show_process_breakdown","variable"],"properties":{"assembly_id":{"type":"string","format":"uuid"},"show_process_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["batch_costs"]}}},{"type":"object","required":["assembly_id","show_process_breakdown","variable"],"properties":{"assembly_id":{"type":"string","format":"uuid"},"show_process_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["total_cost"]}}},{"type":"object","required":["assembly_id","show_process_breakdown","variable"],"properties":{"assembly_id":{"type":"string","format":"uuid"},"show_process_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["project_costs"]}}},{"type":"object","required":["assembly_id","show_process_breakdown","variable"],"properties":{"assembly_id":{"type":"string","format":"uuid"},"show_process_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["total_cost_with_project_costs"]}}}]}},"components/schemas/types.flexible_calculation.v0.PercentageItemValueResponse":{"id":"components/schemas/types.flexible_calculation.v0.PercentageItemValueResponse","kind":"json-schema","title":"types.flexible_calculation.v0.PercentageItemValueResponse","data":{"type":"object","required":["fractional_value"],"properties":{"fractional_value":{"type":"number","format":"double"}}}},"components/schemas/types.flexible_calculation.v0.SourcingVariableLineItemResponse":{"id":"components/schemas/types.flexible_calculation.v0.SourcingVariableLineItemResponse","kind":"json-schema","title":"types.flexible_calculation.v0.SourcingVariableLineItemResponse","data":{"oneOf":[{"type":"object","required":["assembly","show_pcb_breakdown","variable"],"properties":{"assembly":{"type":"string","format":"uuid"},"show_pcb_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["total_price"]}}},{"type":"object","required":["assembly","show_pcb_breakdown","variable"],"properties":{"assembly":{"type":"string","format":"uuid"},"show_pcb_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["unit_price"]}}},{"type":"object","required":["assembly","variable"],"properties":{"assembly":{"type":"string","format":"uuid"},"variable":{"type":"string","enum":["excess_material_cost"]}}},{"type":"object","required":["assembly","variable"],"properties":{"assembly":{"type":"string","format":"uuid"},"variable":{"type":"string","enum":["scrap_cost"]}}},{"type":"object","required":["assembly","show_one_time_cost_breakdown","variable"],"properties":{"assembly":{"type":"string","format":"uuid"},"show_one_time_cost_breakdown":{"type":"boolean"},"variable":{"type":"string","enum":["one_time_cost"]}}},{"type":"object","required":["assembly","variable"],"properties":{"assembly":{"type":"string","format":"uuid"},"variable":{"type":"string","enum":["total_tco_cost"]}}}]}},"components/schemas/types.flexible_calculation.v0.SubtotalRangeResponse":{"id":"components/schemas/types.flexible_calculation.v0.SubtotalRangeResponse","kind":"json-schema","title":"types.flexible_calculation.v0.SubtotalRangeResponse","data":{"type":"string","enum":["from_previous_subtotal","from_beginning"]}},"components/schemas/types.flexible_calculation.v0.SubtotalScopeResponse":{"id":"components/schemas/types.flexible_calculation.v0.SubtotalScopeResponse","kind":"json-schema","title":"types.flexible_calculation.v0.SubtotalScopeResponse","data":{"type":"string","enum":["current_section","all_sections"]}},"components/schemas/types.flexible_calculation.v0.VariableLineItemResponse":{"id":"components/schemas/types.flexible_calculation.v0.VariableLineItemResponse","kind":"json-schema","title":"types.flexible_calculation.v0.VariableLineItemResponse","data":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/types.flexible_calculation.v0.SourcingVariableLineItemResponse"},{"type":"object","required":["variable_type"],"properties":{"variable_type":{"type":"string","enum":["sourcing"]}}}]},{"allOf":[{"$ref":"#/components/schemas/types.flexible_calculation.v0.ManufacturingVariableLineItemResponse"},{"type":"object","required":["variable_type"],"properties":{"variable_type":{"type":"string","enum":["manufacturing"]}}}]},{"type":"object","required":["calculation","scenario_mapping","exported_variable_id","variable_type"],"properties":{"calculation":{"type":"string","format":"uuid"},"scenario_mapping":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CalculationScenarioId"},"propertyNames":{"type":"string","format":"uuid"}},"exported_variable_id":{"type":"string","format":"uuid"},"variable_type":{"type":"string","enum":["calculation"]}}}]}},"components/schemas/types.ipn.v1.ComponentExportResponse":{"id":"components/schemas/types.ipn.v1.ComponentExportResponse","kind":"json-schema","title":"types.ipn.v1.ComponentExportResponse","data":{"type":"object","required":["components"],"properties":{"components":{"type":"array","items":{"$ref":"#/components/schemas/types.ipn.v1.ExportedComponentResponse"},"description":"List of components matching the requested IPN value, including all revisions."}}}},"components/schemas/types.ipn.v1.ComponentRiskResponse":{"id":"components/schemas/types.ipn.v1.ComponentRiskResponse","kind":"json-schema","title":"types.ipn.v1.ComponentRiskResponse","data":{"type":"object","required":["components"],"properties":{"components":{"type":"array","items":{"$ref":"#/components/schemas/types.ipn.v1.SingleComponentRiskResponse"}}}}},"components/schemas/types.ipn.v1.ExportedCapacitorSpecification":{"id":"components/schemas/types.ipn.v1.ExportedCapacitorSpecification","kind":"json-schema","title":"types.ipn.v1.ExportedCapacitorSpecification","data":{"type":"object","required":["capacitance_farads"],"properties":{"capacitance_farads":{"type":"string","description":"Capacitance value in farads."},"tolerance_percent":{"type":["string","null"],"description":"Tolerance in percent."},"voltage_rating_volts":{"type":["string","null"],"description":"Voltage rating in volts."},"dielectric":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.ipn.v1.ExportedDielectricResponse","description":"Dielectric type and material."}]}}}},"components/schemas/types.ipn.v1.ExportedComponentResponse":{"id":"components/schemas/types.ipn.v1.ExportedComponentResponse","kind":"json-schema","title":"types.ipn.v1.ExportedComponentResponse","data":{"type":"object","required":["internal_part_number","type","is_preferred","risk_data","linked_parts"],"properties":{"internal_part_number":{"$ref":"#/components/schemas/InternalPartNumberIdentifiers","description":"The component's internal part number with value and optional revision."},"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Component type: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"OffTheShelf\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Custom\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Off-the-shelf components have linked OTS parts (MPNs) and/or generic specifications."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom components have linked custom part specifications."},"children":[]}]}]}]},"category":{"type":["string","null"],"description":"Component category (e.g., \"Capacitor\", \"Resistor\", \"Cable\").\nMay be null if no category is assigned."},"is_preferred":{"type":"boolean","description":"Whether this component is marked as preferred in the Luminovo component library."},"risk_data":{"$ref":"#/components/schemas/types.ipn.v1.ExportedRiskDataResponse","description":"Aggregated compliance and lifecycle data derived from the component's linked parts."},"linked_parts":{"type":"array","items":{"$ref":"#/components/schemas/types.ipn.v1.ExportedLinkedPartResponse"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parts linked to this component. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field on each entry indicates the kind"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of linked part: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"OffTheShelf\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"GenericSpecification\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Custom\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/types.ipn.v1.ExportedDielectricResponse":{"id":"components/schemas/types.ipn.v1.ExportedDielectricResponse","kind":"json-schema","title":"types.ipn.v1.ExportedDielectricResponse","data":{"oneOf":[{"type":"object","description":"Ceramic dielectric with material code (e.g., \"X7R\", \"C0G\", \"X5R\").","required":["data","type"],"properties":{"data":{"type":"string","description":"Ceramic dielectric with material code (e.g., \"X7R\", \"C0G\", \"X5R\")."},"type":{"type":"string","enum":["Ceramic"]}}},{"type":"object","description":"Aluminium electrolytic dielectric.","required":["type"],"properties":{"type":{"type":"string","enum":["Aluminium"]}}},{"type":"object","description":"Film dielectric.","required":["type"],"properties":{"type":{"type":"string","enum":["Film"]}}},{"type":"object","description":"Tantalum dielectric.","required":["type"],"properties":{"type":{"type":"string","enum":["Tantalum"]}}}]}},"components/schemas/types.ipn.v1.ExportedGenericSpecificationResponse":{"id":"components/schemas/types.ipn.v1.ExportedGenericSpecificationResponse","kind":"json-schema","title":"types.ipn.v1.ExportedGenericSpecificationResponse","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/types.ipn.v1.ExportedResistorSpecification"},"type":{"type":"string","enum":["Resistor"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/types.ipn.v1.ExportedCapacitorSpecification"},"type":{"type":"string","enum":["Capacitor"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generic part specification. Discriminated by the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Field names match the component import API convention."},"children":[]}]}]}]}},"components/schemas/types.ipn.v1.ExportedLinkedPartResponse":{"id":"components/schemas/types.ipn.v1.ExportedLinkedPartResponse","kind":"json-schema","title":"types.ipn.v1.ExportedLinkedPartResponse","data":{"oneOf":[{"type":"object","description":"An off-the-shelf part identified by manufacturer part number (MPN).","required":["id","mpn","manufacturer","type"],"properties":{"id":{"type":"string","description":"Luminovo's internal UUID for this OTS part."},"mpn":{"type":"string","description":"Manufacturer part number."},"manufacturer":{"$ref":"#/components/schemas/types.ipn.v1.ExportedManufacturerResponse","description":"Manufacturer with ID and name."},"type":{"type":"string","enum":["OffTheShelf"]}}},{"type":"object","description":"A generic part specification describing technical requirements\n(e.g., a 100nF 50V X7R Capacitor) without a specific MPN.\nThe specification follows the same format as the component import API.","required":["specification","type"],"properties":{"specification":{"$ref":"#/components/schemas/types.ipn.v1.ExportedGenericSpecificationResponse","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Structured specification with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Resistor\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Capacitor\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and technical parameters (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"resistance_ohms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"capacitance_farads"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},"package":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.ipn.v1.ExportedPackageResponse","description":"Package information for this generic specification, if available."}]},"type":{"type":"string","enum":["GenericSpecification"]}}},{"type":"object","description":"A custom (non-electronic) part specification.","required":["id","category","type"],"properties":{"id":{"type":"string","description":"Luminovo's internal UUID for this custom part specification."},"category":{"type":"string","description":"Category of the custom part (e.g., \"Cable\", \"Mechanical\", \"PCB\")."},"description":{"type":["string","null"],"description":"Optional description of the custom part."},"drawing_number":{"type":["string","null"],"description":"Drawing number identifying the custom part's technical drawing."},"type":{"type":"string","enum":["Custom"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A part linked to a component. Discriminated by the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field."},"children":[]}]}]}]}},"components/schemas/types.ipn.v1.ExportedManufacturerResponse":{"id":"components/schemas/types.ipn.v1.ExportedManufacturerResponse","kind":"json-schema","title":"types.ipn.v1.ExportedManufacturerResponse","data":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","description":"Luminovo's internal UUID for this manufacturer."},"name":{"type":"string","description":"Manufacturer name."}}}},"components/schemas/types.ipn.v1.ExportedPackageResponse":{"id":"components/schemas/types.ipn.v1.ExportedPackageResponse","kind":"json-schema","title":"types.ipn.v1.ExportedPackageResponse","data":{"type":"object","required":["name","mounting"],"properties":{"name":{"type":"string","description":"Package name (e.g., \"0402\", \"SOD-123F\", \"QFN-48\")."},"mounting":{"type":"string","description":"Mounting type (e.g., \"SMT\", \"THT\")."}}}},"components/schemas/types.ipn.v1.ExportedResistorSpecification":{"id":"components/schemas/types.ipn.v1.ExportedResistorSpecification","kind":"json-schema","title":"types.ipn.v1.ExportedResistorSpecification","data":{"type":"object","required":["resistance_ohms"],"properties":{"resistance_ohms":{"type":"string","description":"Resistance value in ohms."},"tolerance_percent":{"type":["string","null"],"description":"Tolerance in percent."},"voltage_rating_volts":{"type":["string","null"],"description":"Voltage rating in volts."},"power_rating_watts":{"type":["string","null"],"description":"Power rating in watts."},"temperature_coefficient_ppmk":{"type":["string","null"],"description":"Temperature coefficient in ppm/K."}}}},"components/schemas/types.ipn.v1.ExportedRiskDataResponse":{"id":"components/schemas/types.ipn.v1.ExportedRiskDataResponse","kind":"json-schema","title":"types.ipn.v1.ExportedRiskDataResponse","data":{"type":"object","description":"Aggregated compliance and lifecycle data for a component.\n\nValues are derived from the component's linked parts.","required":["rohs_compliant","reach_compliant"],"properties":{"rohs_compliant":{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus","description":"Aggregated RoHS compliance status."},"reach_compliant":{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus","description":"Aggregated REACH compliance status."},"aecq_compliant":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus","description":"Aggregated AEC-Q compliance status. Null for custom components."}]},"lifecycle_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.lifecycle.v1.LifecycleEnum","description":"Aggregated lifecycle status (e.g., Active, EndOfLife, Obsolete). Null for custom components."}]},"lifecycle_yteol":{"type":["number","null"],"format":"double","description":"Maximum years-to-end-of-life across all linked parts, rounded down to one decimal.\nNull if no lifecycle data is available."}}}},"components/schemas/types.ipn.v1.PaginatedComponentExportResponse":{"id":"components/schemas/types.ipn.v1.PaginatedComponentExportResponse","kind":"json-schema","title":"types.ipn.v1.PaginatedComponentExportResponse","data":{"type":"object","required":["components","page","page_size","total_count"],"properties":{"components":{"type":"array","items":{"$ref":"#/components/schemas/types.ipn.v1.ExportedComponentResponse"},"description":"Components on the current page."},"page":{"type":"integer","format":"int64","description":"Current page number (1-based)."},"page_size":{"type":"integer","format":"int64","description":"Number of components per page."},"total_count":{"type":"integer","format":"int64","description":"Total number of components across all pages."}}}},"components/schemas/types.ipn.v1.SingleComponentRiskResponse":{"id":"components/schemas/types.ipn.v1.SingleComponentRiskResponse","kind":"json-schema","title":"types.ipn.v1.SingleComponentRiskResponse","data":{"type":"object","required":["ipn","rohs_compliant","reach_compliant"],"properties":{"ipn":{"type":"string"},"revision":{"type":["string","null"]},"std_factory_lead_time":{"type":["integer","null"],"format":"int64"},"rohs_compliant":{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus"},"reach_compliant":{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus"},"aecq_compliant":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.compliance.v1.ComplianceStatus"}]},"lifecycle_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.lifecycle.v1.LifecycleEnum"}]},"lifecycle_yteol":{"type":["number","null"],"format":"double"}}}},"components/schemas/types.lifecycle.v1.LifecycleEnum":{"id":"components/schemas/types.lifecycle.v1.LifecycleEnum","kind":"json-schema","title":"types.lifecycle.v1.LifecycleEnum","data":{"type":"string","enum":["Unknown","PreRelease","Acquired","Active","NotRecommendedForNewDesigns","EndOfLife","Aftermarket","Obsolete"]}},"components/schemas/types.manufacturing.resource.v1.ResourceInput":{"id":"components/schemas/types.manufacturing.resource.v1.ResourceInput","kind":"json-schema","title":"types.manufacturing.resource.v1.ResourceInput","data":{"type":"object","required":["name","type","cost_per_hour"],"properties":{"name":{"type":"string"},"internal_number":{"type":["string","null"]},"type":{"$ref":"#/components/schemas/types.manufacturing.resource.v1.ResourceType"},"cost_per_hour":{"$ref":"#/components/schemas/MonetaryValue"},"description":{"type":["string","null"]},"site_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SiteId"}]}}}},"components/schemas/types.manufacturing.resource.v1.ResourceResponse":{"id":"components/schemas/types.manufacturing.resource.v1.ResourceResponse","kind":"json-schema","title":"types.manufacturing.resource.v1.ResourceResponse","data":{"type":"object","required":["id","name","type","cost_per_hour","status"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"internal_number":{"type":["string","null"]},"description":{"type":["string","null"]},"type":{"$ref":"#/components/schemas/types.manufacturing.resource.v1.ResourceType"},"cost_per_hour":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.ConvertedMonetaryValue"},"status":{"$ref":"#/components/schemas/types.manufacturing.v1.ManufacturingEntityStatus"},"site_id":{"type":["string","null"],"format":"uuid"}}}},"components/schemas/types.manufacturing.resource.v1.ResourceType":{"id":"components/schemas/types.manufacturing.resource.v1.ResourceType","kind":"json-schema","title":"types.manufacturing.resource.v1.ResourceType","data":{"type":"string","enum":["Machine","Person"]}},"components/schemas/types.manufacturing.resource.v1.ResourceUpdate":{"id":"components/schemas/types.manufacturing.resource.v1.ResourceUpdate","kind":"json-schema","title":"types.manufacturing.resource.v1.ResourceUpdate","data":{"type":"object","properties":{"name":{"type":["string","null"]},"internal_number":{"type":["string","null"]},"type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.manufacturing.resource.v1.ResourceType"}]},"cost_per_hour":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]},"description":{"type":["string","null"]},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.manufacturing.v1.ManufacturingEntityStatus"}]},"site_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SiteId"}]}}}},"components/schemas/types.manufacturing.v1.ManufacturingEntityStatus":{"id":"components/schemas/types.manufacturing.v1.ManufacturingEntityStatus","kind":"json-schema","title":"types.manufacturing.v1.ManufacturingEntityStatus","data":{"type":"string","enum":["Active","Inactive"]}},"components/schemas/types.offer_import_context.v1.AllOfferImportContextsResponse":{"id":"components/schemas/types.offer_import_context.v1.AllOfferImportContextsResponse","kind":"json-schema","title":"types.offer_import_context.v1.AllOfferImportContextsResponse","data":{"type":"object","description":"Every offer import context belonging to the tenant.","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.offer_import_context.v1.OfferImportContextResponse"}}}}},"components/schemas/types.offer_import_context.v1.OfferImportContextInput":{"id":"components/schemas/types.offer_import_context.v1.OfferImportContextInput","kind":"json-schema","title":"types.offer_import_context.v1.OfferImportContextInput","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fields for creating an offer import context."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contexts created through this API always have "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApiIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" origin, so"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the request takes no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field."},"children":[]}]}]}],"required":["name"],"properties":{"name":{"type":"string"},"description":{"type":["string","null"]}}}},"components/schemas/types.offer_import_context.v1.OfferImportContextResponse":{"id":"components/schemas/types.offer_import_context.v1.OfferImportContextResponse","kind":"json-schema","title":"types.offer_import_context.v1.OfferImportContextResponse","data":{"type":"object","description":"An offer import context: a named grouping that offers are imported under.","required":["id","name","origin","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":["string","null"]},"origin":{"$ref":"#/components/schemas/types.offer_import_context.v1.Origin"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate":{"id":"components/schemas/types.offer_import_context.v1.OfferImportContextUpdate","kind":"json-schema","title":"types.offer_import_context.v1.OfferImportContextUpdate","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fields to change on an offer import context."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is optional: omit it to leave the name unchanged. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tri-state: omit it to leave it unchanged, send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to clear it, or send a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value to set it. Origin is fixed at creation and cannot be changed."},"children":[]}]}]}],"properties":{"name":{"type":["string","null"]},"description":{"type":["string","null"]}}}},"components/schemas/types.offer_import_context.v1.Origin":{"id":"components/schemas/types.offer_import_context.v1.Origin","kind":"json-schema","title":"types.offer_import_context.v1.Origin","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The channel an import context's offers arrived through."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CsvIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the nightly job pulling CSV files from a customer's ERP"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"storage."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ApiIntegration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": programmatic import through the offers API."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ManualFileUpload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": a CSV file uploaded in the UI."},"children":[]}]}]}]}],"enum":["CsvIntegration","ApiIntegration","ManualFileUpload"]}},"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionInput":{"id":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionInput","kind":"json-schema","title":"types.order_management.order_selection_option.v1.CustomOrderSelectionOptionInput","data":{"type":"object","required":["external_id","order_size","batch_size","price","lead_time_in_days"],"properties":{"external_id":{"type":"string"},"order_size":{"type":"integer","format":"int32"},"batch_size":{"type":"integer","format":"int32"},"price":{"$ref":"#/components/schemas/MonetaryValue"},"lead_time_in_days":{"type":"integer","format":"int32"}}}},"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest":{"id":"components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest","kind":"json-schema","title":"types.order_management.order_selection_option.v1.CustomOrderSelectionOptionsRequest","data":{"type":"object","required":["rfq","options"],"properties":{"rfq":{"type":"string","format":"uuid"},"custom_text":{"type":["string","null"]},"custom_text_header":{"type":["string","null"]},"valid_until":{"type":["string","null"],"format":"date-time"},"options":{"type":"array","items":{"$ref":"#/components/schemas/types.order_management.order_selection_option.v1.CustomOrderSelectionOptionInput"}}}}},"components/schemas/types.order_management.orders.v1.GetOrdersResponse":{"id":"components/schemas/types.order_management.orders.v1.GetOrdersResponse","kind":"json-schema","title":"types.order_management.orders.v1.GetOrdersResponse","data":{"type":"object","properties":{"data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.order_management.orders.v1.OrderOverview"}]}}}},"components/schemas/types.order_management.orders.v1.OrderOverview":{"id":"components/schemas/types.order_management.orders.v1.OrderOverview","kind":"json-schema","title":"types.order_management.orders.v1.OrderOverview","data":{"type":"object","required":["id","customer_id","customer_name","order_size","total_price"],"properties":{"id":{"type":"string","format":"uuid"},"customer_id":{"type":"string","format":"uuid"},"customer_name":{"type":"string"},"customer_number":{"type":["string","null"]},"rfq_number":{"type":["string","null"]},"estimated_lead_time_in_days":{"type":["integer","null"],"format":"int32"},"order_size":{"type":"integer","format":"int32"},"total_price":{"$ref":"#/components/schemas/MonetaryValue"},"external_id":{"type":["string","null"]}}}},"components/schemas/types.parts.generic.v1.Dielectric":{"id":"components/schemas/types.parts.generic.v1.Dielectric","kind":"json-schema","title":"types.parts.generic.v1.Dielectric","data":{"oneOf":[{"type":"object","required":["dielectric","type"],"properties":{"dielectric":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.parts.generic.v1.DielectricCeramic"}]},"type":{"type":"string","enum":["Ceramic"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Aluminium"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Film"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Tantalum"]}}}]}},"components/schemas/types.parts.generic.v1.DielectricCeramic":{"id":"components/schemas/types.parts.generic.v1.DielectricCeramic","kind":"json-schema","title":"types.parts.generic.v1.DielectricCeramic","data":{"type":"string","enum":["X8R","C0G","NP0","X7R","X5R","X8L","Y5V","X6S","Z5U","X7S","Y5U","C0H","Y5R","Y5P","Y5T","U2J","Z5V","Z5P","K4000","X6T","X7T","Z5F"]}},"components/schemas/types.pcb_specification.v1.AttributeValue":{"id":"components/schemas/types.pcb_specification.v1.AttributeValue","kind":"json-schema","title":"types.pcb_specification.v1.AttributeValue","data":{"oneOf":[{"type":"boolean","title":"Boolean"},{"type":"number","title":"Number","format":"double"},{"type":"string","title":"String"},{"type":"array","title":"StringArray","items":{"type":"string"},"description":"A list of strings, for attributes that can hold several values (e.g.\nmultiple markings)."}],"description":"An extracted attribute value: a string, a number, a boolean, or a list of\nstrings, depending on the attribute."}},"components/schemas/types.pcb_specification.v1.DocumentBoundingBox":{"id":"components/schemas/types.pcb_specification.v1.DocumentBoundingBox","kind":"json-schema","title":"types.pcb_specification.v1.DocumentBoundingBox","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A rectangular region in the source document, with coordinates normalized to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[0, 1]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" range relative to the page's width and height."},"children":[]}]}]}],"required":["page","x","y","width","height"],"properties":{"page":{"type":"integer","format":"int32","description":"The 1-based page number the attribute was found on.","minimum":0},"x":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Left edge, normalized to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[0, 1]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the page width."},"children":[]}]}]}]},"y":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Top edge, normalized to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[0, 1]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the page height."},"children":[]}]}]}]},"width":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Width, normalized to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[0, 1]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the page width."},"children":[]}]}]}]},"height":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Height, normalized to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[0, 1]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the page height."},"children":[]}]}]}]}}}},"components/schemas/types.pcb_specification.v1.DocumentUpload":{"id":"components/schemas/types.pcb_specification.v1.DocumentUpload","kind":"json-schema","title":"types.pcb_specification.v1.DocumentUpload","data":{"type":"string","format":"binary","description":"The raw bytes of the document to extract."}},"components/schemas/types.pcb_specification.v1.ExtractedSpecificationAttribute":{"id":"components/schemas/types.pcb_specification.v1.ExtractedSpecificationAttribute","kind":"json-schema","title":"types.pcb_specification.v1.ExtractedSpecificationAttribute","data":{"type":"object","description":"A single extracted specification attribute.","required":["group","name","value","bounding_boxes"],"properties":{"group":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The specification group the attribute belongs to, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"board"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"layerStack"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mechanical"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reports"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"markings"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"miscellaneous"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The attribute name, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"baseMaterial"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"finalThickness"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surfaceFinish"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"impedanceTested"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"value":{"$ref":"#/components/schemas/types.pcb_specification.v1.AttributeValue","description":"The extracted value."},"unit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.pcb_specification.v1.PcbSpecificationUnit","description":"The unit for measurement values. Absent for non-measurement attributes."}]},"bounding_boxes":{"type":"array","items":{"$ref":"#/components/schemas/types.pcb_specification.v1.DocumentBoundingBox"},"description":"Where in the document this attribute was found. May be empty when the\nlocation could not be resolved."}}}},"components/schemas/types.pcb_specification.v1.PcbSpecificationExtractionResponse":{"id":"components/schemas/types.pcb_specification.v1.PcbSpecificationExtractionResponse","kind":"json-schema","title":"types.pcb_specification.v1.PcbSpecificationExtractionResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The structured PCB specification extracted from a document."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A flat list of attributes, each carrying the extracted value and — where it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"could be located — the bounding box(es) of where it was found in the source"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"document."},"children":[]}]}]}],"required":["attributes"],"properties":{"attributes":{"type":"array","items":{"$ref":"#/components/schemas/types.pcb_specification.v1.ExtractedSpecificationAttribute"}}}}},"components/schemas/types.pcb_specification.v1.PcbSpecificationUnit":{"id":"components/schemas/types.pcb_specification.v1.PcbSpecificationUnit","kind":"json-schema","title":"types.pcb_specification.v1.PcbSpecificationUnit","data":{"type":"string","description":"The unit of a measurement attribute.\n\nThis is a closed set matching the PCB specification importer's unit\nvocabulary. New units may be added over time as the importer evolves;\ntreat additions as non-breaking.","enum":["Millimeter","Inch","Micrometer","Mil","Microinch","SquareMillimeter","SquareInch","Celsius","Fahrenheit","Percentage","Ounce","HolesPerSquareMillimeter","HolesPerSquareInch"]}},"components/schemas/types.pnp.v1.BulkPnpItemsResponse":{"id":"components/schemas/types.pnp.v1.BulkPnpItemsResponse","kind":"json-schema","title":"types.pnp.v1.BulkPnpItemsResponse","data":{"type":"object","required":["warnings","items"],"properties":{"warnings":{"type":"array","items":{"$ref":"#/components/schemas/types.pnp.v1.Warning"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/types.pnp.v1.PnpItemResponse"}}}}},"components/schemas/types.pnp.v1.ColumnMapping":{"id":"components/schemas/types.pnp.v1.ColumnMapping","kind":"json-schema","title":"types.pnp.v1.ColumnMapping","data":{"type":"object","properties":{"side":{"type":["integer","null"],"minimum":0},"designator":{"type":["integer","null"],"minimum":0}}}},"components/schemas/types.pnp.v1.PnpColumn":{"id":"components/schemas/types.pnp.v1.PnpColumn","kind":"json-schema","title":"types.pnp.v1.PnpColumn","data":{"type":"string","enum":["Side","Designator"]}},"components/schemas/types.pnp.v1.PnpFileResponse":{"id":"components/schemas/types.pnp.v1.PnpFileResponse","kind":"json-schema","title":"types.pnp.v1.PnpFileResponse","data":{"type":"object","required":["id","assembly_id","file_name","state"],"properties":{"id":{"$ref":"#/components/schemas/PnpFileId"},"assembly_id":{"$ref":"#/components/schemas/AssemblyId"},"file_name":{"type":"string"},"state":{"$ref":"#/components/schemas/types.pnp.v1.PnpFileState"},"column_mapping":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.pnp.v1.ColumnMapping"}]},"url":{"type":["string","null"]}}}},"components/schemas/types.pnp.v1.PnpFileState":{"id":"components/schemas/types.pnp.v1.PnpFileState","kind":"json-schema","title":"types.pnp.v1.PnpFileState","data":{"type":"string","enum":["Created","Uploaded","Parsed"]}},"components/schemas/types.pnp.v1.PnpItemResponse":{"id":"components/schemas/types.pnp.v1.PnpItemResponse","kind":"json-schema","title":"types.pnp.v1.PnpItemResponse","data":{"type":"object","required":["id","pnp_file","designator"],"properties":{"id":{"$ref":"#/components/schemas/PnpItemId"},"pnp_file":{"$ref":"#/components/schemas/PnpFileId"},"designator":{"$ref":"#/components/schemas/String"},"side":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.pnp.v1.Side"}]},"design_item":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DesignItemId"}]},"mounting":{"type":["string","null"]}}}},"components/schemas/types.pnp.v1.PnpResponse":{"id":"components/schemas/types.pnp.v1.PnpResponse","kind":"json-schema","title":"types.pnp.v1.PnpResponse","data":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["PnpNotUploaded"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["ColumnMappingNotSubmitted"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/types.pnp.v1.BulkPnpItemsResponse"},"type":{"type":"string","enum":["PnpUploaded"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/types.pnp.v1.PnpFileResponse"},"type":{"type":"string","enum":["PnpUploadedButNotImported"]}}}]}},"components/schemas/types.pnp.v1.Side":{"id":"components/schemas/types.pnp.v1.Side","kind":"json-schema","title":"types.pnp.v1.Side","data":{"type":"string","enum":["Top","Bottom"]}},"components/schemas/types.pnp.v1.Warning":{"id":"components/schemas/types.pnp.v1.Warning","kind":"json-schema","title":"types.pnp.v1.Warning","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["column_type","row","col"],"properties":{"column_type":{"$ref":"#/components/schemas/types.pnp.v1.PnpColumn"},"row":{"type":"integer","minimum":0},"col":{"type":"integer","minimum":0}}},"type":{"type":"string","enum":["UnableToParseCell"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"type":"integer","minimum":0},"type":{"type":"string","enum":["DesignatorMissing"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/types.pnp.v1.PnpColumn"},"type":{"type":"string","enum":["ColumnMissing"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"$ref":"#/components/schemas/String"},"type":{"type":"string","enum":["DuplicateDesignatorData"]}}},{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["row","col_count","expected_col_count"],"properties":{"row":{"type":"integer","minimum":0},"col_count":{"type":"integer","minimum":0},"expected_col_count":{"type":"integer","minimum":0}}},"type":{"type":"string","enum":["VaryingColumnNumber"]}}}]}},"components/schemas/types.primitives.monetary_value.v1.ConvertedMonetaryValue":{"id":"components/schemas/types.primitives.monetary_value.v1.ConvertedMonetaryValue","kind":"json-schema","title":"types.primitives.monetary_value.v1.ConvertedMonetaryValue","data":{"type":"object","required":["converted_mv"],"properties":{"converted_mv":{"$ref":"#/components/schemas/MonetaryValue"}}}},"components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue":{"id":"components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue","kind":"json-schema","title":"types.primitives.monetary_value.v1.FloatingPointMoneyValue","data":{"type":"object","required":["amount","currency"],"properties":{"amount":{"type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair":{"id":"components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair","kind":"json-schema","title":"types.primitives.monetary_value.v1.FloatingPointMoneyValueExchangePair","data":{"type":"object","required":["converted_mv","original_mv"],"properties":{"converted_mv":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"},"original_mv":{"$ref":"#/components/schemas/types.primitives.monetary_value.v1.FloatingPointMoneyValue"}}}},"components/schemas/types.primitives.quantity_unit.v1.QuantityUnit":{"id":"components/schemas/types.primitives.quantity_unit.v1.QuantityUnit","kind":"json-schema","title":"types.primitives.quantity_unit.v1.QuantityUnit","data":{"oneOf":[{"type":"object","required":["quantity","unit"],"properties":{"quantity":{"type":"number","format":"double"},"unit":{"type":"string","enum":["Kg"]}}},{"type":"object","required":["quantity","unit"],"properties":{"quantity":{"type":"number","format":"double"},"unit":{"type":"string","enum":["Meters"]}}},{"type":"object","required":["quantity","unit"],"properties":{"quantity":{"type":"number","format":"double"},"unit":{"type":"string","enum":["Liters"]}}},{"type":"object","required":["quantity","unit"],"properties":{"quantity":{"type":"number","format":"double"},"unit":{"type":"string","enum":["Pieces"]}}}]}},"components/schemas/types.primitives.quantity_unit.v1.UnitOfMeasurement":{"id":"components/schemas/types.primitives.quantity_unit.v1.UnitOfMeasurement","kind":"json-schema","title":"types.primitives.quantity_unit.v1.UnitOfMeasurement","data":{"type":"object","required":["quantity_unit"],"properties":{"quantity_unit":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.QuantityUnit"}}}},"components/schemas/types.resource.v1.ResourceUrlResponse":{"id":"components/schemas/types.resource.v1.ResourceUrlResponse","kind":"json-schema","title":"types.resource.v1.ResourceUrlResponse","data":{"type":"object","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"}}}}},"components/schemas/types.rfq.costed_bom.v1.BomSupplierInfo":{"id":"components/schemas/types.rfq.costed_bom.v1.BomSupplierInfo","kind":"json-schema","title":"types.rfq.costed_bom.v1.BomSupplierInfo","data":{"type":"object","required":["supplier"],"properties":{"supplier":{"type":"string"},"supplier_number":{"type":["string","null"]},"supplier_part_number":{"type":["string","null"]}}}},"components/schemas/types.rfq.costed_bom.v1.CostedBOMComplianceInfo":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedBOMComplianceInfo","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedBOMComplianceInfo","data":{"type":"object","required":["rohs_compliant","china_rohs","reach_compliant","svhc_cas_number","prop65","conflict_mineral_status","eccn"],"properties":{"rohs_compliant":{"type":"string"},"rohs_version":{"type":["string","null"]},"china_rohs":{"type":"string"},"reach_compliant":{"type":"string"},"svhc_cas_number":{"type":"string"},"prop65":{"type":"string"},"conflict_mineral_status":{"type":"string"},"eccn":{"type":"string"},"hts_code":{"type":["string","null"]}}}},"components/schemas/types.rfq.costed_bom.v1.CostedBOMLifecycleInfo":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedBOMLifecycleInfo","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedBOMLifecycleInfo","data":{"type":"object","properties":{"lifecycle_yteol":{"type":["string","null"]},"lifecycle_yteol_range":{"type":["string","null"]},"last_time_delivery_date":{"type":["string","null"]},"last_time_buy_date":{"type":["string","null"]}}}},"components/schemas/types.rfq.costed_bom.v1.CostedBom":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedBom","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedBom","data":{"type":"object","required":["rfq_id","creation_date","top_level_assemblies","sourcing_scenarios"],"properties":{"rfq_id":{"type":"string","format":"uuid"},"creation_date":{"type":"string","format":"date-time"},"top_level_assemblies":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedBomAssembly"}},"sourcing_scenarios":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedSourcingScenario"}}}}},"components/schemas/types.rfq.costed_bom.v1.CostedBomAssembly":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedBomAssembly","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedBomAssembly","data":{"type":"object","required":["name","type","notes"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"notes":{"type":"string"}}}},"components/schemas/types.rfq.costed_bom.v1.CostedBomComponent":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedBomComponent","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedBomComponent","data":{"type":"object","required":["approved_parts","pending_parts","selected_parts","per_assembly_data","designators","manufacturer_part_number_bom","internal_part_number_bom","customer_part_number_bom","notes","do_not_place","manufacturer_free","consignment"],"properties":{"approved_parts":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedBomParts"},"pending_parts":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedBomParts"},"selected_parts":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.SelectedBomParts"},"per_assembly_data":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.PerAssemblyData"}},"designators":{"type":"array","items":{"type":"string"}},"manufacturer_part_number_bom":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The raw data from the BOMs tagged with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MPN"},"children":[]}]}]}]},"internal_part_number_bom":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The raw data from the BOMs tagged with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IPN"},"children":[]}]}]}]},"customer_part_number_bom":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The raw data from the BOMs tagged with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CPN"},"children":[]}]}]}]},"notes":{"type":"string"},"do_not_place":{"type":"boolean"},"manufacturer_free":{"type":"string","description":"Possible values: \"Yes\", \"Partially\", \"No\" or empty string"},"consignment":{"type":"boolean"}}}},"components/schemas/types.rfq.costed_bom.v1.CostedBomParts":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedBomParts","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedBomParts","data":{"oneOf":[{"type":"object","required":["items","part_type"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.OTSOrGenericPart"}},"part_type":{"type":"string","enum":["OffTheShelf"]}}},{"type":"object","required":["items","part_type"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CustomPart"}},"part_type":{"type":"string","enum":["Custom"]}}}]}},"components/schemas/types.rfq.costed_bom.v1.CostedPrice":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedPrice","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedPrice","data":{"type":"object","required":["one_time_costs"],"properties":{"price_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.PriceType"}]},"moq":{"type":["number","null"],"format":"double"},"mpq":{"type":["number","null"],"format":"double"},"unit_price":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]},"unit_price_original_currency":{"type":["string","null"]},"currency_exchange_rate":{"type":["string","null"]},"one_time_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Cost"}}}}},"components/schemas/types.rfq.costed_bom.v1.CostedSourcingScenario":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedSourcingScenario","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedSourcingScenario","data":{"type":"object","required":["name","solution_preference","summaries","components"],"properties":{"name":{"type":"string"},"solution_preference":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.SolutionPreference"},"summaries":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedSourcingScenarioSummary"}},"components":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedBomComponent"}}}}},"components/schemas/types.rfq.costed_bom.v1.CostedSourcingScenarioSummary":{"id":"components/schemas/types.rfq.costed_bom.v1.CostedSourcingScenarioSummary","kind":"json-schema","title":"types.rfq.costed_bom.v1.CostedSourcingScenarioSummary","data":{"type":"object","required":["assembly_name","order_size","status_counters"],"properties":{"assembly_name":{"type":"string"},"order_size":{"type":"integer","format":"int32"},"unit_price":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]},"one_time_costs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]},"total_price":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]},"total_excess_material":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]},"status_counters":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.SolutionStatusCount"}}}},"components/schemas/types.rfq.costed_bom.v1.CustomPart":{"id":"components/schemas/types.rfq.costed_bom.v1.CustomPart","kind":"json-schema","title":"types.rfq.costed_bom.v1.CustomPart","data":{"type":"object","required":["id","internal_part_numbers","part_description","part_type","reach_compliant","rohs_compliant"],"properties":{"id":{"type":"string","format":"uuid"},"internal_part_numbers":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.IpnInfo"}},"part_description":{"type":"string"},"part_type":{"type":"string"},"reach_compliant":{"type":"string"},"rohs_compliant":{"type":"string"}}}},"components/schemas/types.rfq.costed_bom.v1.GenericPart":{"id":"components/schemas/types.rfq.costed_bom.v1.GenericPart","kind":"json-schema","title":"types.rfq.costed_bom.v1.GenericPart","data":{"type":"object","required":["internal_part_numbers","generic_part_spec"],"properties":{"internal_part_numbers":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.IpnInfo"}},"generic_part_spec":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.GenericPartSpec"}}}},"components/schemas/types.rfq.costed_bom.v1.GenericPartSpec":{"id":"components/schemas/types.rfq.costed_bom.v1.GenericPartSpec","kind":"json-schema","title":"types.rfq.costed_bom.v1.GenericPartSpec","data":{"oneOf":[{"type":"object","required":["resistance_ohms","power_rating_watts","temperature_coefficient_ppmk","tolerance_percent","voltage_rating_volts","type"],"properties":{"resistance_ohms":{"type":"string"},"power_rating_watts":{"type":"string"},"temperature_coefficient_ppmk":{"type":"string"},"tolerance_percent":{"type":"string"},"voltage_rating_volts":{"type":"string"},"type":{"type":"string","enum":["Resistor"]}}},{"type":"object","required":["capacitance_farads","tolerance_percent","voltage_rating_volts","dielectric","type"],"properties":{"capacitance_farads":{"type":"string"},"tolerance_percent":{"type":"string"},"voltage_rating_volts":{"type":"string"},"dielectric":{"$ref":"#/components/schemas/types.parts.generic.v1.Dielectric"},"type":{"type":"string","enum":["Capacitor"]}}}]}},"components/schemas/types.rfq.costed_bom.v1.IpnInfo":{"id":"components/schemas/types.rfq.costed_bom.v1.IpnInfo","kind":"json-schema","title":"types.rfq.costed_bom.v1.IpnInfo","data":{"type":"object","required":["value","revision"],"properties":{"value":{"type":"string"},"revision":{"type":"string"}}}},"components/schemas/types.rfq.costed_bom.v1.OTSOrGenericPart":{"id":"components/schemas/types.rfq.costed_bom.v1.OTSOrGenericPart","kind":"json-schema","title":"types.rfq.costed_bom.v1.OTSOrGenericPart","data":{"oneOf":[{"type":"object","required":["bound_to_mpn"],"properties":{"bound_to_mpn":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.OTSPart"}}},{"type":"object","required":["generic"],"properties":{"generic":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.GenericPart"}}}]}},"components/schemas/types.rfq.costed_bom.v1.OTSPart":{"id":"components/schemas/types.rfq.costed_bom.v1.OTSPart","kind":"json-schema","title":"types.rfq.costed_bom.v1.OTSPart","data":{"type":"object","required":["internal_part_numbers","manufacturer_part_number","manufacturer"],"properties":{"internal_part_numbers":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.IpnInfo"}},"manufacturer_part_number":{"type":"string"},"manufacturer":{"type":"string"}}}},"components/schemas/types.rfq.costed_bom.v1.OfferId":{"id":"components/schemas/types.rfq.costed_bom.v1.OfferId","kind":"json-schema","title":"types.rfq.costed_bom.v1.OfferId","data":{"oneOf":[{"type":"object","required":["offer","offer_type"],"properties":{"offer":{"type":"string","format":"uuid"},"offer_type":{"type":"string","enum":["Other"]}}},{"type":"object","required":["offer","offer_type"],"properties":{"offer":{"type":"string","format":"uuid"},"offer_type":{"type":"string","enum":["CustomPart"]}}},{"type":"object","required":["offer","offer_type"],"properties":{"offer":{"type":"string","format":"uuid"},"offer_type":{"type":"string","enum":["Inventory"]}}},{"type":"object","required":["offer","offer_type"],"properties":{"offer":{"type":"string","format":"uuid"},"offer_type":{"type":"string","enum":["CustomPartInventory"]}}},{"type":"object","required":["offer","offer_type"],"properties":{"offer":{"type":"string","format":"uuid"},"offer_type":{"type":"string","enum":["Consigned"]}}},{"type":"object","required":["offer","offer_type"],"properties":{"offer":{"type":"string","format":"uuid"},"offer_type":{"type":"string","enum":["Aggregated"]}}}]}},"components/schemas/types.rfq.costed_bom.v1.PartInfo":{"id":"components/schemas/types.rfq.costed_bom.v1.PartInfo","kind":"json-schema","title":"types.rfq.costed_bom.v1.PartInfo","data":{"type":"object","required":["package","mounting","category","compliance","lifecycle","description","datasheet_url","part_warnings","country_of_origin","type"],"properties":{"package":{"type":"string"},"mounting":{"type":"string"},"pins":{"type":["integer","null"],"format":"int32"},"category":{"type":"string"},"compliance":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedBOMComplianceInfo"},"lifecycle":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedBOMLifecycleInfo"},"description":{"type":"string"},"datasheet_url":{"type":"string"},"part_warnings":{"type":"string"},"country_of_origin":{"type":"string"},"type":{"type":"string"}}}},"components/schemas/types.rfq.costed_bom.v1.PerAssemblyData":{"id":"components/schemas/types.rfq.costed_bom.v1.PerAssemblyData","kind":"json-schema","title":"types.rfq.costed_bom.v1.PerAssemblyData","data":{"type":"object","required":["assembly_name","designators","quantity"],"properties":{"assembly_name":{"type":"string"},"designators":{"type":"array","items":{"type":"string"}},"quantity":{"type":"number","format":"double"},"excess_material_quantity":{"type":["number","null"],"format":"double"}}}},"components/schemas/types.rfq.costed_bom.v1.PurchaseInfo":{"id":"components/schemas/types.rfq.costed_bom.v1.PurchaseInfo","kind":"json-schema","title":"types.rfq.costed_bom.v1.PurchaseInfo","data":{"type":"object","required":["quantity","offer_id","scrap_quantity","aggregated_quantity","solution_warnings","sourcing_notes","excess_material","purchase_options"],"properties":{"quantity":{"type":"number","format":"double","description":"Offer volume.\n\nNumber of units to be purchased."},"offer_id":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.OfferId"},"scrap_quantity":{"type":"number","format":"double"},"aggregated_quantity":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.QuantityUnit"},"solution_warnings":{"type":"array","items":{"type":"string"}},"sourcing_notes":{"type":"string"},"excess_material":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.PurchaseInfoExcess"},"purchase_options":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.PurchaseOption"}}}}},"components/schemas/types.rfq.costed_bom.v1.PurchaseInfoExcess":{"id":"components/schemas/types.rfq.costed_bom.v1.PurchaseInfoExcess","kind":"json-schema","title":"types.rfq.costed_bom.v1.PurchaseInfoExcess","data":{"type":"object","properties":{"quantity":{"type":["number","null"],"format":"double"},"costs":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]}}}},"components/schemas/types.rfq.costed_bom.v1.PurchaseOption":{"id":"components/schemas/types.rfq.costed_bom.v1.PurchaseOption","kind":"json-schema","title":"types.rfq.costed_bom.v1.PurchaseOption","data":{"type":"object","required":["offer_id","purchase_quantity","supplier","ncnr","price","last_updated"],"properties":{"offer_id":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.OfferId"},"offer_number":{"type":["string","null"]},"offer_notes":{"type":["string","null"]},"availability":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.availability.v1.AvailabilityWithShippingTime"}]},"purchase_quantity":{"type":"number","format":"double"},"origin":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OfferOrigin"}]},"valid_until":{"type":["string","null"],"format":"date-time"},"packaging":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Packaging"}]},"supplier":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.BomSupplierInfo"},"ncnr":{"type":"boolean"},"price":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.CostedPrice"},"factory_quantity":{"type":["number","null"],"format":"double"},"last_updated":{"type":"string","format":"date-time"}}}},"components/schemas/types.rfq.costed_bom.v1.SelectedBomParts":{"id":"components/schemas/types.rfq.costed_bom.v1.SelectedBomParts","kind":"json-schema","title":"types.rfq.costed_bom.v1.SelectedBomParts","data":{"oneOf":[{"type":"object","required":["items","part_type"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.SelectedOtsPart"}},"part_type":{"type":"string","enum":["OffTheShelf"]}}},{"type":"object","required":["items","part_type"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.SelectedCustomPart"}},"part_type":{"type":"string","enum":["Custom"]}}}]}},"components/schemas/types.rfq.costed_bom.v1.SelectedCustomPart":{"id":"components/schemas/types.rfq.costed_bom.v1.SelectedCustomPart","kind":"json-schema","title":"types.rfq.costed_bom.v1.SelectedCustomPart","data":{"type":"object","required":["customer_part_numbers","internal_part_numbers","internal_part_number_description","description","part_type","reach_compliant","rohs_compliant","valid_solutions","warning_solutions","error_solutions"],"properties":{"customer_part_numbers":{"type":"array","items":{"type":"string"}},"internal_part_numbers":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.IpnInfo"}},"internal_part_number_description":{"type":"string"},"description":{"type":"string"},"part_type":{"type":"string"},"reach_compliant":{"type":"string"},"rohs_compliant":{"type":"string"},"valid_solutions":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.ValidSolution"}},"warning_solutions":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.ValidSolution"}},"error_solutions":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.ValidSolution"}},"purchase_info":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.PurchaseInfo"}]}}}},"components/schemas/types.rfq.costed_bom.v1.SelectedOtsPart":{"id":"components/schemas/types.rfq.costed_bom.v1.SelectedOtsPart","kind":"json-schema","title":"types.rfq.costed_bom.v1.SelectedOtsPart","data":{"type":"object","required":["customer_part_numbers","internal_part_numbers","internal_part_number_description","manufacturer_part_number","manufacturer","valid_solutions","warning_solutions","error_solutions"],"properties":{"customer_part_numbers":{"type":"array","items":{"type":"string"}},"internal_part_numbers":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.IpnInfo"}},"internal_part_number_description":{"type":"string"},"manufacturer_part_number":{"type":"string"},"manufacturer":{"type":"string"},"part_info":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.PartInfo"}]},"valid_solutions":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.ValidSolution"}},"warning_solutions":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.ValidSolution"}},"error_solutions":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.ValidSolution"}},"purchase_info":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.PurchaseInfo"}]}}}},"components/schemas/types.rfq.costed_bom.v1.SolutionStatusCount":{"id":"components/schemas/types.rfq.costed_bom.v1.SolutionStatusCount","kind":"json-schema","title":"types.rfq.costed_bom.v1.SolutionStatusCount","data":{"type":"object","required":["number_of_ok","number_of_warning","number_of_error"],"properties":{"number_of_ok":{"type":"integer","format":"int32","minimum":0},"number_of_warning":{"type":"integer","format":"int32","minimum":0},"number_of_error":{"type":"integer","format":"int32","minimum":0}}}},"components/schemas/types.rfq.costed_bom.v1.ValidSolution":{"id":"components/schemas/types.rfq.costed_bom.v1.ValidSolution","kind":"json-schema","title":"types.rfq.costed_bom.v1.ValidSolution","data":{"type":"object","required":["quantity","offer_id","scrap_quantity","aggregated_quantity"],"properties":{"quantity":{"type":"number","format":"double"},"offer_id":{"$ref":"#/components/schemas/types.rfq.costed_bom.v1.OfferId"},"scrap_quantity":{"type":"number","format":"double"},"aggregated_quantity":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.QuantityUnit"}}}},"components/schemas/types.rfq.overview.v1.CustomerOverview":{"id":"components/schemas/types.rfq.overview.v1.CustomerOverview","kind":"json-schema","title":"types.rfq.overview.v1.CustomerOverview","data":{"type":"object","required":["customer_name"],"properties":{"customer_name":{"type":"string"},"customer_number":{"type":["string","null"]}}}},"components/schemas/types.rfq.overview.v1.SingleRfQOverview":{"id":"components/schemas/types.rfq.overview.v1.SingleRfQOverview","kind":"json-schema","title":"types.rfq.overview.v1.SingleRfQOverview","data":{"type":"object","required":["id","name","customer","creation_date","status","currency","is_archived"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"customer":{"$ref":"#/components/schemas/types.rfq.overview.v1.CustomerOverview"},"internal_number":{"type":["string","null"]},"creation_date":{"type":"string","format":"date-time"},"due_date":{"type":["string","null"],"format":"date-time"},"status":{"$ref":"#/components/schemas/types.rfq.status.v1.RfQStatus"},"created_by":{"type":["string","null"],"format":"uuid"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"is_archived":{"type":"boolean"}}}},"components/schemas/types.rfq.status.v1.RfQStatus":{"id":"components/schemas/types.rfq.status.v1.RfQStatus","kind":"json-schema","title":"types.rfq.status.v1.RfQStatus","data":{"type":"string","enum":["RequestInDraft","QuotationInProgress","QuotationAvailable","NoQuotation","NoOrder","OrderPlaced","OrderConfirmed","PaymentFailed","OrderInProcurement","OrderInProduction","OrderShipped"]}},"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory":{"id":"components/schemas/types.rfq.status_history.v1.AllRfqStatusHistory","kind":"json-schema","title":"types.rfq.status_history.v1.AllRfqStatusHistory","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.status_history.v1.RfqStatusHistory"}}}}},"components/schemas/types.rfq.status_history.v1.RfqStatusChange":{"id":"components/schemas/types.rfq.status_history.v1.RfqStatusChange","kind":"json-schema","title":"types.rfq.status_history.v1.RfqStatusChange","data":{"type":"object","required":["updated_at","new_status"],"properties":{"updated_at":{"type":"string","format":"date-time"},"updated_by":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UserId"}]},"previous_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.status.v1.RfQStatus"}]},"new_status":{"$ref":"#/components/schemas/types.rfq.status.v1.RfQStatus"}}}},"components/schemas/types.rfq.status_history.v1.RfqStatusHistory":{"id":"components/schemas/types.rfq.status_history.v1.RfqStatusHistory","kind":"json-schema","title":"types.rfq.status_history.v1.RfqStatusHistory","data":{"type":"object","required":["rfq_id","status_changes"],"properties":{"rfq_id":{"type":"string","format":"uuid"},"status_changes":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.status_history.v1.RfqStatusChange"}}}}},"components/schemas/types.rfq.v1.AllAssembliesResponse":{"id":"components/schemas/types.rfq.v1.AllAssembliesResponse","kind":"json-schema","title":"types.rfq.v1.AllAssembliesResponse","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.assembly.v1.SimpleAssemblyResponse"}}}}},"components/schemas/types.rfq.v1.AllRfQsResponse":{"id":"components/schemas/types.rfq.v1.AllRfQsResponse","kind":"json-schema","title":"types.rfq.v1.AllRfQsResponse","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.rfq.overview.v1.SingleRfQOverview"}}}}},"components/schemas/types.rfq.v1.CustomerInfo":{"id":"components/schemas/types.rfq.v1.CustomerInfo","kind":"json-schema","title":"types.rfq.v1.CustomerInfo","data":{"oneOf":[{"type":"object","description":"If creating RfQ for an existing customer provide customer id here","required":["data","type"],"properties":{"data":{"type":"string","format":"uuid","description":"If creating RfQ for an existing customer provide customer id here"},"type":{"type":"string","enum":["ExistingCustomer"]}}},{"type":"object","description":"If creating RfQ for a new customer, provide customer name","required":["data","type"],"properties":{"data":{"type":"string","description":"If creating RfQ for a new customer, provide customer name"},"type":{"type":"string","enum":["NewCustomer"]}}}]}},"components/schemas/types.rfq.v1.QuotationUpload":{"id":"components/schemas/types.rfq.v1.QuotationUpload","kind":"json-schema","title":"types.rfq.v1.QuotationUpload","data":{"type":"object","required":["filename"],"properties":{"filename":{"type":"string","description":"Filename including extension.\n\nNote that this is the name of the file as the customer will be able to download it for the RfQ.\nThis name does not have to be related to the name of the file whose contents you want to upload\nto the URL given in the response payload.","examples":["example_quotation.pdf"]},"replace_existing_quotation":{"type":"boolean","description":"Optional property specifying whether the operation should replace the current quotation if it\nexists. If set to false and a quotation already exists, the operation will fail.\n\nDefault: false"}}}},"components/schemas/types.rfq.v1.RfQCreation":{"id":"components/schemas/types.rfq.v1.RfQCreation","kind":"json-schema","title":"types.rfq.v1.RfQCreation","data":{"type":"object","description":"Describes the Rfq being created","required":["customer","name","currency"],"properties":{"customer":{"$ref":"#/components/schemas/types.rfq.v1.CustomerInfo","description":"Customer which this RfQ is for"},"name":{"type":"string","description":"Name of the RfQ"},"ems_internal_number":{"type":["string","null"],"description":"Internal identifier (if any)"},"contributors":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Users which contribute to this Rfq, can be empty"},"due_date":{"type":["string","null"],"format":"date","description":"Date when this Rfq must be finished (if any)"},"currency":{"$ref":"#/components/schemas/CurrencyCode","description":"This RfQs currency"},"volume_estimate":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.volume_estimate.v1.VolumeEstimate"}]},"industry":{"$ref":"#/components/schemas/types.assembly.assembly_industry.v1.AssemblyIndustry"},"notes":{"type":["string","null"]},"internal_notes":{"type":["string","null"]},"source_assembly_ipn_value":{"type":["string","null"],"description":"If present, the RfQ is created from an existing assembly identified by this IPN value and revision."},"source_assembly_ipn_revision":{"type":["string","null"]},"assembly_type":{"$ref":"#/components/schemas/types.assembly.assembly_type.v1.AssemblyType"}}}},"components/schemas/types.rfq.v1.RfQResponse":{"id":"components/schemas/types.rfq.v1.RfQResponse","kind":"json-schema","title":"types.rfq.v1.RfQResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response for an RfQ (also known as a project)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field is the RfQ ID, which is the same as the project ID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoints return this type."},"children":[]}]}]}],"required":["id","customer","name","creation_date","due_date","status","sourcing_scenarios","design_items_count","assemblies_count","currency","is_archived","industry"],"properties":{"id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The RfQ/project ID. This is the same identifier used by both "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/rfqs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/projects"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoints."},"children":[]}]}]}]},"customer":{"type":"string","format":"uuid"},"name":{"type":"string"},"ems_internal_number":{"type":["string","null"],"description":"Internal reference"},"creation_date":{"type":"string","format":"date-time"},"due_date":{"type":"string","format":"date"},"status":{"$ref":"#/components/schemas/types.rfq.status.v1.RfQStatus"},"sourcing_scenarios":{"type":"array","items":{"type":"string","format":"uuid"}},"design_items_count":{"type":"integer","minimum":0},"assemblies_count":{"type":"integer","minimum":0},"created_by":{"type":["string","null"],"format":"uuid"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"is_archived":{"type":"boolean"},"industry":{"$ref":"#/components/schemas/types.assembly.assembly_industry.v1.AssemblyIndustry"},"notes":{"type":["string","null"]},"internal_notes":{"type":["string","null"]}}}},"components/schemas/types.rfq.v1.RfqUpdate":{"id":"components/schemas/types.rfq.v1.RfqUpdate","kind":"json-schema","title":"types.rfq.v1.RfqUpdate","data":{"type":"object","properties":{"name":{"type":["string","null"]},"internal_number":{"type":["string","null"]},"due_date":{"type":["string","null"],"format":"date"},"currency":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CurrencyCode"}]},"volume_estimate":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.volume_estimate.v1.VolumeEstimate"}]},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.rfq.status.v1.RfQStatus"}]},"shipping_tracking_link":{"type":["string","null"],"description":"Shipping tracking link should be present only if the status is OrderShipped."},"notes":{"type":["string","null"]},"internal_notes":{"type":["string","null"]}}}},"components/schemas/types.rfq.v1.SingleFileUrlResponse":{"id":"components/schemas/types.rfq.v1.SingleFileUrlResponse","kind":"json-schema","title":"types.rfq.v1.SingleFileUrlResponse","data":{"type":"object","required":["url"],"properties":{"url":{"type":"string","examples":["https://lumiquoteprod.blob.core.windows.net/luminovo/quotation/ee824cad-d7a6-4f48-87dc-e8461a9201c4/example_quotation.pdf?sv=2018-11-09&ss=b&srt=o"]}}}},"components/schemas/types.rfq.volume_estimate.v1.VolumeEstimate":{"id":"components/schemas/types.rfq.volume_estimate.v1.VolumeEstimate","kind":"json-schema","title":"types.rfq.volume_estimate.v1.VolumeEstimate","data":{"type":"object","required":["currency"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"lower":{"type":["string","null"],"format":"date-time"},"upper":{"type":["string","null"],"format":"date-time"}}}},"components/schemas/types.sourcing.availability.v1.AggregatedAvailabilityIncludingShippingTime":{"id":"components/schemas/types.sourcing.availability.v1.AggregatedAvailabilityIncludingShippingTime","kind":"json-schema","title":"types.sourcing.availability.v1.AggregatedAvailabilityIncludingShippingTime","data":{"oneOf":[{"type":"object","description":"There is sufficient stock for the required quantity.","required":["type"],"properties":{"type":{"type":"string","enum":["Stock"]}}},{"type":"object","description":"There is not sufficient stock, but enough stock with on order quantities\nby the given lead time in days.","required":["days","type"],"properties":{"days":{"type":"integer","format":"int64","description":"There is not sufficient stock, but enough stock with on order quantities\nby the given lead time in days.","minimum":0},"type":{"type":"string","enum":["OnOrder"]}}},{"type":"object","description":"There is not sufficient stock, but enough stock with on order quantities\nwithout a given date or lead time","required":["type"],"properties":{"type":{"type":"string","enum":["OnOrderWithUnknownLeadTime"]}}},{"type":"object","description":"There is not sufficient stock, even with on order quantities, but there is a given\nfactory lead time by which the required quantity can be obtained.","required":["days","type"],"properties":{"days":{"type":"integer","format":"int64","description":"There is not sufficient stock, even with on order quantities, but there is a given\nfactory lead time by which the required quantity can be obtained.","minimum":0},"type":{"type":"string","enum":["LeadTimeDays"]}}}],"description":"Availability of a solution or purchase option, indicating if it is in stock\nor the method and number of days until the required quantity is obtained."}},"components/schemas/types.sourcing.availability.v1.Availability":{"id":"components/schemas/types.sourcing.availability.v1.Availability","kind":"json-schema","title":"types.sourcing.availability.v1.Availability","data":{"oneOf":[{"type":"object","description":"There is sufficient stock for the required quantity.","required":["type"],"properties":{"type":{"type":"string","enum":["Stock"]}}},{"type":"object","description":"There is not sufficient stock, but enough stock with on order quantities\nby the given lead time in days.","required":["days","type"],"properties":{"days":{"type":"integer","format":"int64","description":"There is not sufficient stock, but enough stock with on order quantities\nby the given lead time in days.","minimum":0},"type":{"type":"string","enum":["OnOrder"]}}},{"type":"object","description":"There is not sufficient stock, but enough stock with on order quantities\nwithout a given date or lead time","required":["type"],"properties":{"type":{"type":"string","enum":["OnOrderWithUnknownLeadTime"]}}},{"type":"object","description":"There is not sufficient stock, even with on order quantities, but there is a given\nfactory lead time by which the required quantity can be obtained.","required":["days","type"],"properties":{"days":{"type":"integer","format":"int64","description":"There is not sufficient stock, even with on order quantities, but there is a given\nfactory lead time by which the required quantity can be obtained.","minimum":0},"type":{"type":"string","enum":["LeadTimeDays"]}}}],"description":"Availability of a solution or purchase option, indicating if it is in stock\nor the method and number of days until the required quantity is obtained."}},"components/schemas/types.sourcing.availability.v1.AvailabilityWithShippingTime":{"id":"components/schemas/types.sourcing.availability.v1.AvailabilityWithShippingTime","kind":"json-schema","title":"types.sourcing.availability.v1.AvailabilityWithShippingTime","data":{"allOf":[{"$ref":"#/components/schemas/types.sourcing.availability.v1.Availability"},{"type":"object","properties":{"shipping_time_in_days":{"type":["integer","null"],"format":"int64","minimum":0}}}]}},"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput":{"id":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInput","kind":"json-schema","title":"types.sourcing.calculation.v1.SourcingScenarioCalculationInput","data":{"allOf":[{"$ref":"#/components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInputKind"},{"type":"object"}]}},"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInputKind":{"id":"components/schemas/types.sourcing.calculation.v1.SourcingScenarioCalculationInputKind","kind":"json-schema","title":"types.sourcing.calculation.v1.SourcingScenarioCalculationInputKind","data":{"oneOf":[{"type":"object","title":"Rfq","required":["rfq_id","type"],"properties":{"rfq_id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["Rfq"]}}},{"type":"object","title":"SourcingScenarios","required":["sourcing_scenario_ids","type"],"properties":{"sourcing_scenario_ids":{"type":"array","items":{"type":"string","format":"uuid"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Must contain exactly one sourcing scenario ID. Requests with more than one ID are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"rejected — send one request per scenario instead."},"children":[]}]}]}],"maxItems":1,"minItems":1},"type":{"type":"string","enum":["SourcingScenarios"]}}}]}},"components/schemas/types.sourcing.offer.custom.v1.CostInput":{"id":"components/schemas/types.sourcing.offer.custom.v1.CostInput","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CostInput","data":{"type":"object","required":["amount"],"properties":{"description":{"type":["string","null"]},"amount":{"type":"string"}}}},"components/schemas/types.sourcing.offer.custom.v1.CustomLinkedPart":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomLinkedPart","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomLinkedPart","data":{"oneOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["CustomPart"]}}},{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["CustomComponent"]}}}]}},"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOffer","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomPartOffer","data":{"type":"object","required":["id","origin","supplier_and_stock_location","unit_of_measurement","price_points","valid_until","one_time_costs","creation_date","has_order_files","price_breaks"],"properties":{"id":{"type":"string","format":"uuid"},"origin":{"$ref":"#/components/schemas/OfferOrigin"},"supplier_and_stock_location":{"type":"string","format":"uuid"},"unit_of_measurement":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.UnitOfMeasurement"},"price_points":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.PricePoint"}},"valid_until":{"type":"string","format":"date-time"},"offer_number":{"type":["string","null"]},"one_time_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Cost"}},"notes":{"type":["string","null"]},"creation_date":{"type":"string","format":"date-time"},"offer_url":{"type":["string","null"]},"has_order_files":{"type":"boolean"},"price_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CustomPriceType"}]},"sourcing_scenario_id":{"type":["string","null"],"format":"uuid"},"specification":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferSpecificationResponse"}]},"sourcing_batch_size":{"type":["integer","null"],"format":"int32"},"total_offered_quantity":{"type":["number","null"],"format":"double"},"price_breaks":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CustomPartPriceBreak"}}}}},"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferInput","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomPartOfferInput","data":{"type":"object","required":["linked_part","supplier_and_stock_location","unit_of_measurement","currency","price_points","valid_until","valid_from","one_time_costs"],"properties":{"linked_part":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CustomLinkedPart"},"supplier_and_stock_location":{"type":"string","format":"uuid"},"unit_of_measurement":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.QuantityUnit"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"price_points":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.PricePointInput"}},"valid_until":{"type":"string","format":"date-time"},"valid_from":{"type":"string","format":"date-time"},"cancellation_window_in_days":{"type":["integer","null"],"format":"int32"},"one_time_costs":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CostInput"}},"price_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CustomPriceType"}]},"notes":{"type":["string","null"]},"offer_number":{"type":["string","null"]},"offer_url":{"type":["string","null"]},"sourcing_scenario_id":{"type":["string","null"],"format":"uuid","description":"The sourcing scenario this offer is part of. Please supply this information!"},"specification":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferSpecification"}]},"sourcing_batch_size":{"type":["integer","null"],"format":"int32"},"total_offered_quantity":{"type":["number","null"],"format":"double"},"payment_terms":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OfferPaymentTermsInput"}]},"supplier_part_number":{"type":["string","null"],"description":"The supplier's part number for this custom part. Required to create the\nunderlying custom part for this offer"},"lifecycle":{"oneOf":[{"type":"null"},{"type":"string","enum":["Unknown","PreRelease","Acquired","Active","NotRecommendedForNewDesigns","EndOfLife","Aftermarket","Obsolete"]}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lifecycle of the custom part. Only applied when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_part_number"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"also supplied"},"children":[]}]}]}]}}}},"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferSpecification":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferSpecification","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomPartOfferSpecification","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["panel"],"properties":{"panel":{"$ref":"#/components/schemas/types.custom_part.panel.v1.PanelDetails"}}},"type":{"type":"string","enum":["Pcb"]}}}]}},"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferSpecificationResponse":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomPartOfferSpecificationResponse","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomPartOfferSpecificationResponse","data":{"oneOf":[{"type":"object","required":["data","type"],"properties":{"data":{"type":"object","required":["panel"],"properties":{"pcb":{"type":["string","null"],"format":"uuid"},"panel":{"$ref":"#/components/schemas/types.custom_part.panel.v1.PanelDetails"}}},"type":{"type":"string","enum":["Pcb"]}}}]}},"components/schemas/types.sourcing.offer.custom.v1.CustomPartPriceBreak":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomPartPriceBreak","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomPartPriceBreak","data":{"type":"object","required":["minimum_order_quantity","price_per_measurement","availability"],"properties":{"minimum_order_quantity":{"type":"number","format":"double"},"price_per_measurement":{"$ref":"#/components/schemas/MonetaryValue"},"availability":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.PricePointAvailability"},"description":{"type":["string","null"]}}}},"components/schemas/types.sourcing.offer.custom.v1.CustomPriceType":{"id":"components/schemas/types.sourcing.offer.custom.v1.CustomPriceType","kind":"json-schema","title":"types.sourcing.offer.custom.v1.CustomPriceType","data":{"type":"string","enum":["ListPrice","QuotePrice","ContractPrice","CustomerNegotiatedPrice","PurchasePrice","StandardPrice","TargetPrice"]}},"components/schemas/types.sourcing.offer.custom.v1.PricePoint":{"id":"components/schemas/types.sourcing.offer.custom.v1.PricePoint","kind":"json-schema","title":"types.sourcing.offer.custom.v1.PricePoint","data":{"type":"object","required":["quantity","unit_price","availability"],"properties":{"quantity":{"type":"number","format":"double"},"unit_price":{"$ref":"#/components/schemas/MonetaryValue"},"availability":{"$ref":"#/components/schemas/types.sourcing.offer.custom.v1.PricePointAvailability"}}}},"components/schemas/types.sourcing.offer.custom.v1.PricePointAvailability":{"id":"components/schemas/types.sourcing.offer.custom.v1.PricePointAvailability","kind":"json-schema","title":"types.sourcing.offer.custom.v1.PricePointAvailability","data":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Stock"]}}},{"type":"object","required":["days","type"],"properties":{"days":{"type":"integer","format":"int64","minimum":0},"type":{"type":"string","enum":["LeadTimeDays"]}}}]}},"components/schemas/types.sourcing.offer.custom.v1.PricePointInput":{"id":"components/schemas/types.sourcing.offer.custom.v1.PricePointInput","kind":"json-schema","title":"types.sourcing.offer.custom.v1.PricePointInput","data":{"type":"object","required":["quantity","amount"],"properties":{"quantity":{"type":"number","format":"double"},"amount":{"type":"string"},"lead_time_days":{"type":["integer","null"],"format":"int64","minimum":0}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyReference":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyReference","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.AssemblyReference","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An assembly, identified by its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the assembly's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"designator), plus its internal part number, if it has one."},"children":[]}]}]}],"required":["id","name","internal_part_number"],"properties":{"id":{"$ref":"#/components/schemas/AssemblyId"},"name":{"type":"string"},"internal_part_number":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InternalPartNumberIdentifiers","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The assembly's internal part number (IPN). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the assembly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has none."},"children":[]}]}]}]}]}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyWithQuantity":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyWithQuantity","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.AssemblyWithQuantity","data":{"type":"object","required":["assembly","quantity"],"properties":{"assembly":{"type":"string","format":"uuid"},"quantity":{"type":"integer","format":"int32"}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.CancellationPolicy":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.CancellationPolicy","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.CancellationPolicy","data":{"type":"object","required":["cancellation_window"],"properties":{"cancellation_window":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Duration"},"is_non_cancellable_non_returnable":{"type":["boolean","null"]}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.CancellationWindowDuration":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.CancellationWindowDuration","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.CancellationWindowDuration","data":{"type":"string","enum":["Days","Weeks"]}},"components/schemas/types.sourcing.sourcing_scenario.v1.Cost":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.Cost","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.Cost","data":{"type":"object","required":["price"],"properties":{"description":{"type":["string","null"]},"price":{"$ref":"#/components/schemas/MonetaryValue"}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.Duration":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.Duration","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.Duration","data":{"type":"object","required":["unit","value"],"properties":{"unit":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.CancellationWindowDuration"},"value":{"type":"number","format":"double"}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.ExcessPreferences":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.ExcessPreferences","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.ExcessPreferences","data":{"type":"object","properties":{"max_ratio_percent":{"type":["number","null"],"format":"float"},"minimum_savings":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MonetaryValue"}]}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.InventoryPreference":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.InventoryPreference","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.InventoryPreference","data":{"type":"string","enum":["PreferInventory","Neutral","PreferMarketOffers"]}},"components/schemas/types.sourcing.sourcing_scenario.v1.LeadTimePreference":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.LeadTimePreference","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.LeadTimePreference","data":{"oneOf":[{"type":"object","title":"BestPrice","required":["type"],"properties":{"type":{"type":"string","enum":["BestPrice"]}}},{"type":"object","title":"Fastest","required":["type"],"properties":{"type":{"type":"string","enum":["Fastest"]}}},{"type":"object","title":"BestPriceBy","required":["target","type"],"properties":{"target":{"type":"string","format":"date"},"type":{"type":"string","enum":["BestPriceBy"]}}}]}},"components/schemas/types.sourcing.sourcing_scenario.v1.Limit":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.Limit","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.Limit","data":{"oneOf":[{"type":"object","title":"Never","required":["type"],"properties":{"type":{"type":"string","enum":["Never"]}}},{"type":"object","title":"Days","required":["number","type"],"properties":{"number":{"type":"integer","format":"int64","minimum":0},"type":{"type":"string","enum":["Days"]}}}]}},"components/schemas/types.sourcing.sourcing_scenario.v1.OfferAgeLimit":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.OfferAgeLimit","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.OfferAgeLimit","data":{"type":"object","required":["expiring_before_validity_date","expired_after_validity_date","old_after_update","outdated_after_update"],"properties":{"expiring_before_validity_date":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Limit"},"expired_after_validity_date":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Limit"},"old_after_update":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Limit"},"outdated_after_update":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Limit"}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.OneTimeCost":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.OneTimeCost","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.OneTimeCost","data":{"type":"object","required":["price"],"properties":{"description":{"type":["string","null"]},"price":{"$ref":"#/components/schemas/MonetaryValue"}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.Packaging":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.Packaging","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.Packaging","data":{"type":"string","enum":["AmmoPack","Bag","Bulk","Reel","ReReel","Spool","Tape","Tray","Tube","Carton"]}},"components/schemas/types.sourcing.sourcing_scenario.v1.PriceType":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.PriceType","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.PriceType","data":{"type":"string","enum":["PurchasePrice","ListPrice","ContractPrice","QuotePrice","StandardPrice","CustomerNegotiatedPrice","TargetPrice"]}},"components/schemas/types.sourcing.sourcing_scenario.v1.SolutionPreference":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.SolutionPreference","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.SolutionPreference","data":{"type":"object","required":["lead_time_preference","preferred_suppliers_and_stock_locations","approved_suppliers_and_stock_locations","excess_preference","offer_age_limit","low_stock_warning_factor","packaging_preference","prefer_direct_api_integrations","excluded_price_types","inventory_preference","preferred_inventory_sites","approved_inventory_sites","use_unit_price","exclude_mismatched_price_points","prioritize_preferred_manufacturers"],"properties":{"lead_time_preference":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.LeadTimePreference"},"preferred_suppliers_and_stock_locations":{"type":"array","items":{"type":"string","format":"uuid"}},"approved_suppliers_and_stock_locations":{"type":"array","items":{"type":"string","format":"uuid"}},"excess_preference":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.ExcessPreferences"},"offer_age_limit":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.OfferAgeLimit"},"low_stock_warning_factor":{"type":"number","format":"double"},"packaging_preference":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.Packaging"}},"prefer_direct_api_integrations":{"type":"boolean"},"excluded_price_types":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.PriceType"}},"inventory_preference":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.InventoryPreference"},"preferred_inventory_sites":{"type":"array","items":{"type":"string","format":"uuid"}},"approved_inventory_sites":{"type":"array","items":{"type":"string","format":"uuid"}},"use_unit_price":{"type":"boolean","description":"If true, the unit price is used for sorting instead of the total price"},"exclude_mismatched_price_points":{"type":"boolean"},"prioritize_preferred_manufacturers":{"type":"boolean"},"prefer_customer_negotiated_prices":{"type":"boolean"}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioInput","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.SourcingScenarioInput","data":{"type":"object","required":["rfq","name","assembly_quantities"],"properties":{"rfq":{"type":"string","format":"uuid"},"name":{"type":"string"},"solution_preference":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.SolutionPreference"}]},"assembly_quantities":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyWithQuantity"}}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.SourcingScenarioResponse","data":{"type":"object","required":["id","rfq","name","solution_preference","assembly_quantities"],"properties":{"id":{"type":"string","format":"uuid"},"rfq":{"type":"string","format":"uuid"},"name":{"type":"string"},"solution_preference":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.SolutionPreference"},"assembly_quantities":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyWithQuantity"}}}}},"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput":{"id":"components/schemas/types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v1.SourcingScenarioUpdateInput","data":{"type":"object","properties":{"name":{"type":["string","null"]},"solution_preference":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.SolutionPreference"}]},"assembly_quantities":{"type":["array","null"],"items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v1.AssemblyWithQuantity"}}}}},"components/schemas/types.sourcing.sourcing_scenario.v2.CurrencySettingsDto":{"id":"components/schemas/types.sourcing.sourcing_scenario.v2.CurrencySettingsDto","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v2.CurrencySettingsDto","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currency and exchange rate settings for a sourcing scenario."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All costs in a sourcing scenario are converted to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"base_currency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" using the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"provided exchange rates. Each rate represents how many units of the foreign currency"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"equal one unit of the base currency."},"children":[]}]}]}],"required":["base_currency","exchange_rates"],"properties":{"base_currency":{"$ref":"#/components/schemas/CurrencyCode","description":"The base currency used for all cost calculations in this sourcing scenario.\nAll monetary values are converted to this currency."},"exchange_rates":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Exchange rates for converting foreign currencies to the base currency."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each key is a currency code (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"USD\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"CNY\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), and the value contains"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the conversion rate and whether it was manually set."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rates are expressed as: 1 unit of base currency = "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" units of foreign currency."},"children":[]}]}]}],"additionalProperties":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v2.ExchangeRateDto"},"propertyNames":{"type":"string"}}}}},"components/schemas/types.sourcing.sourcing_scenario.v2.DemandDto":{"id":"components/schemas/types.sourcing.sourcing_scenario.v2.DemandDto","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v2.DemandDto","data":{"oneOf":[{"type":"object","description":"Demand for an assembly (e.g., a PCB or sub-assembly).","required":["id","name","quantity","type"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the assembly."},"name":{"type":"string","description":"Human-readable name of the assembly (the assembly designator)."},"quantity":{"$ref":"#/components/schemas/types.primitives.quantity_unit.v1.QuantityUnit","description":"The required quantity for this assembly demand, including the unit of measurement."},"type":{"type":"string","enum":["Assembly"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A demand associated with a sourcing scenario."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each demand has a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field discriminator indicating its kind. Currently only"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Assembly\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" demands are supported. Part and Component demand types will be added"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in a future update without breaking this API version."},"children":[]}]}]}]}},"components/schemas/types.sourcing.sourcing_scenario.v2.ExchangeRateDto":{"id":"components/schemas/types.sourcing.sourcing_scenario.v2.ExchangeRateDto","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v2.ExchangeRateDto","data":{"type":"object","description":"An exchange rate for a single foreign currency relative to the base currency.","required":["rate","is_manual"],"properties":{"rate":{"type":"number","format":"double","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The conversion rate. When "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"is_manual"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", this is the manually overridden rate."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Otherwise, it is the automatically fetched rate from a public exchange rate provider."},"children":[]}]}]}]},"is_manual":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether this exchange rate was manually set by a user ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or automatically"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fetched from a public exchange rate API ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manual rates take precedence over automatic rates for all cost conversions."},"children":[]}]}]}]}}}},"components/schemas/types.sourcing.sourcing_scenario.v2.ProjectDto":{"id":"components/schemas/types.sourcing.sourcing_scenario.v2.ProjectDto","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v2.ProjectDto","data":{"oneOf":[{"type":"object","title":"Rfq","description":"The sourcing scenario belongs to an RFQ.","required":["id","type"],"properties":{"id":{"type":"string","format":"uuid","description":"The sourcing scenario belongs to an RFQ."},"type":{"type":"string","enum":["Rfq"]}}},{"type":"object","title":"Negotiation","description":"The sourcing scenario belongs to a Negotiation.","required":["id","type"],"properties":{"id":{"type":"string","format":"uuid","description":"The sourcing scenario belongs to a Negotiation."},"type":{"type":"string","enum":["Negotiation"]}}}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The project a sourcing scenario is associated with."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A project is either an RFQ (Request for Quotation) or a Negotiation."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field indicates which kind."},"children":[]}]}]}]}},"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse":{"id":"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v2.SourcingScenarioResponse","data":{"type":"object","description":"A sourcing scenario with its associated project, demands, and settings.\n\nA sourcing scenario defines what needs to be sourced (demands), which project it belongs to,\nand the currency/exchange rate settings used for cost calculations.","required":["id","name","project","demands","settings"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the sourcing scenario."},"name":{"type":"string","description":"Human-readable name of the sourcing scenario."},"project":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v2.ProjectDto","description":"The project this sourcing scenario belongs to."},"demands":{"type":"array","items":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v2.DemandDto"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The demands associated with this sourcing scenario."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each demand has a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field indicating its kind. Currently only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"Assembly\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" demands"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"are returned. Additional demand types (Part, Component) will be added in future versions."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Consumers should gracefully handle or ignore unknown demand types."},"children":[]}]}]}]},"settings":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioSettingsDto","description":"Settings for this sourcing scenario, including currency and exchange rate configuration."}}}},"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioSettingsDto":{"id":"components/schemas/types.sourcing.sourcing_scenario.v2.SourcingScenarioSettingsDto","kind":"json-schema","title":"types.sourcing.sourcing_scenario.v2.SourcingScenarioSettingsDto","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sourcing scenario settings."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contains configuration that controls how sourcing is performed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This object is extensible — additional setting groups may be added alongside"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"currency"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the future."},"children":[]}]}]}],"required":["currency"],"properties":{"currency":{"$ref":"#/components/schemas/types.sourcing.sourcing_scenario.v2.CurrencySettingsDto","description":"Currency and exchange rate settings used for cost calculations."}}}},"components/schemas/types.supplier.v1.BulkSupplierRequest":{"id":"components/schemas/types.supplier.v1.BulkSupplierRequest","kind":"json-schema","title":"types.supplier.v1.BulkSupplierRequest","data":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"components/schemas/types.supplier.v1.BulkSuppliersResponse":{"id":"components/schemas/types.supplier.v1.BulkSuppliersResponse","kind":"json-schema","title":"types.supplier.v1.BulkSuppliersResponse","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.supplier.v1.SupplierResponse"}}}}},"components/schemas/types.supplier.v1.ImportSuppliersRequest":{"id":"components/schemas/types.supplier.v1.ImportSuppliersRequest","kind":"json-schema","title":"types.supplier.v1.ImportSuppliersRequest","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.supplier.v1.SupplierImportInput"}}}}},"components/schemas/types.supplier.v1.ImportSuppliersResponse":{"id":"components/schemas/types.supplier.v1.ImportSuppliersResponse","kind":"json-schema","title":"types.supplier.v1.ImportSuppliersResponse","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.supplier.v1.SupplierImportResultResponse"}}}}},"components/schemas/types.supplier.v1.SingleSupplierResponse":{"id":"components/schemas/types.supplier.v1.SingleSupplierResponse","kind":"json-schema","title":"types.supplier.v1.SingleSupplierResponse","data":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/types.supplier.v1.SupplierResponse"}}}},"components/schemas/types.supplier.v1.SupplierImportInput":{"id":"components/schemas/types.supplier.v1.SupplierImportInput","kind":"json-schema","title":"types.supplier.v1.SupplierImportInput","data":{"type":"object","required":["supplier_number","name","supplier_part_type","supplier_type"],"properties":{"supplier_number":{"type":"string"},"name":{"type":"string"},"supplier_part_type":{"$ref":"#/components/schemas/types.supplier.v1.SupplierPartTypeInput"},"supplier_type":{"$ref":"#/components/schemas/types.supplier.v1.SupplierTypeInput"},"origin":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.supplier.v1.SupplierOriginInput"}]},"supplier_preference":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.supplier.v1.SupplierPreferenceInput","description":"When specified, applies this preference to all supplier stock-locations\non the default sourcing template for the imported supplier"}]}}}},"components/schemas/types.supplier.v1.SupplierImportResultResponse":{"id":"components/schemas/types.supplier.v1.SupplierImportResultResponse","kind":"json-schema","title":"types.supplier.v1.SupplierImportResultResponse","data":{"type":"object","required":["index","success","status","description"],"properties":{"index":{"type":"integer","minimum":0},"success":{"type":"boolean"},"status":{"type":"integer","format":"int32","minimum":0},"description":{"type":"string"},"supplier_id":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SupplierId"}]}}}},"components/schemas/types.supplier.v1.SupplierOrigin":{"id":"components/schemas/types.supplier.v1.SupplierOrigin","kind":"json-schema","title":"types.supplier.v1.SupplierOrigin","data":{"type":"string","enum":["System","Erp","Manual"]}},"components/schemas/types.supplier.v1.SupplierOriginInput":{"id":"components/schemas/types.supplier.v1.SupplierOriginInput","kind":"json-schema","title":"types.supplier.v1.SupplierOriginInput","data":{"type":"string","enum":["Erp","Manual"]}},"components/schemas/types.supplier.v1.SupplierPartType":{"id":"components/schemas/types.supplier.v1.SupplierPartType","kind":"json-schema","title":"types.supplier.v1.SupplierPartType","data":{"type":"string","enum":["OffTheShelf","Pcb","Custom","Assembly"]}},"components/schemas/types.supplier.v1.SupplierPartTypeInput":{"id":"components/schemas/types.supplier.v1.SupplierPartTypeInput","kind":"json-schema","title":"types.supplier.v1.SupplierPartTypeInput","data":{"type":"string","enum":["OffTheShelf","Pcb","Custom"]}},"components/schemas/types.supplier.v1.SupplierPreferenceInput":{"id":"components/schemas/types.supplier.v1.SupplierPreferenceInput","kind":"json-schema","title":"types.supplier.v1.SupplierPreferenceInput","data":{"type":"string","enum":["NotApproved","Approved","Preferred","Excluded"]}},"components/schemas/types.supplier.v1.SupplierResponse":{"id":"components/schemas/types.supplier.v1.SupplierResponse","kind":"json-schema","title":"types.supplier.v1.SupplierResponse","data":{"type":"object","required":["id","name","alternative_names","manually_added","supplier_part_type","supplier_type","origin"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"alternative_names":{"type":"array","items":{"type":"string"}},"supplier_number":{"type":["string","null"]},"manually_added":{"type":"boolean"},"supplier_part_type":{"$ref":"#/components/schemas/types.supplier.v1.SupplierPartType"},"supplier_type":{"$ref":"#/components/schemas/types.supplier.v1.SupplierType"},"origin":{"$ref":"#/components/schemas/types.supplier.v1.SupplierOrigin"}}}},"components/schemas/types.supplier.v1.SupplierType":{"id":"components/schemas/types.supplier.v1.SupplierType","kind":"json-schema","title":"types.supplier.v1.SupplierType","data":{"type":"string","enum":["Distributor","Manufacturer","Ems"]}},"components/schemas/types.supplier.v1.SupplierTypeInput":{"id":"components/schemas/types.supplier.v1.SupplierTypeInput","kind":"json-schema","title":"types.supplier.v1.SupplierTypeInput","data":{"type":"string","enum":["Distributor","Manufacturer","Ems"]}},"components/schemas/types.supplier.v1.SupplierUpdateRequest":{"id":"components/schemas/types.supplier.v1.SupplierUpdateRequest","kind":"json-schema","title":"types.supplier.v1.SupplierUpdateRequest","data":{"type":"object","properties":{"name":{"type":["string","null"]},"supplier_number":{"type":["string","null"]},"supplier_part_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.supplier.v1.SupplierPartTypeInput"}]},"supplier_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.supplier.v1.SupplierTypeInput"}]},"origin":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.supplier.v1.SupplierOriginInput"}]},"supplier_preference":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.supplier.v1.SupplierPreferenceInput","description":"When specified, applies this preference to all supplier stock-locations\non the default sourcing template for the updated supplier"}]}}}},"components/schemas/types.user.v1.AllUsers":{"id":"components/schemas/types.user.v1.AllUsers","kind":"json-schema","title":"types.user.v1.AllUsers","data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/types.user.v1.User"}}}}},"components/schemas/types.user.v1.User":{"id":"components/schemas/types.user.v1.User","kind":"json-schema","title":"types.user.v1.User","data":{"type":"object","required":["id","first_name","last_name","email","user_language"],"properties":{"id":{"type":"string","format":"uuid"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"user_language":{"type":"string"},"phone_number":{"type":["string","null"]},"position":{"type":["string","null"]},"customer":{"type":["string","null"],"format":"uuid"}}}},"components/schemas/types.user.v1.UserInviteInput":{"id":"components/schemas/types.user.v1.UserInviteInput","kind":"json-schema","title":"types.user.v1.UserInviteInput","data":{"type":"object","required":["email","first_name","last_name"],"properties":{"email":{"type":"string","description":"The email address of the user to invite."},"first_name":{"type":"string","description":"The first name of the user to invite."},"last_name":{"type":"string","description":"The last name of the user to invite."},"language":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/types.customer.v1.Language","description":"The language of the user. Defaults to English if not specified."}]},"user_role":{"$ref":"#/components/schemas/types.user.v1.UserRole","description":"The role of the user. Defaults to Member if not specified."},"host":{"type":["string","null"],"description":"Optional hostname for the invite link (e.g., \"portal.tenant.com\").\nMust be a valid hostname configured for your tenant. If not specified, a default\nhostname for your tenant will be used."}}}},"components/schemas/types.user.v1.UserRole":{"id":"components/schemas/types.user.v1.UserRole","kind":"json-schema","title":"types.user.v1.UserRole","data":{"type":"string","enum":["member","admin"]}},"components/schemas/types.user.v1.UserUpdateInput":{"id":"components/schemas/types.user.v1.UserUpdateInput","kind":"json-schema","title":"types.user.v1.UserUpdateInput","data":{"type":"object","properties":{"first_name":{"type":["string","null"],"description":"The first name of the user."},"last_name":{"type":["string","null"],"description":"The last name of the user."},"phone_number":{"type":["string","null"],"description":"The phone number of the user."},"position":{"type":["string","null"],"description":"The position of the user within the organization."}}}},"components/schemas/types.vat.v1.CompleteVatId":{"id":"components/schemas/types.vat.v1.CompleteVatId","kind":"json-schema","title":"types.vat.v1.CompleteVatId","data":{"type":"object","required":["id","id_type"],"properties":{"id":{"type":"string","description":"actual VAT ID"},"id_type":{"$ref":"#/components/schemas/types.vat.v1.VatIdType","description":"country / entity of issuance of that particular ID"}}}},"components/schemas/types.vat.v1.VatIdType":{"id":"components/schemas/types.vat.v1.VatIdType","kind":"json-schema","title":"types.vat.v1.VatIdType","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of the VAT ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more on the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://stripe.com/docs/billing/customer/tax-ids"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stripe docs"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["ad_nrt","ae_trn","ar_cuit","au_abn","au_arn","bg_uic","bo_tin","br_cnpj","br_cpf","ca_bn","ca_gst_hst","ca_pst_bc","ca_pst_mb","ca_pst_sk","ca_qst","cl_tin","cn_tin","co_nit","cr_tin","do_rcn","ec_ruc","eg_tin","sv_nit","es_cif","eu_oss_vat","eu_vat","ge_vat","hk_br","hu_tin","id_npwp","il_vat","in_gst","is_vat","jp_cn","jp_rn","jp_trn","ke_pin","li_uid","mx_rfc","my_frp","my_itn","my_sst","no_vat","nz_gst","pe_ruc","ph_tin","ro_tin","ru_kpp","rs_pib","kr_brn","ch_vat","ru_inn","sa_vat","sg_gst","sg_uen","si_tin","za_vat","tw_vat","th_vat","tr_tin","ua_vat","gb_vat","us_ein","uy_ruc","ve_rif","vn_tin"]}},"components/schemas/PCB":{"id":"components/schemas/PCB","kind":"json-schema","title":"PCB","data":{"required":["assembly","files","holes","specifications","version"],"type":"object","properties":{"assembly":{"type":"string","format":"uuid"},"version":{"type":"string","format":"uuid"},"outline":{"allOf":[{"$ref":"#/components/schemas/APIOutline"}]},"holes":{"type":"array","items":{"type":"string"}},"files":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/LayerFile"}]}},"metaInfo":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"specifications":{"type":"array","items":{"type":"string","format":"uuid"}},"defaultSpecification":{"type":"string","format":"uuid"},"drillSets":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/DrillSet"}]}}}}},"components/schemas/HoleList":{"id":"components/schemas/HoleList","kind":"json-schema","title":"HoleList","data":{"required":["tools"],"type":"object","properties":{"from":{"type":"number"},"to":{"type":"number"},"tools":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Tool"}]}},"scaling":{"type":"number"},"fileUnit":{"type":"string"}}}},"components/schemas/CollectedPCB":{"id":"components/schemas/CollectedPCB","kind":"json-schema","title":"CollectedPCB","data":{"required":["assembly","pcb"],"type":"object","properties":{"assembly":{"allOf":[{"$ref":"#/components/schemas/Assembly"}]},"pcb":{"allOf":[{"$ref":"#/components/schemas/PCB"}]},"layerstack":{"allOf":[{"$ref":"#/components/schemas/LayerStackAPI"}]},"panels":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CustomerPanelAPI"}]}}}}},"components/schemas/PCBUpdate":{"id":"components/schemas/PCBUpdate","kind":"json-schema","title":"PCBUpdate","data":{"type":"object","properties":{"defaultSpecification":{"type":"string","format":"uuid"}}}},"components/schemas/SetOutline":{"id":"components/schemas/SetOutline","kind":"json-schema","title":"SetOutline","data":{"required":["candidate"],"type":"object","properties":{"candidate":{"type":"string","format":"uuid"},"userChoice":{"type":"boolean"}}}},"components/schemas/APIOutline":{"id":"components/schemas/APIOutline","kind":"json-schema","title":"APIOutline","data":{"required":["id","metaInfo","userChoice"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"file":{"type":"string","format":"uuid"},"preview":{"type":"string"},"userChoice":{"type":"boolean"},"metaInfo":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"graphic":{"allOf":[{"$ref":"#/components/schemas/Graphic"}]},"score":{"type":"number"},"width":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"height":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]}}}},"components/schemas/Object":{"id":"components/schemas/Object","kind":"json-schema","title":"Object","data":{"type":"object"}},"components/schemas/Graphic":{"id":"components/schemas/Graphic","kind":"json-schema","title":"Graphic","data":{"required":["count","defs","format","paths","viewbox"],"type":"object","properties":{"viewbox":{"allOf":[{"$ref":"#/components/schemas/Dimension"}]},"format":{"allOf":[{"$ref":"#/components/schemas/Format"}]},"count":{"type":"number"},"paths":{"type":"array","items":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/GraphicElement"}]}}},"defs":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/GraphicDefinition"}]}}}}},"components/schemas/LayerFileUpdate":{"id":"components/schemas/LayerFileUpdate","kind":"json-schema","title":"LayerFileUpdate","data":{"type":"object","properties":{"inverted":{"type":"boolean"}}}},"components/schemas/LayerFile":{"id":"components/schemas/LayerFile","kind":"json-schema","title":"LayerFile","data":{"required":["inverted","metaInfo"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"data":{"type":"string"},"format":{"allOf":[{"$ref":"#/components/schemas/Format"}]},"fileType":{"allOf":[{"$ref":"#/components/schemas/FileType"}]},"metaInfo":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"inverted":{"type":"boolean"}}}},"components/schemas/MetaInfo":{"id":"components/schemas/MetaInfo","kind":"json-schema","title":"MetaInfo","data":{"required":["bitmap$0","logger","properties"],"type":"object","properties":{"properties":{"type":"object","additionalProperties":{"allOf":[{"$ref":"#/components/schemas/Property"}]},"description":"The Map of properties"},"logger":{"allOf":[{"$ref":"#/components/schemas/Logger"}]},"bitmap$0":{"type":"boolean"}}}},"components/schemas/PCBStreamMessage":{"id":"components/schemas/PCBStreamMessage","kind":"json-schema","title":"PCBStreamMessage","data":{"required":["m","t"],"type":"object","properties":{"t":{"type":"string"},"m":{"allOf":[{"$ref":"#/components/schemas/Message"}]},"ref":{"allOf":[{"$ref":"#/components/schemas/AssemblyReference"}]}}}},"components/schemas/PCBSpecificationApi":{"id":"components/schemas/PCBSpecificationApi","kind":"json-schema","title":"PCBSpecificationApi","data":{"required":["previews","spec"],"type":"object","properties":{"spec":{"allOf":[{"$ref":"#/components/schemas/PCBSpecification"}]},"previews":{"allOf":[{"$ref":"#/components/schemas/SpecificationPreviews"}]}}}},"components/schemas/PCBSpecificationCreation":{"id":"components/schemas/PCBSpecificationCreation","kind":"json-schema","title":"PCBSpecificationCreation","data":{"required":["alias"],"type":"object","properties":{"alias":{"type":"string"},"template":{"type":"string","format":"uuid"}}}},"components/schemas/PCBSpecificationUpdate":{"id":"components/schemas/PCBSpecificationUpdate","kind":"json-schema","title":"PCBSpecificationUpdate","data":{"type":"object","properties":{"dfm":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Property"}]}},"settings":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Property"}]}},"user":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Property"}]}}}}},"components/schemas/PCBV2Creation":{"id":"components/schemas/PCBV2Creation","kind":"json-schema","title":"PCBV2Creation","data":{"type":"object","properties":{"name":{"type":"string","description":"Name of the PCB\n\nThe name of the PCB.\nThe PCBs GID is generated based on this name\n"},"customer":{"type":"string","description":"The ID of the Customer for this PCB","format":"uuid"},"contact":{"type":"string","description":"The ID of the Contact for this PCB","format":"uuid"},"orderId":{"type":"string","description":"The External ID of the RFQ/Order"},"description":{"type":"string","description":"The description for the PCB"},"externalReference":{"description":"The External ID of the RFQ/Order","allOf":[{"$ref":"#/components/schemas/LqReference"}]},"withoutFiles":{"type":"boolean","description":"Set this to true if the PCB will not contain initial files"}}}},"components/schemas/PCBV2":{"id":"components/schemas/PCBV2","kind":"json-schema","title":"PCBV2","data":{"required":["assembly","created","filesLocked","id","lifecycles","projectType","properties","specifications"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the PCB","format":"uuid"},"name":{"type":"string","description":"The Name of the PCB"},"assembly":{"type":"string","description":"\nThe Name of the PCB\nThis property exists to help identify the corresponding assembly if needed.\n","format":"uuid"},"description":{"type":"string","description":"The description for the PCB"},"created":{"type":"string","description":"The creation date of the PCB","format":"date"},"files":{"type":"array","description":"The files the PCB","items":{"allOf":[{"$ref":"#/components/schemas/PCBV2File"}]}},"filesLocked":{"type":"boolean","description":"The Lock-Status of the files"},"lifecycles":{"type":"array","description":"The Lifecycles of the PCB","items":{"description":"The Lifecycles of the PCB","allOf":[{"$ref":"#/components/schemas/AssemblyLifecycleStage"}]}},"projectType":{"description":"Type of PCB Project","allOf":[{"$ref":"#/components/schemas/ProjectType"}]},"orderId":{"type":"string","description":"The External ID of the RFQ/Order"},"outline":{"type":"string","description":"The name of the file used for the outline"},"specifications":{"type":"array","description":"The Specifications of the PCB","items":{"description":"The Specifications of the PCB","allOf":[{"$ref":"#/components/schemas/PCBV2Specification"}]}},"properties":{"description":"The Properties of the PCB determined by stackrate","allOf":[{"$ref":"#/components/schemas/PCBV2Properties"}]},"customer":{"type":"string","description":"The ID of the Customer for this PCB","format":"uuid"}}}},"components/schemas/PCBV2SpecificationCapabilities":{"id":"components/schemas/PCBV2SpecificationCapabilities","kind":"json-schema","title":"PCBV2SpecificationCapabilities","data":{"required":["board","layerStack","markings","mechanical","miscellaneous","reports"],"type":"object","properties":{"board":{"allOf":[{"$ref":"#/components/schemas/PCBV2BoardCapabilities"}]},"layerStack":{"allOf":[{"$ref":"#/components/schemas/PCBV2LayerStackCapabilities"}]},"mechanical":{"allOf":[{"$ref":"#/components/schemas/PCBV2MechanicalCapabilities"}]},"reports":{"allOf":[{"$ref":"#/components/schemas/PCBV2ReportsCapabilities"}]},"markings":{"allOf":[{"$ref":"#/components/schemas/PCBV2MarkingsCapabilities"}]},"miscellaneous":{"allOf":[{"$ref":"#/components/schemas/PCBV2MiscellaneousCapabilities"}]}}}},"components/schemas/PcbBaseMaterialVendors":{"id":"components/schemas/PcbBaseMaterialVendors","kind":"json-schema","title":"PcbBaseMaterialVendors","data":{"required":["vendors"],"type":"object","properties":{"vendors":{"type":"array","items":{"type":"string"}}}}},"components/schemas/PcbBaseMaterial":{"id":"components/schemas/PcbBaseMaterial","kind":"json-schema","title":"PcbBaseMaterial","data":{"required":["baseMaterial","id","materialNumber","materialType","materialVendor"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"materialVendor":{"type":"string"},"materialNumber":{"type":"string"},"materialType":{"type":"string","enum":["prepreg","core"]},"baseMaterial":{"type":"string","enum":["FR-2","FR-3","FR-4","CEM1","CEM2","CEM3","polyimide"]},"tgValue":{"type":"number"},"ctiClass":{"type":"string","enum":["none","i","ii","iiia","iiib"]},"plcClass":{"type":"string","enum":["none","plc0","plc1","plc2","plc3"]}}}},"components/schemas/PcbSoldermaskMaterialVendors":{"id":"components/schemas/PcbSoldermaskMaterialVendors","kind":"json-schema","title":"PcbSoldermaskMaterialVendors","data":{"required":["vendors"],"type":"object","properties":{"vendors":{"type":"array","items":{"type":"string"}}}}},"components/schemas/PcbSoldermaskMaterial":{"id":"components/schemas/PcbSoldermaskMaterial","kind":"json-schema","title":"PcbSoldermaskMaterial","data":{"required":["halogenFree","id","materialNumber","materialVendor","soldermaskColor"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"materialVendor":{"type":"string"},"materialNumber":{"type":"string"},"soldermaskColor":{"type":"string"},"finish":{"type":"string","enum":["matte","glossy","semi-gloss","lpi"]},"halogenFree":{"type":"boolean"}}}},"components/schemas/MaterialImportRequest":{"id":"components/schemas/MaterialImportRequest","kind":"json-schema","title":"MaterialImportRequest","data":{"required":["csv","kind","mode"],"type":"object","properties":{"kind":{"type":"string","enum":["base","soldermask"]},"mode":{"type":"string","enum":["replace-all","upsert"]},"csv":{"type":"string"}}}},"components/schemas/MaterialImportResult":{"id":"components/schemas/MaterialImportResult","kind":"json-schema","title":"MaterialImportResult","data":{"required":["deleted","errors","imported","kind","mode","totalRows"],"type":"object","properties":{"kind":{"type":"string","enum":["base","soldermask"]},"mode":{"type":"string","enum":["replace-all","upsert"]},"totalRows":{"type":"integer","format":"int32"},"imported":{"type":"integer","format":"int32"},"deleted":{"type":"integer","format":"int32"},"errors":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/MaterialImportRowError"}]}}}}},"components/schemas/NotUsed":{"id":"components/schemas/NotUsed","kind":"json-schema","title":"NotUsed","data":{"type":"object"}},"components/schemas/DuplicatePcb":{"id":"components/schemas/DuplicatePcb","kind":"json-schema","title":"DuplicatePcb","data":{"required":["exactFiles","fileMatchScore","gid","pcb","propertyMatchScore","propertyMatches","totalScore"],"type":"object","properties":{"pcb":{"allOf":[{"$ref":"#/components/schemas/PCBV2"}]},"gid":{"type":"string"},"propertyMatches":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/PropertyMatch"}]}},"propertyMatchScore":{"type":"number","format":"double"},"exactFiles":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/PCBV2File"}]}},"fileMatchScore":{"type":"number","format":"double"},"totalScore":{"type":"number","format":"double"}}}},"components/schemas/PCBV2Clone":{"id":"components/schemas/PCBV2Clone","kind":"json-schema","title":"PCBV2Clone","data":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the PCB\n\nThe name of the PCB.\nThe PCBs GID is generated based on this name\n"},"externalReference":{"description":"The External ID of the RFQ/Order","allOf":[{"$ref":"#/components/schemas/LqReference"}]}}}},"components/schemas/PCBV2Id":{"id":"components/schemas/PCBV2Id","kind":"json-schema","title":"PCBV2Id","data":{"required":["id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"}}}},"components/schemas/PCBV2Update":{"id":"components/schemas/PCBV2Update","kind":"json-schema","title":"PCBV2Update","data":{"type":"object","properties":{"name":{"type":"string"},"settings":{"allOf":[{"$ref":"#/components/schemas/PCBV2PropertiesUpdate"}]}}}},"components/schemas/TokenResponse":{"id":"components/schemas/TokenResponse","kind":"json-schema","title":"TokenResponse","data":{"required":["authToken"],"type":"object","properties":{"authToken":{"type":"string"},"refreshToken":{"type":"string"}}}},"components/schemas/PCBV2StreamMessage":{"id":"components/schemas/PCBV2StreamMessage","kind":"json-schema","title":"PCBV2StreamMessage","data":{"required":["m","t"],"type":"object","properties":{"t":{"type":"string"},"m":{"allOf":[{"$ref":"#/components/schemas/MessageV2"}]},"ref":{"allOf":[{"$ref":"#/components/schemas/AssemblyReference"}]}}}},"components/schemas/AssemblyLifecycleStage":{"id":"components/schemas/AssemblyLifecycleStage","kind":"json-schema","title":"AssemblyLifecycleStage","data":{"required":["name","status"],"type":"object","properties":{"name":{"type":"string","enum":["main","composition","dfmanalysis","customer-panel","dfm","reconciliation","analysis","files","fileanalysis","layerstack","render","specification-render","reconciled_specification-render","initialization","production-analysis"]},"status":{"allOf":[{"$ref":"#/components/schemas/LifecycleStageStatus"}]},"history":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/HistoricLifecycleState"}]}}}}},"components/schemas/PCBV2Specification":{"id":"components/schemas/PCBV2Specification","kind":"json-schema","title":"PCBV2Specification","data":{"required":["hash","id","name","previews","settings"],"type":"object","properties":{"id":{"type":"string","description":"\nID of the Specification\n\nUnique for this PCB","format":"uuid"},"name":{"type":"string","description":"\nName of the Specification\n\nUnique for this PCB"},"previews":{"description":"The PCB Previews","allOf":[{"$ref":"#/components/schemas/PCBPreviews"}]},"settings":{"allOf":[{"$ref":"#/components/schemas/PCBV2Properties"}]},"hash":{"type":"string","description":"A Hash of the Specification"},"status":{"description":"The status of the Specification","allOf":[{"$ref":"#/components/schemas/SpecificationStatus"}]},"changes":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/SpecificationChange"}]}}}}},"components/schemas/PCBPreviews":{"id":"components/schemas/PCBPreviews","kind":"json-schema","title":"PCBPreviews","data":{"type":"object","properties":{"front":{"allOf":[{"$ref":"#/components/schemas/FileAccess"}]},"rear":{"allOf":[{"$ref":"#/components/schemas/FileAccess"}]}}}},"components/schemas/DrillSet":{"id":"components/schemas/DrillSet","kind":"json-schema","title":"DrillSet","data":{"required":["layers"],"type":"object","properties":{"name":{"type":"string"},"filename":{"type":"string"},"layers":{"type":"array","items":{"type":"string"}}}}},"components/schemas/Tool":{"id":"components/schemas/Tool","kind":"json-schema","title":"Tool","data":{"required":["diameter","drillType","drills","name"],"type":"object","properties":{"name":{"type":"string"},"drillType":{"type":"string"},"diameter":{"type":"number"},"drills":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/DrillHit"}]}},"slots":{"allOf":[{"$ref":"#/components/schemas/SlotFeatures"}]}}}},"components/schemas/Assembly":{"id":"components/schemas/Assembly","kind":"json-schema","title":"Assembly","data":{"required":["created","creator","features","gid","id","information","name","status","team"],"type":"object","properties":{"team":{"type":"string"},"id":{"type":"string","format":"uuid"},"gid":{"type":"string"},"name":{"type":"string"},"creator":{"type":"string"},"created":{"type":"string","format":"date"},"information":{"allOf":[{"$ref":"#/components/schemas/AssemblyInformation"}]},"features":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/AssemblyFeature"}]}},"status":{"allOf":[{"$ref":"#/components/schemas/AssemblyStatus"}]},"currentVersion":{"allOf":[{"$ref":"#/components/schemas/Version"}]},"preview":{"type":"string"},"mail":{"type":"string"},"template":{"allOf":[{"$ref":"#/components/schemas/AssemblyReference"}]},"externalReference":{"allOf":[{"$ref":"#/components/schemas/LqReference"}]}}}},"components/schemas/LayerStackAPI":{"id":"components/schemas/LayerStackAPI","kind":"json-schema","title":"LayerStackAPI","data":{"required":["assembly","definition","stacks","unmatchedFiles"],"type":"object","properties":{"assembly":{"allOf":[{"$ref":"#/components/schemas/AbstractAssemblyReference"}]},"definition":{"allOf":[{"$ref":"#/components/schemas/LayerstackDefinitionAPI"}]},"stacks":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/SubStackAPI"}]}},"unmatchedFiles":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/LayerFile"}]}}}}},"components/schemas/CustomerPanelAPI":{"id":"components/schemas/CustomerPanelAPI","kind":"json-schema","title":"CustomerPanelAPI","data":{"required":["dimensionsSource","elements","isExistingPanel","name","spacing"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"externalId":{"type":"string"},"sourcingScenario":{"type":"string","format":"uuid"},"name":{"type":"string"},"elements":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/CustomerPanelElement"}]}},"description":{"type":"string"},"preview":{"type":"string"},"spacing":{"allOf":[{"$ref":"#/components/schemas/Spacing"}]},"working":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/WorkingPanelUsageAPI"}]}},"selected":{"type":"string","format":"uuid"},"bestYield":{"type":"string","format":"uuid"},"width":{"type":"number"},"height":{"type":"number"},"weight":{"type":"number"},"isExistingPanel":{"type":"boolean"},"dimensionsSource":{"allOf":[{"$ref":"#/components/schemas/DimensionsSource"}]}}}},"components/schemas/LengthWithUnit":{"id":"components/schemas/LengthWithUnit","kind":"json-schema","title":"LengthWithUnit","data":{"required":["unit","value"],"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string","enum":["Micrometer","Inch","Mil","Millimeter","Microinch"]}}}},"components/schemas/Dimension":{"id":"components/schemas/Dimension","kind":"json-schema","title":"Dimension","data":{"required":["max","min"],"type":"object","properties":{"min":{"allOf":[{"$ref":"#/components/schemas/BigPoint"}]},"max":{"allOf":[{"$ref":"#/components/schemas/BigPoint"}]}}}},"components/schemas/Format":{"id":"components/schemas/Format","kind":"json-schema","title":"Format","data":{"required":["resolution","unit"],"type":"object","properties":{"unit":{"type":"string"},"resolution":{"type":"number"},"dimension":{"allOf":[{"$ref":"#/components/schemas/Dimension"}]},"complexity":{"type":"integer","format":"int32"},"scaling":{"type":"number","format":"double"},"gerberscale":{"type":"number","format":"double"}}}},"components/schemas/GraphicElement":{"id":"components/schemas/GraphicElement","kind":"json-schema","title":"GraphicElement","data":{"type":"object","properties":{"path":{"type":"string"},"tag":{"type":"string"},"use":{"allOf":[{"$ref":"#/components/schemas/GraphicUsage"}]},"attributes":{"type":"object","additionalProperties":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/A"}]}}},"elementIds":{"type":"array","items":{"type":"string"}},"trace":{"type":"string"},"orientation":{"allOf":[{"$ref":"#/components/schemas/FlashOrientation"}]}}}},"components/schemas/GraphicDefinition":{"id":"components/schemas/GraphicDefinition","kind":"json-schema","title":"GraphicDefinition","data":{"required":["id","path"],"type":"object","properties":{"id":{"type":"string"},"path":{"type":"string"}}}},"components/schemas/FileType":{"id":"components/schemas/FileType","kind":"json-schema","title":"FileType","data":{"required":["fileType","productionFile","service"],"type":"object","properties":{"service":{"type":"string"},"category":{"type":"string"},"fileType":{"type":"string"},"productionFile":{"type":"boolean"},"mimeType":{"type":"string"},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"matchedByLLM":{"type":"boolean"}}}},"components/schemas/Property":{"id":"components/schemas/Property","kind":"json-schema","title":"Property","data":{"type":"object"}},"components/schemas/Logger":{"id":"components/schemas/Logger","kind":"json-schema","title":"Logger","data":{"required":["ROOT_LOGGER_NAME"],"type":"object","properties":{"ROOT_LOGGER_NAME":{"type":"string"}}}},"components/schemas/Message":{"id":"components/schemas/Message","kind":"json-schema","title":"Message","data":{"type":"object"}},"components/schemas/AssemblyReference":{"id":"components/schemas/AssemblyReference","kind":"json-schema","title":"AssemblyReference","data":{"required":["id","team","version"],"type":"object","properties":{"team":{"type":"string","description":"\nThe team of the Assembly\n\nWill always be set when retrieving data.\nWhen Posting data, this is generally ignored in favor of the current logged-in team "},"id":{"type":"string","description":"\n The Assembly UUID\n\n This ID is universally unique and will not change for any given assembly","format":"uuid"},"gid":{"type":"string","description":"\n The Assembly GID (human readable ID)\n\n This ID is unique inside its team, and will not change for any given assembly"},"version":{"type":"string","description":"\n The Version ID\n\n  This ID is universally unique and will not change for any given version","format":"uuid"}}}},"components/schemas/PCBSpecification":{"id":"components/schemas/PCBSpecification","kind":"json-schema","title":"PCBSpecification","data":{"required":["alias","assembly","dfm","id","settings","status","technology"],"type":"object","properties":{"assembly":{"allOf":[{"$ref":"#/components/schemas/AssemblyReference"}]},"id":{"type":"string","format":"uuid"},"alias":{"type":"string"},"dfm":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"settings":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"user":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"status":{"allOf":[{"$ref":"#/components/schemas/SpecificationStatus"}]},"technology":{"type":"string"},"base":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"preview":{"allOf":[{"$ref":"#/components/schemas/FilePath"}]},"previewRear":{"allOf":[{"$ref":"#/components/schemas/FilePath"}]},"changes":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/SpecificationChange"}]}}}}},"components/schemas/SpecificationPreviews":{"id":"components/schemas/SpecificationPreviews","kind":"json-schema","title":"SpecificationPreviews","data":{"type":"object","properties":{"front":{"type":"string"},"rear":{"type":"string"}}}},"components/schemas/LqReference":{"id":"components/schemas/LqReference","kind":"json-schema","title":"LqReference","data":{"type":"object","properties":{"rfqId":{"type":"string","format":"uuid"},"assemblyId":{"type":"string","format":"uuid"},"customPartSpecificationId":{"type":"string","format":"uuid"}}}},"components/schemas/PCBV2Properties":{"id":"components/schemas/PCBV2Properties","kind":"json-schema","title":"PCBV2Properties","data":{"required":["board","layerStack","markings","mechanical","miscellaneous","reports"],"type":"object","properties":{"board":{"allOf":[{"$ref":"#/components/schemas/PCBV2BoardProperties"}]},"layerStack":{"allOf":[{"$ref":"#/components/schemas/PCBV2LayerStackProperties"}]},"mechanical":{"allOf":[{"$ref":"#/components/schemas/PCBV2MechanicalProperties"}]},"reports":{"allOf":[{"$ref":"#/components/schemas/PCBV2ReportsProperties"}]},"markings":{"allOf":[{"$ref":"#/components/schemas/PCBV2MarkingsProperties"}]},"miscellaneous":{"allOf":[{"$ref":"#/components/schemas/PCBV2MiscellaneousProperties"}]}}}},"components/schemas/PCBV2File":{"id":"components/schemas/PCBV2File","kind":"json-schema","title":"PCBV2File","data":{"required":["fileType","id","inverted","lifecycles","name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"fileType":{"allOf":[{"$ref":"#/components/schemas/FileType"}]},"preview":{"type":"string"},"path":{"type":"string"},"lifecycles":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/FileLifecycleStage"}]}},"inverted":{"type":"boolean"}}}},"components/schemas/ProjectType":{"id":"components/schemas/ProjectType","kind":"json-schema","title":"ProjectType","data":{"type":"object"}},"components/schemas/PCBV2MiscellaneousCapabilities":{"id":"components/schemas/PCBV2MiscellaneousCapabilities","kind":"json-schema","title":"PCBV2MiscellaneousCapabilities","data":{"required":["manufacturingInformation"],"type":"object","properties":{"manufacturingInformation":{"allOf":[{"$ref":"#/components/schemas/StringSpecificationCapability"}]}}}},"components/schemas/PCBV2MechanicalCapabilities":{"id":"components/schemas/PCBV2MechanicalCapabilities","kind":"json-schema","title":"PCBV2MechanicalCapabilities","data":{"required":["aspectRatio","blindVias","buriedVias","chamfering","microVias","minViaDiameter","nphCount","nphMaxSize","nphMinSize","nphToolCount","phAnnularRing","phAnnularRingBreakouts","phCount","phMaxSize","phMinSize","phSurfaceArea","phToolCount","totalDrillCount","viaFilling"],"type":"object","properties":{"minViaDiameter":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"viaFilling":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"blindVias":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"buriedVias":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"chamfering":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"aspectRatio":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"totalDrillCount":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"microVias":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"phCount":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"phToolCount":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"nphCount":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"phMinSize":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"nphMaxSize":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"phMaxSize":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"nphToolCount":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"phAnnularRing":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"phAnnularRingBreakouts":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"nphMinSize":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"phSurfaceArea":{"allOf":[{"$ref":"#/components/schemas/NumericAreaSpecificationCapability"}]}}}},"components/schemas/PCBV2LayerStackCapabilities":{"id":"components/schemas/PCBV2LayerStackCapabilities","kind":"json-schema","title":"PCBV2LayerStackCapabilities","data":{"required":["baseMaterial","finalThickness","innerCopperThickness","layercount","layerstackThicknessTolerance","layerstackType","materialNumber","materialVendor","minInnerLayerStructure","minOuterLayerStructure","numberOfLaminationCycles","numberOfPrepregs","outerCopperThickness","rohsCompilant","tgValue","ulLayerStack","ulMarkingType"],"type":"object","properties":{"layerstackType":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"layerstackThicknessTolerance":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"ulLayerStack":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"ulMarkingType":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"layercount":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"finalThickness":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"baseMaterial":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"outerCopperThickness":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"innerCopperThickness":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"minOuterLayerStructure":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"minInnerLayerStructure":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"rohsCompilant":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"tgValue":{"allOf":[{"$ref":"#/components/schemas/TemperatureSpecificationCapability"}]},"numberOfPrepregs":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"numberOfLaminationCycles":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"materialVendor":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"materialNumber":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]}}}},"components/schemas/PCBV2BoardCapabilities":{"id":"components/schemas/PCBV2BoardCapabilities","kind":"json-schema","title":"PCBV2BoardCapabilities","data":{"required":["applicationType","boardHeight","boardWidth","captonTape","carbonPrint","carbonPrintSide","copperClearance","ctiClass","eTest","ecobond","edgeMetalization","enigThickness","exposedCopperArea","exposedCopperAreaBottom","exposedCopperAreaTop","flammabilityRating","halfCutPlatedVias","halogenFree","hardGold","hardGoldArea","hardGoldThickness","impedanceTested","impedanceTolerance","innerCopperClearance","innerTraceWidth","ipc600Class","itar","maxXOutsAllowed","numberOfLines","outerCopperClearance","outerTraceWidth","peelableMask","placementSide","plcClass","pressFit","pressFitTechnology","reports","silkscreenColor","silkscreenSide","soldermaskClearance","soldermaskColor","soldermaskDam","soldermaskMaterialNumber","soldermaskMaterialVendor","soldermaskSide","surfaceFinish","traceWidth"],"type":"object","properties":{"boardHeight":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"boardWidth":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"silkscreenColor":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"silkscreenSide":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"surfaceFinish":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"enigThickness":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"applicationType":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"hardGold":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"hardGoldArea":{"allOf":[{"$ref":"#/components/schemas/NumericAreaSpecificationCapability"}]},"hardGoldThickness":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"exposedCopperArea":{"allOf":[{"$ref":"#/components/schemas/NumericAreaSpecificationCapability"}]},"exposedCopperAreaTop":{"allOf":[{"$ref":"#/components/schemas/NumericAreaSpecificationCapability"}]},"exposedCopperAreaBottom":{"allOf":[{"$ref":"#/components/schemas/NumericAreaSpecificationCapability"}]},"traceWidth":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"outerTraceWidth":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"innerTraceWidth":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"copperClearance":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"outerCopperClearance":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"innerCopperClearance":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"soldermaskColor":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"soldermaskSide":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"soldermaskDam":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"soldermaskClearance":{"allOf":[{"$ref":"#/components/schemas/LengthSpecificationCapability"}]},"soldermaskMaterialVendor":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"soldermaskMaterialNumber":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"ipc600Class":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"eTest":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"pressFit":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"pressFitTechnology":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"impedanceTested":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"impedanceTolerance":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"peelableMask":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"captonTape":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"reports":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"itar":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"carbonPrint":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"carbonPrintSide":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"edgeMetalization":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"flammabilityRating":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"ctiClass":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"plcClass":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"maxXOutsAllowed":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"halogenFree":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"placementSide":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"ecobond":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"numberOfLines":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"halfCutPlatedVias":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]}}}},"components/schemas/PCBV2ReportsCapabilities":{"id":"components/schemas/PCBV2ReportsCapabilities","kind":"json-schema","title":"PCBV2ReportsCapabilities","data":{"required":["certificateOfConformance","crossSection","firstArticleInspection","xRayMeasurement","xRayMeasurementPoints"],"type":"object","properties":{"crossSection":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"xRayMeasurement":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"xRayMeasurementPoints":{"allOf":[{"$ref":"#/components/schemas/CountSpecificationCapability"}]},"firstArticleInspection":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"certificateOfConformance":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]}}}},"components/schemas/PCBV2MarkingsCapabilities":{"id":"components/schemas/PCBV2MarkingsCapabilities","kind":"json-schema","title":"PCBV2MarkingsCapabilities","data":{"required":["datamatrixCode","dateCode","fabricatorLogo"],"type":"object","properties":{"dateCode":{"allOf":[{"$ref":"#/components/schemas/EnumSpecificationCapability"}]},"fabricatorLogo":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]},"datamatrixCode":{"allOf":[{"$ref":"#/components/schemas/BooleanSpecificationCapability"}]}}}},"components/schemas/MaterialImportRowError":{"id":"components/schemas/MaterialImportRowError","kind":"json-schema","title":"MaterialImportRowError","data":{"required":["line","message"],"type":"object","properties":{"line":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"components/schemas/PropertyMatch":{"id":"components/schemas/PropertyMatch","kind":"json-schema","title":"PropertyMatch","data":{"required":["property"],"type":"object","properties":{"property":{"allOf":[{"$ref":"#/components/schemas/MatchablePcbProperty"}]}}}},"components/schemas/MessageV2":{"id":"components/schemas/MessageV2","kind":"json-schema","title":"MessageV2","data":{"type":"object"}},"components/schemas/LifecycleStageStatus":{"id":"components/schemas/LifecycleStageStatus","kind":"json-schema","title":"LifecycleStageStatus","data":{"required":["endState","messages","name"],"type":"object","properties":{"name":{"type":"string","enum":["unknown","waiting","progress","error","success","timeout"]},"messages":{"type":"array","items":{"type":"string"}},"percent":{"type":"integer","format":"int32"},"duration":{"type":"number","format":"long","deprecated":true},"deadline":{"allOf":[{"$ref":"#/components/schemas/DeadlineDoc"}]},"endState":{"type":"boolean"}}}},"components/schemas/HistoricLifecycleState":{"id":"components/schemas/HistoricLifecycleState","kind":"json-schema","title":"HistoricLifecycleState","data":{"required":["name","start"],"type":"object","properties":{"name":{"allOf":[{"$ref":"#/components/schemas/StageStatusName"}]},"start":{"type":"number","format":"long"},"end":{"type":"number","format":"long"}}}},"components/schemas/SpecificationStatus":{"id":"components/schemas/SpecificationStatus","kind":"json-schema","title":"SpecificationStatus","data":{"type":"object"}},"components/schemas/SpecificationChange":{"id":"components/schemas/SpecificationChange","kind":"json-schema","title":"SpecificationChange","data":{"required":["newValue","previousValue","timestamp","userId"],"type":"object","properties":{"userId":{"type":"string"},"timestamp":{"type":"string","format":"date"},"previousValue":{"allOf":[{"$ref":"#/components/schemas/PCBSpecificationValues"}]},"newValue":{"allOf":[{"$ref":"#/components/schemas/PCBSpecificationValues"}]}}}},"components/schemas/FileAccess":{"id":"components/schemas/FileAccess","kind":"json-schema","title":"FileAccess","data":{"required":["key","path"],"type":"object","properties":{"path":{"type":"string","description":"the relative path to this file"},"key":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a signed token allowing access to this file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can be used as a query parameter "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"?k=<key>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (for instance for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<img>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" tags)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with this key a shareable link to protected files can be created without"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sharing the full token."},"children":[]}]}]}]}}}},"components/schemas/PCBV2PropertiesUpdate":{"id":"components/schemas/PCBV2PropertiesUpdate","kind":"json-schema","title":"PCBV2PropertiesUpdate","data":{"type":"object","properties":{"board":{"allOf":[{"$ref":"#/components/schemas/PCBV2BoardPropertiesUpdate"}]},"layerStack":{"allOf":[{"$ref":"#/components/schemas/PCBV2LayerStackPropertiesUpdate"}]},"mechanical":{"allOf":[{"$ref":"#/components/schemas/PCBV2MechanicalPropertiesUpdate"}]},"reports":{"allOf":[{"$ref":"#/components/schemas/PCBV2ReportsPropertiesUpdate"}]},"markings":{"allOf":[{"$ref":"#/components/schemas/PCBV2MarkingsPropertiesUpdate"}]},"miscellaneous":{"allOf":[{"$ref":"#/components/schemas/PCBV2MiscellaneousPropertiesUpdate"}]}}}},"components/schemas/DrillHit":{"id":"components/schemas/DrillHit","kind":"json-schema","title":"DrillHit","data":{"required":["id","x","y"],"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"id":{"type":"string"},"coverage":{"allOf":[{"$ref":"#/components/schemas/DrillCoverage"}]}}}},"components/schemas/SlotFeatures":{"id":"components/schemas/SlotFeatures","kind":"json-schema","title":"SlotFeatures","data":{"required":["slots"],"type":"object","properties":{"slots":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Tuple2"}]}}}}},"components/schemas/Version":{"id":"components/schemas/Version","kind":"json-schema","title":"Version","data":{"required":["created","filesLocked","id","lifecycles","projectType"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"created":{"type":"string","format":"date"},"released":{"type":"string","format":"date"},"files":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/File"}]}},"filesLocked":{"type":"boolean"},"lifecycles":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/AssemblyLifecycleStage"}]}},"projectType":{"allOf":[{"$ref":"#/components/schemas/ProjectType"}]}}}},"components/schemas/AssemblyInformation":{"id":"components/schemas/AssemblyInformation","kind":"json-schema","title":"AssemblyInformation","data":{"required":["uiStatus"],"type":"object","properties":{"customer":{"type":"string","format":"uuid"},"orderId":{"type":"string"},"assignee":{"type":"string","format":"uuid"},"itemNo":{"type":"string"},"description":{"type":"string"},"uiStatus":{"allOf":[{"$ref":"#/components/schemas/UIStatus"}]},"project":{"type":"string","format":"uuid"}}}},"components/schemas/AssemblyFeature":{"id":"components/schemas/AssemblyFeature","kind":"json-schema","title":"AssemblyFeature","data":{"required":["feature","service"],"type":"object","properties":{"service":{"type":"string"},"feature":{"type":"string"}}}},"components/schemas/AssemblyStatus":{"id":"components/schemas/AssemblyStatus","kind":"json-schema","title":"AssemblyStatus","data":{"type":"object"}},"components/schemas/AbstractAssemblyReference":{"id":"components/schemas/AbstractAssemblyReference","kind":"json-schema","title":"AbstractAssemblyReference","data":{"type":"object"}},"components/schemas/LayerstackDefinitionAPI":{"id":"components/schemas/LayerstackDefinitionAPI","kind":"json-schema","title":"LayerstackDefinitionAPI","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"team":{"type":"string"},"name":{"type":"string"},"stacks":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/SubStackDefinition"}]}},"price":{"type":"number"},"metaInfo":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"creation":{"type":"string","format":"date"},"image":{"type":"string"},"default":{"type":"boolean"}}}},"components/schemas/SubStackAPI":{"id":"components/schemas/SubStackAPI","kind":"json-schema","title":"SubStackAPI","data":{"required":["definition","layers","metaInfo"],"type":"object","properties":{"definition":{"allOf":[{"$ref":"#/components/schemas/SubStackDefinition"}]},"layers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/LayerAPI"}]}},"metaInfo":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]}}}},"components/schemas/CustomerPanelElement":{"id":"components/schemas/CustomerPanelElement","kind":"json-schema","title":"CustomerPanelElement","data":{"type":"object"}},"components/schemas/Spacing":{"id":"components/schemas/Spacing","kind":"json-schema","title":"Spacing","data":{"type":"object","properties":{"topPadding":{"type":"number"},"rightPadding":{"type":"number"},"leftPadding":{"type":"number"},"bottomPadding":{"type":"number"},"verticalSpacing":{"type":"number"},"horizontalSpacing":{"type":"number"}}}},"components/schemas/WorkingPanelUsageAPI":{"id":"components/schemas/WorkingPanelUsageAPI","kind":"json-schema","title":"WorkingPanelUsageAPI","data":{"required":["customerBoards","customerPanels","panelYield","workingPanel"],"type":"object","properties":{"workingPanel":{"type":"string","format":"uuid"},"customerPanels":{"type":"integer","format":"int32"},"customerBoards":{"type":"integer","format":"int32"},"panelYield":{"type":"number","format":"double"},"preview":{"type":"string"}}}},"components/schemas/DimensionsSource":{"id":"components/schemas/DimensionsSource","kind":"json-schema","title":"DimensionsSource","data":{"type":"object"}},"components/schemas/LengthUnit":{"id":"components/schemas/LengthUnit","kind":"json-schema","title":"LengthUnit","data":{"type":"object"}},"components/schemas/BigPoint":{"id":"components/schemas/BigPoint","kind":"json-schema","title":"BigPoint","data":{"required":["x","y"],"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}}}},"components/schemas/GraphicUsage":{"id":"components/schemas/GraphicUsage","kind":"json-schema","title":"GraphicUsage","data":{"required":["location","reference"],"type":"object","properties":{"reference":{"type":"string"},"location":{"allOf":[{"$ref":"#/components/schemas/BigPoint"}]}}}},"components/schemas/A":{"id":"components/schemas/A","kind":"json-schema","title":"A","data":{"type":"object"}},"components/schemas/FlashOrientation":{"id":"components/schemas/FlashOrientation","kind":"json-schema","title":"FlashOrientation","data":{"required":["degrees","mirror"],"type":"object","properties":{"degrees":{"type":"number","format":"double"},"mirror":{"type":"boolean"}}}},"components/schemas/FilePath":{"id":"components/schemas/FilePath","kind":"json-schema","title":"FilePath","data":{"required":["base","filename","fsroot","resource","team"],"type":"object","properties":{"fsroot":{"type":"string"},"team":{"type":"string"},"resource":{"type":"string"},"base":{"type":"string"},"subPath":{"type":"array","items":{"type":"string"}},"filename":{"type":"string"}}}},"components/schemas/PCBV2MiscellaneousProperties":{"id":"components/schemas/PCBV2MiscellaneousProperties","kind":"json-schema","title":"PCBV2MiscellaneousProperties","data":{"type":"object","properties":{"manufacturingInformation":{"type":"string","description":"General information that might be required in form of a free text"}}}},"components/schemas/PCBV2LayerStackProperties":{"id":"components/schemas/PCBV2LayerStackProperties","kind":"json-schema","title":"PCBV2LayerStackProperties","data":{"type":"object","properties":{"layerstackType":{"type":"string","description":"The technology or type of materials used to build the layerstack","enum":["rigid","flex","ims","rigid-flex"]},"layerstackThicknessTolerance":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Thickness tolerance of the final pcb thickness in %"},"children":[]}]}]}]},"ulLayerStack":{"type":"boolean"},"ulMarkingType":{"type":"string","description":"The UL Marking setting","enum":["no-marking","default-marking","custom-marking"]},"layercount":{"type":"number","description":"The amount of copper layers"},"finalThickness":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"baseMaterial":{"type":"string","description":"The base material used to build up the layer stack","enum":["FR-2","FR-3","FR-4","CEM1","CEM2","CEM3","polyimide"]},"outerCopperThickness":{"description":"The finished copper thickness on outer layers","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"innerCopperThickness":{"description":"The finished copper thickness on inner layers","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"minOuterLayerStructure":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"minInnerLayerStructure":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"rohsCompilant":{"type":"boolean","description":"Indicates if the product must be compliant with RoHS"},"tgValue":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The minimum Tg value of the base material in C°"},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/TemperatureWithUnit"}]},"numberOfPrepregs":{"type":"number","description":"The number of prepreg layers"},"numberOfLaminationCycles":{"type":"number","description":"The number of lamination cycles"},"materialVendor":{"type":"string","description":"The vendor of the base material, sourced from the central material catalog"},"materialNumber":{"type":"string","description":"The material number of the base material, sourced from the central material catalog"}}}},"components/schemas/PCBV2MechanicalProperties":{"id":"components/schemas/PCBV2MechanicalProperties","kind":"json-schema","title":"PCBV2MechanicalProperties","data":{"type":"object","properties":{"minViaDiameter":{"description":"The minimum via diameter","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"viaFilling":{"type":"string","description":"Via filling type according to IPC-4761","enum":["none","Ia","Ib","IIb","IIIa","IIIb","IVa","IVb","V","VI","VII"]},"blindVias":{"type":"boolean","description":"Indicates whether the PCB has blind vias or not"},"blindViaCount":{"type":"integer","description":"The number of blind vias","format":"int32"},"buriedVias":{"type":"boolean","description":"Indicates whether the PCB has buried vias or not"},"buriedViaCount":{"type":"integer","description":"The number of buried vias","format":"int32"},"chamfering":{"type":"string","description":"Describes the type of chamfering","enum":["none","20-PCI","45-ISA"]},"outlineLength":{"description":"The length of the outline path ","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"aspectRatio":{"type":"number","description":"The smallest aspect-ratio found on the PCB"},"totalDrillCount":{"type":"number","description":"The total number of drills"},"microVias":{"type":"boolean","description":"Indicates whether the PCB has micro vias or not"},"phCount":{"type":"number","description":"The amount of plated holes (vias)"},"phToolCount":{"type":"number","description":"The amount of different tools used for plated holes"},"nphCount":{"type":"number","description":"The amount of non-plated holes (drills)"},"phMinSize":{"description":"The smallest non-plated hole diameter","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"nphMaxSize":{"description":"The largest non-plated hole diameter","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"phMaxSize":{"description":"The largest plated hole diameter","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"nphToolCount":{"type":"number","description":"The amount of different tools used for non-plated holes"},"phAnnularRing":{"description":"The smallest annular ring between plated holes and copper, found on all layers of the PCB","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"phAnnularRingBreakouts":{"type":"number","description":"The number of plated-hole annular ring breakouts found on the PCB (0 if none)"},"nphMinSize":{"description":"The smallest non-plated hole diameter","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"phSurfaceArea":{"type":"number","description":"The surface area of the inside of all plated holes"}}}},"components/schemas/PCBV2MarkingsProperties":{"id":"components/schemas/PCBV2MarkingsProperties","kind":"json-schema","title":"PCBV2MarkingsProperties","data":{"type":"object","properties":{"dateCode":{"type":"string","description":"Code indicating the manufacturing date of the PCB","enum":["none","default","custom"]},"fabricatorLogo":{"type":"boolean","description":"Logo of the PCB fabricator printed on the board"},"datamatrixCode":{"type":"boolean","description":"Unique datamatrix code for tracking and identification"}}}},"components/schemas/PCBV2BoardProperties":{"id":"components/schemas/PCBV2BoardProperties","kind":"json-schema","title":"PCBV2BoardProperties","data":{"type":"object","properties":{"boardHeight":{"description":"The height of a single PCB","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"boardWidth":{"description":"The width of a single PCB","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"silkscreenColor":{"type":"string","description":"Specifies the silkscreen color","enum":["white","black","yellow","red","green","blue"]},"silkscreenSide":{"type":"string","description":"Specifies on which side the silkscreen should be printed on","enum":["none","top","bottom","both"]},"surfaceFinish":{"type":"string","description":"Specifies the type of surface finish that will be applied on the PCB surface","enum":["none","hal-pb","hal-pb-free","enig","enipig","is","it","osp"]},"enigThickness":{"description":"ENIG thickness","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"applicationType":{"type":"string","description":"The type of application the PCB will be used for","enum":["Industrial","Military","Automotive","Medical","Consumer","Aerospace"]},"notes":{"type":"string"},"hardGold":{"type":"boolean","description":"Defines whether galvanic hard gold is required"},"hardGoldArea":{"description":"Define the area for galvanic hard gold","allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"hardGoldThickness":{"description":"Define the thickness for galvanic hard gold in micrometer","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"exposedCopperArea":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The total exposed copper area in mm² (exposed_copper_area_top + exposed_copper_area_bottom)"},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"exposedCopperAreaTop":{"description":"Exposed copper area on the top side","allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"exposedCopperAreaBottom":{"description":"Exposed copper area on the bottom side","allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"traceWidth":{"description":"The width of the trace","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"outerTraceWidth":{"description":"The width of the outer trace","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"innerTraceWidth":{"description":"The width of the inner trace","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"copperClearance":{"description":"The copper clearance","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"outerCopperClearance":{"description":"The outer copper clearance","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"innerCopperClearance":{"description":"The inner copper clearance","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"soldermaskColor":{"type":"string","description":"The color of the soldermask"},"soldermaskSide":{"type":"string","description":"The side of the soldermask","enum":["none","top","bottom","both"]},"pasteSide":{"type":"string","description":"The side of the paste","enum":["none","top","bottom","both"]},"soldermaskDam":{"description":"The dam of the soldermask","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"soldermaskClearance":{"description":"The clearance of the soldermask","allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"soldermaskMaterialVendor":{"type":"string","description":"The vendor of the soldermask material, sourced from the central soldermask-material catalog"},"soldermaskMaterialNumber":{"type":"string","description":"The material number of the soldermask material, sourced from the central soldermask-material catalog"},"ipc600Class":{"type":"string","description":"Product quality acceptance according to IPC-A-600","enum":["ipcnone","ipc1","ipc2","ipc2+","ipc3","ipc3a"]},"eTest":{"type":"boolean","description":"Specifies if E-Test is required"},"pressFit":{"type":"boolean","description":"Specifies whether press-fit components will be used"},"pressFitTechnology":{"description":"Specifies the press-fit technology","allOf":[{"$ref":"#/components/schemas/PressFitTechnology"}]},"impedanceTested":{"type":"boolean","description":"Specifies whether an impedance control is required"},"impedanceTolerance":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The tolerance of the impedance testing in %"},"children":[]}]}]}]},"peelableMask":{"type":"string","description":"Defines whether a peelable solder mask is required","enum":["none","top","bottom","both"]},"captonTape":{"type":"string","description":"Defines whether capton tape is required","enum":["none","top","bottom","both"]},"reports":{"type":"array","items":{"type":"string","enum":["cross_section_report","first_sample_test_report","impedance_report","coc_report"]}},"itar":{"type":"boolean"},"carbonPrint":{"type":"boolean","description":"Defines whether carbon print is required"},"carbonPrintSide":{"type":"string","description":"Defines which sides of the PCB should be carbon printed","enum":["none","top","bottom","both"]},"edgeMetalization":{"type":"boolean","description":"Metalization of the PCB edges with copper and the final finish"},"flammabilityRating":{"type":"string","description":"The flammability rating of the base material according to UL 94","enum":["none","V-0","V-1","V-2"]},"ctiClass":{"type":"string","description":"Describes the electrical breakdown product class according to IEC 60601-1:2005","enum":["none","i","ii","iiia","iiib"]},"plcClass":{"type":"string","description":"Describes the Performance Level Category for electrical performance of base material","enum":["none","plc0","plc1","plc2","plc3"]},"maxXOutsAllowed":{"type":"number","description":"The number of accepted X-outs per delivery/customer panel"},"halogenFree":{"type":"boolean","description":"Defines whether the PCB is halogen-free"},"placementSide":{"type":"string","description":"Defines which side of the PCB should be placed on","enum":["none","top","bottom","both"]},"ecobond":{"type":"boolean","description":"Defines whether ecobond is required"},"numberOfLines":{"type":"number","description":"The number of lines on the PCB"},"halfCutPlatedVias":{"type":"boolean","description":"Defines whether half-cutted plated vias are required"}}}},"components/schemas/PCBV2ReportsProperties":{"id":"components/schemas/PCBV2ReportsProperties","kind":"json-schema","title":"PCBV2ReportsProperties","data":{"type":"object","properties":{"crossSection":{"type":"boolean","description":"Report of a cross-sectional analysis of the PCB layers"},"xRayMeasurement":{"type":"boolean","description":"Report about a X-ray inspection of the PCB"},"xRayMeasurementPoints":{"type":"number","description":"Number of measured points during the X-ray inspection"},"firstArticleInspection":{"type":"boolean","description":"Initial inspection report verifying all specifications"},"certificateOfConformance":{"type":"boolean","description":"Requires and official document certifying compliance with quality standards"}}}},"components/schemas/FileLifecycleStage":{"id":"components/schemas/FileLifecycleStage","kind":"json-schema","title":"FileLifecycleStage","data":{"required":["name","status"],"type":"object","properties":{"name":{"allOf":[{"$ref":"#/components/schemas/FileLifecycleStageName"}]},"status":{"allOf":[{"$ref":"#/components/schemas/LifecycleStageStatus"}]},"history":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/HistoricLifecycleState"}]}}}}},"components/schemas/StringSpecificationCapability":{"id":"components/schemas/StringSpecificationCapability","kind":"json-schema","title":"StringSpecificationCapability","data":{"type":"object","properties":{"allowed":{"type":"array","items":{"type":"string"}},"default":{"type":"string"}}}},"components/schemas/LengthSpecificationCapability":{"id":"components/schemas/LengthSpecificationCapability","kind":"json-schema","title":"LengthSpecificationCapability","data":{"required":["defaultUnit","disabled"],"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"allowed":{"type":"array","items":{"type":"number"}},"default":{"type":"number"},"disabled":{"type":"boolean"},"defaultUnit":{"type":"string","enum":["Micrometer","Inch","Mil","Millimeter","Microinch"]}}}},"components/schemas/EnumSpecificationCapability":{"id":"components/schemas/EnumSpecificationCapability","kind":"json-schema","title":"EnumSpecificationCapability","data":{"required":["allowed","default","impliedBy"],"type":"object","properties":{"allowed":{"type":"array","items":{"type":"string"}},"default":{"type":"string"},"impliedBy":{"type":"string"}}}},"components/schemas/NumericAreaSpecificationCapability":{"id":"components/schemas/NumericAreaSpecificationCapability","kind":"json-schema","title":"NumericAreaSpecificationCapability","data":{"required":["defaultUnit","disabled"],"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"allowed":{"type":"array","items":{"type":"number"}},"default":{"type":"number"},"disabled":{"type":"boolean"},"defaultUnit":{"type":"string","enum":["SquareMillimeter","SquareInch"]}}}},"components/schemas/CountSpecificationCapability":{"id":"components/schemas/CountSpecificationCapability","kind":"json-schema","title":"CountSpecificationCapability","data":{"required":["disabled"],"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"allowed":{"type":"array","items":{"type":"number"}},"default":{"type":"number"},"disabled":{"type":"boolean"}}}},"components/schemas/BooleanSpecificationCapability":{"id":"components/schemas/BooleanSpecificationCapability","kind":"json-schema","title":"BooleanSpecificationCapability","data":{"required":["allowed","default"],"type":"object","properties":{"allowed":{"type":"array","items":{"type":"boolean"}},"default":{"type":"boolean"}}}},"components/schemas/TemperatureSpecificationCapability":{"id":"components/schemas/TemperatureSpecificationCapability","kind":"json-schema","title":"TemperatureSpecificationCapability","data":{"required":["defaultUnit","disabled"],"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"allowed":{"type":"array","items":{"type":"number"}},"default":{"type":"number"},"disabled":{"type":"boolean"},"defaultUnit":{"type":"string","enum":["Celsius","Fahrenheit"]},"impliedBy":{"type":"string"}}}},"components/schemas/MatchablePcbProperty":{"id":"components/schemas/MatchablePcbProperty","kind":"json-schema","title":"MatchablePcbProperty","data":{"type":"object"}},"components/schemas/DeadlineDoc":{"id":"components/schemas/DeadlineDoc","kind":"json-schema","title":"DeadlineDoc","data":{"required":["length","unit"],"type":"object","properties":{"length":{"type":"number","format":"long"},"unit":{"type":"string","enum":["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"]}}}},"components/schemas/StageStatusName":{"id":"components/schemas/StageStatusName","kind":"json-schema","title":"StageStatusName","data":{"type":"object"}},"components/schemas/PCBSpecificationValues":{"id":"components/schemas/PCBSpecificationValues","kind":"json-schema","title":"PCBSpecificationValues","data":{"type":"object","properties":{"base":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"status":{"allOf":[{"$ref":"#/components/schemas/SpecificationStatus"}]}}}},"components/schemas/PCBV2LayerStackPropertiesUpdate":{"id":"components/schemas/PCBV2LayerStackPropertiesUpdate","kind":"json-schema","title":"PCBV2LayerStackPropertiesUpdate","data":{"type":"object","properties":{"layerstackType":{"type":"string","enum":["rigid","flex","ims","rigid-flex"]},"layerstackThicknessTolerance":{"type":"number"},"ulLayerStack":{"type":"boolean"},"ulMarkingType":{"type":"string","enum":["no-marking","default-marking","custom-marking"]},"layercount":{"type":"number"},"finalThickness":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"baseMaterial":{"type":"string","enum":["FR-2","FR-3","FR-4","CEM1","CEM2","CEM3","polyimide"]},"outerCopperThickness":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"innerCopperThickness":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"minOuterLayerStructure":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"minInnerLayerStructure":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"rohsCompilant":{"type":"boolean"},"tgValue":{"allOf":[{"$ref":"#/components/schemas/TemperatureWithUnit"}]},"numberOfPrepregs":{"type":"number"},"numberOfLaminationCycles":{"type":"number"},"materialVendor":{"type":"string"},"materialNumber":{"type":"string"}}}},"components/schemas/PCBV2BoardPropertiesUpdate":{"id":"components/schemas/PCBV2BoardPropertiesUpdate","kind":"json-schema","title":"PCBV2BoardPropertiesUpdate","data":{"type":"object","properties":{"boardHeight":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"boardWidth":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"silkscreenColor":{"type":"string","enum":["white","black","yellow","red","green","blue"]},"silkscreenSide":{"type":"string","enum":["none","top","bottom","both"]},"surfaceFinish":{"type":"string","enum":["none","hal-pb","hal-pb-free","enig","enipig","is","it","osp"]},"enigThickness":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"applicationType":{"type":"string","enum":["Industrial","Military","Automotive","Medical","Consumer","Aerospace"]},"notes":{"type":"string"},"hardGold":{"type":"boolean"},"hardGoldArea":{"allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"hardGoldThickness":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"exposedCopperArea":{"allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"exposedCopperAreaTop":{"allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"exposedCopperAreaBottom":{"allOf":[{"$ref":"#/components/schemas/AreaWithUnit"}]},"traceWidth":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"outerTraceWidth":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"innerTraceWidth":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"copperClearance":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"outerCopperClearance":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"innerCopperClearance":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"soldermaskColor":{"type":"string"},"soldermaskSide":{"type":"string","enum":["none","top","bottom","both"]},"pasteSide":{"type":"string","enum":["none","top","bottom","both"]},"soldermaskDam":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"soldermaskClearance":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"soldermaskMaterialVendor":{"type":"string"},"soldermaskMaterialNumber":{"type":"string"},"ipc600Class":{"type":"string","enum":["ipcnone","ipc1","ipc2","ipc2+","ipc3","ipc3a"]},"eTest":{"type":"boolean"},"pressFit":{"type":"boolean"},"pressFitTechnology":{"allOf":[{"$ref":"#/components/schemas/PressFitTechnology"}]},"impedanceTested":{"type":"boolean"},"impedanceTolerance":{"type":"number"},"peelableMask":{"type":"string","enum":["none","top","bottom","both"]},"captonTape":{"type":"string","enum":["none","top","bottom","both"]},"reports":{"type":"array","items":{"type":"string","enum":["cross_section_report","first_sample_test_report","impedance_report","coc_report"]}},"itar":{"type":"boolean"},"carbonPrint":{"type":"boolean"},"carbonPrintSide":{"type":"string","enum":["none","top","bottom","both"]},"edgeMetalization":{"type":"boolean"},"flammabilityRating":{"type":"string","enum":["none","V-0","V-1","V-2"]},"ctiClass":{"type":"string","enum":["none","i","ii","iiia","iiib"]},"plcClass":{"type":"string","enum":["none","plc0","plc1","plc2","plc3"]},"maxXOutsAllowed":{"type":"number"},"halogenFree":{"type":"boolean"},"placementSide":{"type":"string","enum":["none","top","bottom","both"]},"ecobond":{"type":"boolean"},"numberOfLines":{"type":"number"},"halfCutPlatedVias":{"type":"boolean"}}}},"components/schemas/PCBV2MechanicalPropertiesUpdate":{"id":"components/schemas/PCBV2MechanicalPropertiesUpdate","kind":"json-schema","title":"PCBV2MechanicalPropertiesUpdate","data":{"type":"object","properties":{"minViaDiameter":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"viaFilling":{"type":"string","enum":["none","Ia","Ib","IIb","IIIa","IIIb","IVa","IVb","V","VI","VII"]},"blindVias":{"type":"boolean"},"blindViaCount":{"type":"integer","format":"int32"},"buriedVias":{"type":"boolean"},"buriedViaCount":{"type":"integer","format":"int32"},"chamfering":{"type":"string","enum":["none","20-PCI","45-ISA"]},"outlineLength":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"aspectRatio":{"type":"number"},"totalDrillCount":{"type":"number"},"microVias":{"type":"boolean"},"phCount":{"type":"number"},"phToolCount":{"type":"number"},"nphCount":{"type":"number"},"phMinSize":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"nphMaxSize":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"phMaxSize":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"nphToolCount":{"type":"number"},"phAnnularRing":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"phAnnularRingBreakouts":{"type":"number"},"nphMinSize":{"allOf":[{"$ref":"#/components/schemas/LengthWithUnit"}]},"phSurfaceArea":{"type":"number"}}}},"components/schemas/PCBV2MarkingsPropertiesUpdate":{"id":"components/schemas/PCBV2MarkingsPropertiesUpdate","kind":"json-schema","title":"PCBV2MarkingsPropertiesUpdate","data":{"type":"object","properties":{"dateCode":{"type":"string","enum":["none","default","custom"]},"fabricatorLogo":{"type":"boolean"},"datamatrixCode":{"type":"boolean"}}}},"components/schemas/PCBV2ReportsPropertiesUpdate":{"id":"components/schemas/PCBV2ReportsPropertiesUpdate","kind":"json-schema","title":"PCBV2ReportsPropertiesUpdate","data":{"type":"object","properties":{"crossSection":{"type":"boolean"},"xRayMeasurement":{"type":"boolean"},"xRayMeasurementPoints":{"type":"number"},"firstArticleInspection":{"type":"boolean"},"certificateOfConformance":{"type":"boolean"}}}},"components/schemas/PCBV2MiscellaneousPropertiesUpdate":{"id":"components/schemas/PCBV2MiscellaneousPropertiesUpdate","kind":"json-schema","title":"PCBV2MiscellaneousPropertiesUpdate","data":{"type":"object","properties":{"manufacturingInformation":{"type":"string"}}}},"components/schemas/DrillCoverage":{"id":"components/schemas/DrillCoverage","kind":"json-schema","title":"DrillCoverage","data":{"type":"object","properties":{"soldermaskTop":{"type":"boolean"},"soldermaskBottom":{"type":"boolean"}}}},"components/schemas/Tuple2":{"id":"components/schemas/Tuple2","kind":"json-schema","title":"Tuple2","data":{"required":["_1","_2"],"type":"object","properties":{"_1":{"allOf":[{"$ref":"#/components/schemas/T1"}]},"_2":{"allOf":[{"$ref":"#/components/schemas/T2"}]}}}},"components/schemas/File":{"id":"components/schemas/File","kind":"json-schema","title":"File","data":{"required":["created","detectedTypes","fType","id","lifecycles","name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"subPath":{"type":"array","items":{"type":"string"}},"fType":{"allOf":[{"$ref":"#/components/schemas/FileType"}]},"detectedTypes":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/FileType"}]}},"created":{"type":"string","format":"date"},"preview":{"type":"string"},"lifecycles":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/FileLifecycleStage"}]}},"hash":{"type":"string"}}}},"components/schemas/UIStatus":{"id":"components/schemas/UIStatus","kind":"json-schema","title":"UIStatus","data":{"required":["status"],"type":"object","properties":{"status":{"type":"string"},"progress":{"type":"integer","format":"int32"},"messages":{"type":"array","items":{"type":"string"}}}}},"components/schemas/SubStackDefinition":{"id":"components/schemas/SubStackDefinition","kind":"json-schema","title":"SubStackDefinition","data":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"layers":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/LayerDefinition"}]}},"stackType":{"type":"string"},"drills":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/DrillSupport"}]}},"offset":{"type":"integer","format":"int32"}}}},"components/schemas/LayerAPI":{"id":"components/schemas/LayerAPI","kind":"json-schema","title":"LayerAPI","data":{"required":["definition","metaInfo"],"type":"object","properties":{"definition":{"allOf":[{"$ref":"#/components/schemas/LayerDefinition"}]},"files":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/LayerFile"}]}},"metaInfo":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]}}}},"components/schemas/TemperatureWithUnit":{"id":"components/schemas/TemperatureWithUnit","kind":"json-schema","title":"TemperatureWithUnit","data":{"required":["unit","value"],"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string","enum":["Celsius","Fahrenheit"]}}}},"components/schemas/AreaWithUnit":{"id":"components/schemas/AreaWithUnit","kind":"json-schema","title":"AreaWithUnit","data":{"required":["unit","value"],"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string","enum":["SquareMillimeter","SquareInch"]}}}},"components/schemas/PressFitTechnology":{"id":"components/schemas/PressFitTechnology","kind":"json-schema","title":"PressFitTechnology","data":{"required":["value"],"type":"object","properties":{"value":{"type":"string"}}}},"components/schemas/FileLifecycleStageName":{"id":"components/schemas/FileLifecycleStageName","kind":"json-schema","title":"FileLifecycleStageName","data":{"type":"object"}},"components/schemas/T1":{"id":"components/schemas/T1","kind":"json-schema","title":"T1","data":{"type":"object"}},"components/schemas/T2":{"id":"components/schemas/T2","kind":"json-schema","title":"T2","data":{"type":"object"}},"components/schemas/LayerDefinition":{"id":"components/schemas/LayerDefinition","kind":"json-schema","title":"LayerDefinition","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"layerType":{"type":"string"},"meta":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"materialRef":{"type":"string"},"material":{"allOf":[{"$ref":"#/components/schemas/Material"}]}}}},"components/schemas/DrillSupport":{"id":"components/schemas/DrillSupport","kind":"json-schema","title":"DrillSupport","data":{"required":["drillType","from","to"],"type":"object","properties":{"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"col":{"type":"integer","format":"int32"},"drillType":{"type":"string"}}}},"components/schemas/Material":{"id":"components/schemas/Material","kind":"json-schema","title":"Material","data":{"type":"object","properties":{"team":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"meta":{"allOf":[{"$ref":"#/components/schemas/MetaInfo"}]},"materialType":{"type":"string"}}}},"components/schemas/FileUpload":{"id":"components/schemas/FileUpload","kind":"json-schema","title":"FileUpload","data":{"type":"object"}},"schema_91":{"kind":"json-schema","data":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/AssemblyImportResponse"}}},"id":"schema_91"},"schema_92":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","format":"uuid"}},"id":"schema_92"},"schema_93":{"kind":"json-schema","data":{"$ref":"#/components/schemas/AssemblyAcceptHeader"},"id":"schema_93"},"schema_94":{"kind":"json-schema","data":{"type":["boolean","null"]},"id":"schema_94"},"schema_95":{"kind":"json-schema","data":{"type":"string","description":"The JWT access token","examples":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"]},"id":"schema_95"},"schema_96":{"kind":"json-schema","data":{"$ref":"#/components/schemas/AssemblyIdsAcceptHeader"},"id":"schema_96"},"schema_97":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CostedBomAcceptHeader"},"id":"schema_97"},"schema_98":{"kind":"json-schema","data":{"type":["integer","null"],"format":"int64"},"id":"schema_98"},"schema_99":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ComponentExportAcceptHeader"},"id":"schema_99"},"schema_100":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ComponentRiskAcceptHeader"},"id":"schema_100"},"schema_101":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CustomPartAcceptHeader"},"id":"schema_101"},"schema_102":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CustomPartResourceAcceptHeader"},"id":"schema_102"},"schema_103":{"kind":"json-schema","data":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"id":"schema_103"},"schema_104":{"kind":"json-schema","data":{"type":["string","null"]},"id":"schema_104"},"schema_105":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CustomerAcceptHeader"},"id":"schema_105"},"schema_106":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CustomerUserAcceptHeader"},"id":"schema_106"},"schema_107":{"kind":"json-schema","data":{"$ref":"#/components/schemas/DemandAcceptHeader"},"id":"schema_107"},"schema_108":{"kind":"json-schema","data":{"$ref":"#/components/schemas/FlexibleCalculationAcceptHeader"},"id":"schema_108"},"schema_109":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ManufacturingDataExportAcceptHeader"},"id":"schema_109"},"schema_110":{"kind":"json-schema","data":{"$ref":"#/components/schemas/AssemblyCostAcceptHeader"},"id":"schema_110"},"schema_111":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ManufacturingResourceAcceptHeader"},"id":"schema_111"},"schema_112":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/types.manufacturing.resource.v1.ResourceResponse"}},"id":"schema_112"},"schema_113":{"kind":"json-schema","data":{"$ref":"#/components/schemas/CustomPartOfferAcceptHeader"},"id":"schema_113"},"schema_114":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SupplierCustomPartOfferAcceptHeader"},"id":"schema_114"},"schema_115":{"kind":"json-schema","data":{"$ref":"#/components/schemas/OrderManagementAcceptHeader"},"id":"schema_115"},"schema_116":{"kind":"json-schema","data":{"$ref":"#/components/schemas/PcbSpecificationAcceptHeader"},"id":"schema_116"},"schema_117":{"kind":"json-schema","data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/PCBV2"}]}},"id":"schema_117"},"schema_118":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2Creation"}]},"id":"schema_118"},"schema_119":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2"}]},"id":"schema_119"},"schema_120":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2SpecificationCapabilities"}]},"id":"schema_120"},"schema_121":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PcbBaseMaterialVendors"}]},"id":"schema_121"},"schema_122":{"kind":"json-schema","data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/PcbBaseMaterial"}]}},"id":"schema_122"},"schema_123":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PcbBaseMaterial"}]},"id":"schema_123"},"schema_124":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PcbSoldermaskMaterialVendors"}]},"id":"schema_124"},"schema_125":{"kind":"json-schema","data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/PcbSoldermaskMaterial"}]}},"id":"schema_125"},"schema_126":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PcbSoldermaskMaterial"}]},"id":"schema_126"},"schema_127":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/NotUsed"}]},"id":"schema_127"},"schema_128":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2Update"}]},"id":"schema_128"},"schema_129":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2Clone"}]},"id":"schema_129"},"schema_130":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2Id"}]},"id":"schema_130"},"schema_131":{"kind":"json-schema","data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/PCBV2Specification"}]}},"id":"schema_131"},"schema_132":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBV2Specification"}]},"id":"schema_132"},"schema_133":{"kind":"json-schema","data":{"type":"string","description":"the name or uuid of the specification"},"id":"schema_133"},"schema_134":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/Object"}]},"id":"schema_134"},"schema_135":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/PCBPreviews"}]},"id":"schema_135"},"schema_136":{"kind":"json-schema","data":{"$ref":"#/components/schemas/PnpAcceptHeader"},"id":"schema_136"},"schema_137":{"kind":"json-schema","data":{"$ref":"#/components/schemas/QuotationUploadAcceptHeader"},"id":"schema_137"},"schema_138":{"kind":"json-schema","data":{"type":["string","null"],"format":"uuid"},"id":"schema_138"},"schema_139":{"kind":"json-schema","data":{"$ref":"#/components/schemas/RfqOverviewAcceptHeader"},"id":"schema_139"},"schema_140":{"kind":"json-schema","data":{"$ref":"#/components/schemas/RfqAcceptHeader"},"id":"schema_140"},"schema_141":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SourcingCalculationAcceptHeader"},"id":"schema_141"},"schema_142":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SourcingScenarioV2AcceptHeader"},"id":"schema_142"},"schema_143":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SourcingScenarioAcceptHeader"},"id":"schema_143"},"schema_144":{"kind":"json-schema","data":{"$ref":"#/components/schemas/SupplierAcceptHeader"},"id":"schema_144"},"schema_145":{"kind":"json-schema","data":{"$ref":"#/components/schemas/UserAcceptHeader"},"id":"schema_145"},"schema_146":{"kind":"json-schema","data":{"$ref":"#/components/schemas/OfferAcceptHeader"},"id":"schema_146"},"schema_147":{"kind":"json-schema","data":{"type":"boolean","default":false},"id":"schema_147"},"schema_148":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/OfferDeleteConflictOnPublicOffer"},{"$ref":"#/components/schemas/OfferDeleteConflictOnReferencedOfferErrorResponse"}],"type":"object","discriminator":{"propertyName":"code","mapping":{"offer.cannot_delete_public_off_the_shelf_offers":"#/components/schemas/ApiErrorResponse_OfferDeleteConflictOnPublicOfferErrorData_OfferCannotDeletePublicOffTheShelfOffer_CONFLICT","offer.cannot_delete_referenced_offers":"#/components/schemas/ApiErrorResponse_OfferDeleteConflictOnPublicOffer_OfferCannotDeleteRefererencedOffer_CONFLICT"}}},"id":"schema_148"},"schema_149":{"kind":"json-schema","data":{"$ref":"#/components/schemas/OfferImportContextAcceptHeader"},"id":"schema_149"},"schema_150":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ProjectOverviewAcceptHeader"},"id":"schema_150"},"schema_151":{"kind":"json-schema","data":{"$ref":"#/components/schemas/ProjectAcceptHeader"},"id":"schema_151"}},"exampleStore":{"paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer":{"value":[{"availability":{"available_stock":5626,"lead_time":254,"on_order":[{"date":"2023-12-24","quantity":1000},{"date":"2024-01-08","quantity":2000}],"total_stock":9386},"customer":{"name":"MyCustomer","number":"9987"},"packaging":"Bag","part":{"internal_part_number":"1000-10"},"prices":[{"moq":1,"mpq":10,"unit_price":{"amount":"0.0100","currency":"EUR"}},{"moq":100,"mpq":10,"unit_price":{"amount":"0.0090","currency":"EUR"}}],"supplier":{"type":"Internal","supplier":"Inventory Site","supplier_number":"SITE-001","supplier_part_number":"INV-EXT-SUP-NUMBER"},"unit_of_measurement":{"quantity":0.1,"unit":"Kilogram"},"valid_until":"2030-04-01","notes":"Example notes"}],"key":"full-inventory-ipn-offer","summary":"full-inventory-ipn-offer","description":"An inventory offer for an IPN with all fields specified.","id":"paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-inventory-ipn-offer"},"paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer":{"value":[{"availability":{"available_stock":5626,"lead_time":254,"on_order":[{"date":"2023-12-24","quantity":1000},{"date":"2024-01-08","quantity":2000}]},"customer":{"name":"MyCustomer","number":"9987"},"packaging":"Reel","part":{"manufacturer":"Panasonic","manufacturer_part_number":"ERJ-B2BF1R1V"},"price_type":"Contract","prices":[{"moq":1,"mpq":10,"unit_price":{"amount":"0.0100","currency":"EUR"}},{"moq":100,"mpq":10,"unit_price":{"amount":"0.0090","currency":"EUR"}}],"supplier":{"type":"External","supplier":"Mouser","stock_location":"USA","supplier_number":"SUP-020","supplier_part_number":"667-ERJ-B2BF1R1V"},"unit_of_measurement":{"quantity":1,"unit":"Piece"},"valid_until":"2030-04-01","notes":"Example notes"}],"key":"full-supplier-part-offer","summary":"full-supplier-part-offer","description":"An supplier offer for an off-the-shelf part with all fields specified.","id":"paths/~1offers~1import/post/requestBody/content/application~1json/examples/full-supplier-part-offer"},"paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer":{"value":[{"availability":{"available_stock":251},"part":{"internal_part_number":"1000-10"},"prices":[{"unit_price":{"amount":"0.500","currency":"EUR"}}],"supplier":{"type":"Internal"}}],"key":"minimal-inventory-ipn-offer","summary":"minimal-inventory-ipn-offer","description":"An inventory offer for an IPN with a minimal number of fields specified.","id":"paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-inventory-ipn-offer"},"paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer":{"value":[{"availability":{"available_stock":251},"part":{"manufacturer":"Panasonic","manufacturer_part_number":"ERJ-B2BF1R1V"},"prices":[{"unit_price":{"amount":"0.500","currency":"EUR"}}],"supplier":{"type":"External","supplier_number":"SUP-020"}}],"key":"minimal-supplier-part-offer","summary":"minimal-supplier-part-offer","description":"An supplier offer for an off-the-shelf part with a minimal number of fields specified.","id":"paths/~1offers~1import/post/requestBody/content/application~1json/examples/minimal-supplier-part-offer"},"paths/~1offers~1import/post/responses/207/content/application~1json/examples/all-success":{"value":[{"part":{"internal_part_number":"1000-10"},"status":200,"description":"Created"},{"part":{"manufacturer":"Panasonic","manufacturer_part_number":"ERJ-B2BF1R1V"},"status":200,"description":"Created"}],"key":"all-success","summary":"all-success","description":"The standard case when all offer items in the request were parsed and handled successfully.","id":"paths/~1offers~1import/post/responses/207/content/application~1json/examples/all-success"},"paths/~1offers~1import/post/responses/207/content/application~1json/examples/unmatched-part":{"value":[{"part":{"manufacturer":"ExampleManufacturer","manufacturer_part_number":"MPN"},"status":400,"description":"The manufacturer 'ExampleManufacturer' cannot be found. Please contact support if this manufacturer should be added to Luminovo."},{"part":{"manufacturer":"Panasonic","manufacturer_part_number":"ExampleMpn"},"status":400,"description":"No part with manufacturer part number 'ExampleMpn' can be found from the manufacturer 'Panasonic'. Please check if the part can be found in Luminovo, and possibly use an alternative part number."}],"key":"unmatched-part","summary":"unmatched-part","description":"A few showcases of error responses when the manufacturer or MPN cannot be matched to a part.","id":"paths/~1offers~1import/post/responses/207/content/application~1json/examples/unmatched-part"},"paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses/200/content/application~1json/example":{"value":{"assembly_costs":[{"assembly":{"id":"0c6f0f26-9e1c-4b0a-9c8e-6a86bfa04c5e","name":"Main Board","internal_part_number":{"value":"MB-100","revision":"A"}},"demand":{"type":"Assembly","id":"3f83f974-9a1e-4b6a-8f3b-2f7a3f1b9d1c"},"hierarchy":{"parent_assembly":null,"path":[]},"quantity":{"type":"Number","unit":"Pieces","value":"1000"},"direct_costs":{"total_price_excluding_excess":{"amount":"18.00","currency":"EUR"},"unit_price_excluding_excess":{"amount":"0.018","currency":"EUR"},"total_price_including_excess":{"amount":"18.90","currency":"EUR"},"unit_price_including_excess":{"amount":"0.0189","currency":"EUR"},"excess_material_cost":{"amount":"0.90","currency":"EUR"},"scrap_cost":{"amount":"0.18","currency":"EUR"},"one_time_cost":null,"tco_cost":null},"rolled_up_costs":{"total_price_excluding_excess":{"amount":"5018.00","currency":"EUR"},"unit_price_excluding_excess":{"amount":"5.018","currency":"EUR"},"total_price_including_excess":{"amount":"5218.90","currency":"EUR"},"unit_price_including_excess":{"amount":"5.2189","currency":"EUR"},"excess_material_cost":{"amount":"200.90","currency":"EUR"},"scrap_cost":{"amount":"100.18","currency":"EUR"},"one_time_cost":null,"tco_cost":null},"bom_items":[{"bom_item":{"designators":["R1","R2"]},"per_assembly_quantity":{"type":"Number","unit":"Pieces","value":"2"},"sourcing_status":"Sourced","direct_costs":{"total_price_excluding_excess":{"amount":"18.00","currency":"EUR"},"total_price_including_excess":{"amount":"18.90","currency":"EUR"}},"purchase_options":[{"offer_id":"PublicOffTheShelf:31408c25-79b0-4f88-a3e8-b0e11e07df9d","minimum_order_quantity":100,"minimum_packaging_quantity":100,"quantity":2100,"unit_of_measurement":{"type":"Number","unit":"Pieces","value":"1"},"purchase_quantity":{"type":"Number","unit":"Pieces","value":"2100"},"unit_price":{"amount":"0.009","currency":"EUR"}}]},{"bom_item":{"designators":["C7"]},"per_assembly_quantity":{"type":"Number","unit":"Pieces","value":"1"},"sourcing_status":"Pending","direct_costs":null,"purchase_options":[]},{"bom_item":{"designators":["TP1"]},"per_assembly_quantity":{"type":"Number","unit":"Pieces","value":"1"},"sourcing_status":"DoNotPlace","direct_costs":null,"purchase_options":[]}]},{"assembly":{"id":"7a1af9be-4f6e-4a6e-96da-3f6a3f83c9b2","name":"Power Supply","internal_part_number":null},"demand":{"type":"Assembly","id":"3f83f974-9a1e-4b6a-8f3b-2f7a3f1b9d1c"},"hierarchy":{"parent_assembly":{"id":"0c6f0f26-9e1c-4b0a-9c8e-6a86bfa04c5e","name":"Main Board","internal_part_number":{"value":"MB-100","revision":"A"}},"path":[{"id":"0c6f0f26-9e1c-4b0a-9c8e-6a86bfa04c5e","name":"Main Board","internal_part_number":{"value":"MB-100","revision":"A"}}]},"quantity":{"type":"Number","unit":"Pieces","value":"2000"},"direct_costs":{"total_price_excluding_excess":{"amount":"5000.00","currency":"EUR"},"unit_price_excluding_excess":{"amount":"2.50","currency":"EUR"},"total_price_including_excess":{"amount":"5200.00","currency":"EUR"},"unit_price_including_excess":{"amount":"2.60","currency":"EUR"},"excess_material_cost":{"amount":"200.00","currency":"EUR"},"scrap_cost":{"amount":"100.00","currency":"EUR"},"one_time_cost":null,"tco_cost":null},"rolled_up_costs":{"total_price_excluding_excess":{"amount":"5000.00","currency":"EUR"},"unit_price_excluding_excess":{"amount":"2.50","currency":"EUR"},"total_price_including_excess":{"amount":"5200.00","currency":"EUR"},"unit_price_including_excess":{"amount":"2.60","currency":"EUR"},"excess_material_cost":{"amount":"200.00","currency":"EUR"},"scrap_cost":{"amount":"100.00","currency":"EUR"},"one_time_cost":null,"tco_cost":null},"bom_items":[{"bom_item":{"designators":["X1"]},"per_assembly_quantity":{"type":"Number","unit":"Pieces","value":"1"},"sourcing_status":"Sourced","direct_costs":{"total_price_excluding_excess":{"amount":"5000.00","currency":"EUR"},"total_price_including_excess":{"amount":"5200.00","currency":"EUR"}},"purchase_options":[{"offer_id":"PrivateOffTheShelf:8e35cbb9-4b2f-45c3-9c25-4f2b0a4b0f3a","minimum_order_quantity":500,"minimum_packaging_quantity":1,"quantity":2080,"unit_of_measurement":{"type":"Number","unit":"Pieces","value":"1"},"purchase_quantity":{"type":"Number","unit":"Pieces","value":"2080"},"unit_price":{"amount":"2.50","currency":"EUR"}}]}]}]},"id":"paths/~1sourcing-scenarios~1{id}~1cost-breakdown/get/responses/200/content/application~1json/example"},"paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses/200/content/application~1json/example":{"value":{"purchase_options":[{"offer_id":"PublicOffTheShelf:31408c25-79b0-4f88-a3e8-b0e11e07df9d","minimum_order_quantity":100,"minimum_packaging_quantity":100,"quantity":2100,"unit_of_measurement":{"type":"Number","unit":"Pieces","value":"1"},"purchase_quantity":{"type":"Number","unit":"Pieces","value":"2100"},"unit_price":{"amount":"0.009","currency":"EUR"}},{"offer_id":"Custom:7d0e33e6-8c31-4b8b-9b3c-9be382b26aef","minimum_order_quantity":1,"minimum_packaging_quantity":1,"quantity":400,"unit_of_measurement":{"type":"Length","unit":"Meters","value":"5"},"purchase_quantity":{"type":"Length","unit":"Meters","value":"2000"},"unit_price":{"amount":"12.50","currency":"EUR"}}]},"id":"paths/~1sourcing-scenarios~1{id}~1purchase-options/get/responses/200/content/application~1json/example"}},"securitySchemeStore":{"BearerAuth":{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"servers":[{"url":"https://api.luminovo.com"}],"logo":{"imageUrl":"https://uploads-ssl.webflow.com/5c7fe6c71d33841ef1f9ed4f/5c7fe6c71d33847079f9ee30_logo2.svg","backgroundColor":"#22283c"}},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/specs/bundled","position":"off","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/specs/bundled.json?download"},{"url":"/_bundle/specs/bundled.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Luminovo API","description":"The base URL of Luminovo's API is `https://api.luminovo.com/`.\n\n**Versioning**\n\nThis API uses data model versioning to ensure backwards compatibility. The data model version is specified using the `Accept` header. For example, `Accept: application/api.luminovo.rfq-v1+json` specifies version 1 of the RfQ data model. Refer to each endpoint's description for the correct `Accept` header value. If no `Accept` header is provided, the API will return a 404 error.\n\n**Handling Enum Types**\n\nFor all enum types in the API, you must account for an `\"Unknown\"` case. This ensures forward-compatibility, as new enum variants may be introduced without notice within the same data model version. For example, an enum `Status` with variants `Ok` and `Error` may gain a new variant `Warning` at any time.\n"}},"baseSlug":"/specs/bundled","routesMapping":{}}