allOccurrences (Manufacturing Data Model) returns far fewer occurrences than the design contains — incomplete index / unresolved references?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I'm using the Manufacturing Data Model GraphQL API (POST https://developer.api.autodesk.com/beta/graphql) to retrieve the full occurrence hierarchy of a Fusion design, so I can rebuild the assembly tree server-side. The design is a large assembly with 5 external references (sub-assembly components from other files).
My query, paginated by cursor at limit: 50:
query {
item(hubId: "<HUB_ID>", itemId: "<ITEM_ID>") {
... on DesignItem {
tipRootComponentVersion {
id
name
allOccurrences(pagination: { limit: 50, cursor: "<CURSOR>" }) {
pagination { cursor }
results {
componentVersion { id name }
parentComponentVersion { id }
}
}
}
}
}
}
I walk every page until the cursor is null. The hierarchy data itself looks correct (parentComponentVersion is populated and the parent/child relationships are right). The problem is completeness — the occurrence count is far lower than reality:
Source & Total Occurances
Working Bom export (Fusion web) --> 7245
Fusion desktop traversal (childOccurances, addon) --> 6344
allOccurrances (this API) --> 3448 (71 pages)
So allOccurrences returns less than half of what the Working BOM reports, and even less than a desktop traversal of the same design.
A few related observations:
- One occurrence came back with componentVersion: null and this error, on a child of one of the external-reference sub-assemblies: "message": "Requested resource not found. autodesk.product:assets.model data not found", "path": ["item","tipRootComponentVersion","allOccurrences","results",35,"componentVersion"], "extensions": { "code": "NOT_FOUND" }
- It looks like the rest of that sub-assembly's subtree is then simply absent from allOccurrences (not returned as nulls — just missing).
- Earlier, the same item returned tipRootComponentVersion: null with: "Individual property data for this item is not yet available in the Fusion Cloud Information Model. Try opening the item and saving it again in the latest version of Fusion."
- That cleared after re-saving the top assembly — but the per-component completeness issue above remains.
My questions:
- Does allOccurrences require every referenced componentVersion (including those inside external references) to be fully indexed in the Fusion Cloud Information Model, and does it silently omit occurrences whose components aren't yet indexed?
- How can I determine when indexing is complete for a design and all of its external references — is there a status field or endpoint to check?
- Is there a way to trigger/force re-indexing of referenced components, short of opening and re-saving each referenced file individually?
For an occurrence where componentVersion is null (assets.model data not found), is that a transient/recoverable state, and what's the recommended way to handle or retry it?
Is there any API path that returns the complete occurrence hierarchy matching the Working BOM export (which clearly has the full resolved tree)?
Any guidance on getting allOccurrences to return the complete tree — or confirmation that it's gated on cloud indexing of every reference — would be much appreciated.