mBOM items
mBOM substitutes
An mBOM substitute is a valid alternative that can be used in place of the defined part. Each mBOM item can have many mBOM substitutes, which are subpart replacements for that specific subpart.Query an mBOM item
It is often more effective to query the mBOM relation through a part object. List mBOM items with a filter:Explode a multi-level mBOM
mbomExplosion returns every descendant line of a root assembly’s mBOM in one request, so you don’t have to walk the tree one request per node.
Lines come back depth-first, so you can rebuild the tree, or write a CSV, straight from the order they arrive in.
partId is required. mbomId is optional and sets the version used for the root level only: pass it to explode a specific version, or omit it to use the part’s released mBOM, falling back to its latest when there is no released version. Nested levels always resolve released-else-latest. Passing an mbomId that belongs to a different part returns a validation error.
What the results leave out
Three cases drop lines from the response without returning an error, so check for them before treating a result as a complete tree:- Repeated parts. If a part already appears higher in the same branch, the line for it is left out of the results entirely, rather than returned without its children. A cyclic mBOM terminates instead of looping.
- Export-controlled parts. When you aren’t allowed to see an export-controlled part, its line is omitted along with everything below it. If the root assembly itself is export-controlled, the query returns no lines at all, which reads the same as an assembly that has no mBOM.
- Very deep trees. Explosion stops after 100 levels. Anything deeper is dropped silently.
Query an mBOM substitute
List mBOM substitutes with a filter:Create an mBOM item
An mBOM item defines which part, and how many of it, a new part needs.parent is the part being built, and part is the part required in the build. The quantity value must be greater than 0.
Create the mBOM item with this mutation: