Skip to content

Every assembly revision whose effective BOM uses the part — directly (a BOM line, or an ADD or REPLACE of an ECO in force for that revision) or through sub-assemblies, up to a depth limit — and the open build orders (DRAFT, RESERVED, IN_PRODUCTION) with a line consuming it. An ECO in force that removes or replaces the part takes that use away. Filtered to one revision, pinned uses must pin it and floating uses must resolve to it (it is the latest released revision). The answer is cut to what the caller may read: buildOrders is empty unless the caller may read production (production:read), and ecoId/ecoNumber are omitted unless it may read ECOs (ecos:read).

GET
/parts/{id}/where-used
curl --request GET \
--url https://app.dev.buildtrace.eu/api/parts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/where-used \
--header 'Authorization: Bearer <token>'

Required scope: bom:read.

id
required
string format: uuid
revisionId
string format: uuid

Only uses of this revision of the part.

OK

Media typeapplication/json
object
partId
required
string format: uuid
revisionId

The revision filter, when one was given.

string format: uuid
direct
required

Assembly revisions whose own effective BOM uses the part (depth 1).

Array<object>
object
parentPartId
required
string format: uuid
parentPartCode
required
string
parentPartName
required
string
parentPartLifecycle
required

ACTIVE, DEPRECATED or OBSOLETE.

string
parentRevisionId
required
string format: uuid
parentRevisionLabel
required
string
parentRevisionStatus
required

DRAFT or RELEASED.

string
quantity
required

How many of the part one unit of this assembly takes in this entry: the line quantity for a direct use; for an indirect one, the sum over every sub-assembly path of the product of the quantities along it.

string
totalQuantity
required

Everything one unit of the assembly takes, direct and through sub-assemblies.

string
refMode
required

How this assembly references its child: the direct line’s, or the first path’s for an indirect use. Pinned to a revision, or floating (the latest released revision).

string
Allowed values: PINNED LATEST_RELEASED
childRevisionId

The revision of the part that is used — pinned, or what a floating line resolves to (for an indirect use, at the bottom of the first path). A floating line onto a part with no released revision uses nothing, as in the effective BOM, and is not listed.

string format: uuid
childRevisionLabel
string
ecoId

Set when this assembly’s line (the direct one, or the first path’s) was placed by an ECO in force (ADD or REPLACE) and the caller may read ECOs (ecos:read).

string format: uuid
ecoNumber
string
depth
required

1 for a direct use; 2 and up through sub-assemblies.

integer
path
required

The first (shortest) path — the assemblies from the direct user up to and including this one.

Array<object>
object
partId
required
string format: uuid
partCode
required
string
revisionId
required
string format: uuid
revisionLabel
required
string
paths
required

Up to 10 of the paths, shortest first, each with its own quantity.

Array<object>
object
steps
required
Array<object>
object
partId
required
string format: uuid
partCode
required
string
revisionId
required
string format: uuid
revisionLabel
required
string
quantity
required

Quantity of the part per unit of the assembly along this path.

string
refMode
required

How the assembly at the top of the path references its child on it.

string
Allowed values: PINNED LATEST_RELEASED
childRevisionId
string format: uuid
childRevisionLabel
string
ecoId

The ECO in force that placed the top line, when the caller may read ECOs.

string format: uuid
ecoNumber
string
pathCount
required

How many paths there are in all (quantity sums every one).

integer format: int64
topLevel
required

Nothing uses this assembly revision in turn.

boolean
ecoConflict
required

Two or more ECOs in force on this assembly revision remove or replace the same part (its effective BOM can’t be resolved until that is settled); the use shown follows the last.

boolean
indirect
required

Assembly revisions that contain the part through sub-assemblies (depth 2 and up), each listed once with every path summed. An assembly that also uses the part directly is in both lists.

Array<object>
object
parentPartId
required
string format: uuid
parentPartCode
required
string
parentPartName
required
string
parentPartLifecycle
required

ACTIVE, DEPRECATED or OBSOLETE.

string
parentRevisionId
required
string format: uuid
parentRevisionLabel
required
string
parentRevisionStatus
required

DRAFT or RELEASED.

string
quantity
required

How many of the part one unit of this assembly takes in this entry: the line quantity for a direct use; for an indirect one, the sum over every sub-assembly path of the product of the quantities along it.

string
totalQuantity
required

Everything one unit of the assembly takes, direct and through sub-assemblies.

string
refMode
required

How this assembly references its child: the direct line’s, or the first path’s for an indirect use. Pinned to a revision, or floating (the latest released revision).

string
Allowed values: PINNED LATEST_RELEASED
childRevisionId

The revision of the part that is used — pinned, or what a floating line resolves to (for an indirect use, at the bottom of the first path). A floating line onto a part with no released revision uses nothing, as in the effective BOM, and is not listed.

string format: uuid
childRevisionLabel
string
ecoId

Set when this assembly’s line (the direct one, or the first path’s) was placed by an ECO in force (ADD or REPLACE) and the caller may read ECOs (ecos:read).

string format: uuid
ecoNumber
string
depth
required

1 for a direct use; 2 and up through sub-assemblies.

integer
path
required

The first (shortest) path — the assemblies from the direct user up to and including this one.

Array<object>
object
partId
required
string format: uuid
partCode
required
string
revisionId
required
string format: uuid
revisionLabel
required
string
paths
required

Up to 10 of the paths, shortest first, each with its own quantity.

Array<object>
object
steps
required
Array<object>
object
partId
required
string format: uuid
partCode
required
string
revisionId
required
string format: uuid
revisionLabel
required
string
quantity
required

Quantity of the part per unit of the assembly along this path.

string
refMode
required

How the assembly at the top of the path references its child on it.

string
Allowed values: PINNED LATEST_RELEASED
childRevisionId
string format: uuid
childRevisionLabel
string
ecoId

The ECO in force that placed the top line, when the caller may read ECOs.

string format: uuid
ecoNumber
string
pathCount
required

How many paths there are in all (quantity sums every one).

integer format: int64
topLevel
required

Nothing uses this assembly revision in turn.

boolean
ecoConflict
required

Two or more ECOs in force on this assembly revision remove or replace the same part (its effective BOM can’t be resolved until that is settled); the use shown follows the last.

boolean
buildOrders
required

Lines of open build orders (DRAFT, RESERVED, IN_PRODUCTION) that consume the part. Empty unless the caller may read production (production:read).

Array<object>
object
buildOrderId
required
string format: uuid
orderNumber
required
string
status
required
string
assemblyPartId
required
string format: uuid
assemblyPartCode
required
string
assemblyPartName
required
string
assemblyRevisionId
required
string format: uuid
assemblyRevisionLabel
required
string
childRevisionId
required
string format: uuid
childRevisionLabel
required
string
requiredQty
required
string
reservedQty
required
string
consumedQty
required
string
maxDepth
required

How many levels up the search goes.

integer
truncated
required

True when assemblies sit above the depth limit and were not followed.

boolean
cyclic
required

True when floating lines form a loop above the part (A follows B, B follows A); the loop was cut rather than followed, so quantities through it are not counted.

boolean

Example

{
"direct": [
{
"refMode": "PINNED",
"paths": [
{
"refMode": "PINNED"
}
]
}
],
"indirect": [
{
"refMode": "PINNED",
"paths": [
{
"refMode": "PINNED"
}
]
}
]
}

Unauthorized

The part, or the revision of it, is not found