Identifying Model Uploads via V3 Connector Using GraphQL API

Hello everyone,

I’m using the GraphQL API to retrieve model data associated with user projects. I was previously able to extract this data reliably. However, with the introduction of V3 connectors, I’ve encountered issues due to changes in the schema.

Specifically, I’m trying to determine if a model was uploaded using the V3 connector. Currently, the only discernible difference I’ve found in the GraphQL schema is a slight variation in the source application name (e.g., ‘Revit2025’ vs. ‘Revit 2025’). This is too subtle and unreliable for robust identification.

My Objective:

  • To reliably identify models uploaded using the V3 connector via the GraphQL API.

My Issue:

  • The GraphQL schema doesn’t seem to provide a clear, dedicated field or attribute indicating the connector version used for the upload.
  • The minor difference in the source application name is insufficient for accurate identification.

Questions:

  1. Are there any specific fields, attributes, or patterns within the GraphQL schema that definitively indicate a model was uploaded using the V3 connector?
  2. Is there a recommended approach or workaround for distinguishing between models uploaded with different connector versions?
  3. Are there any plans to introduce a dedicated field or attribute in the GraphQL schema to address this issue in future updates?

Any insights or guidance would be greatly appreciated. Thank you!

Hi @Web_Test,

Actually it is possible with GraphQL because we store version info into root commit object. See my example below.

First, get your referencedObject from version

Then find the version property under object data

Hope this helps

Hi @oguzhan ,
Thank you for your response and the suggestion!

You’re right, that approach works perfectly for models uploaded from Revit. However, it doesn’t seem to apply to models uploaded from ArchiCAD.

Here’s an example following the steps you mentioned for an ArchiCAD model, where the version info doesn’t appear in the root commit object:

This highlights the inconsistency I’m facing when trying to identify V3 connector uploads across different source applications.
Furthermore, ideally, I’d like to avoid making an extra GraphQL request just to get this connector version information. Is it possible to retrieve this data directly when fetching the versions of a model? It seems logical that the Speckle connector version used for uploading a specific model version would be related metadata available alongside the version itself.

This should have been present - Archicad works in an isolated C++ environment from the other SDKs. We now have a backlog item to add this. Thanks for the report.