GRID Adoption

Modified on Tue, 11 Nov at 9:28 AM


Format of IDs is changing!

GRIDs are available to use as of 10th November 2025

NodeIDs will not be available to use after 24th November 2025

We are excited to announce some upcoming changes in the Nexar Design API (des)! 

What is changing?
We are introducing GRIDs, or Global Resource IDs. These will allow for a globally unique and unambiguous identifier for an entity in a parse-able format. They pave the way for  future improvements that we are planning. 

Whilst many API types have been adopted as entities, not all of them will be. Only entities will have an ID (id: ID!).

In preparation for the migration to GRIDs, the following changes have been implemented:

  • <entity>ById will accept as an input both GRID along with encoded “NodeIds”. The returned ID will remain as a NodeId.
    e.g.

    • The following two queries are equivalent:

      query GetProjectUsingNodeId {
      desProjectById(id:"RGVzUHJvamVjdApka...") {
          id
          name
        }
      }

      and

      query GetProjectUsingGrid {
      desProjectById(id:"grid:workspace:11a0ad2e-9e89-4...") {
          id
          name
        }

      and the returned ID will be a GRID:

      {
        "data": {
          "desProjectById":
            {
              "id": "grid:workspace:11a0ad2e-9e89-4...",
              "name": "Sample - Kame_MB"
            }
        }
      }
    • Here are the entities have adopted GRIDs:

      API TypeGRID

      DesWorkspace

      grid:global::platform:workspace/{id}

      DesProject

      grid:workspace:{workspace-id}:design:project/{id}

      DesReuseBlock

      grid:workspace:{workspace-id}:library:reuse-block/{id}

      DesReuseBlockRevision

      grid:workspace:{workspace-id}:library:reuse-block-revision/{id}

      DesComponent

      grid:workspace:{workspace-id}:library:component-revision/{id}

      DesComponentTemplate

      grid:workspace:{workspace-id}:library:component-template-revision/{id}

      DesFootprint

      grid:workspace:{workspace-id}:library:footprint-revision/{id}

      DesSymbol

      grid:workspace:{workspace-id}:library:symbol-revision/{id}

      DesLifeCycleDefinition

      grid:workspace:{workspace-id}:platform:lifecycle-definition/{id}

      DesProjectTemplate

      grid:workspace:{workspace-id}:design:project-template/{id}

      DesRevisionNamingScheme

      grid:workspace:{workspace-id}:platform:revision-naming-scheme/{id}

      DesRelease

      grid:workspace:{workspace-id}:design:project-release/{id} 

      {id} here is a composite value

      DesProjectTemplateRevision

      grid:workspace:{workspace-id}:design:project-template-revision/{id}

  • Non-entity types will be downgraded, and new queries will be introduced to retrieve their IDs where necessary.
    For example, desFolderById will still be available
    desFolderByFolderId(folderId: String!) and desFolder.folderId are added to the schema


 Starting from 24th November, we will make the following API changes, which may impact you:

  • Entities will retain <entity>.Id, which will return a GRID. This is a data change. If you are not storing our old encoded NodeIds (as recommended), you will not be affect by these changes

    If you happen to be storing these, you will need to change the obsolete IDs manually. (As a reminder, it is against our T&Cs to store Nexar data for more than 24 hours)

  • Types which are not entities will have <non-entity>.ById removed, and <non-entity> will no longer have an id: ID! field. This is a schema change, which is announced here.

    Here is a list of the entities that will be demoted, and the way to access these items:

    API TypeDeprecationsAlternatives
    DesBomDesBomById and DesBom.Id will be removed.
    • No Replacement. Use either DesVariantById.Bom or DesReleaseById.Bom
    DesComponentTypeDesComponentType.Id will be removed 
    • No replacement

    DesDesignItemDesDesignItemById and DesDesignItem.Id will be removed 
    • No replacement
    DesFolderDesFolderById and DesFolder.Id will be removed .
    • DesFolderByFolderId(String! workspaceUrl, String! folderId) where folderId is guid
    • DesFolder.FolderId
    DesManufacturerPackage
    DesManufacturerPackageById and DesManufacturerPackage.Id will be removed 
    • No replacement

    DesReleaseVariantDesReleaseVariant.Id will be removed
    • DesReleaseVariantByVariantName(releaseId: ID!, variantName: String!) where releaseId is grid
    • DesReleaseVariant.VariantName

    DesRevisionDetailsDesRevisionDetailsById and DesRevisionDetails.Id will be removed
    • DesRevisionDetailsByRevisionId(String! workspaceUrl, String! revisionId)
    • DesRevisionDetails.RevisionId is introduced
    DesUserGroupDesUserGroup.Id will be removed 
    • No replacement

    DesWipVariant
    DesWipVariantById and DesWipVariant.Id will be removed
    • DesWipVariantByVariantName(projectId: ID!, variantName: String!): DesWipVariant)


If you have any questions, please don’t hesitate to open a support ticket
Support
or emailing
support@nexar.com


As we take on these changes to improve and grow, we thank you for your continued use of the API.

Best,
The Nexar Team


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article