For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ•˜API Changelog & Migration

This page tracks breaking changes, deprecations, and additions across the Molecule APIs. Use it when upgrading an existing integration. Each API's most recent changes are listed first.


Labs API

*V2 operations and pre-OCL naming removed

The legacy *V2 operations and the pre-OCL naming have been removed. The current API is oclId-based. If you are migrating from an older integration, use the current names below.

Renamed queries

Legacy (removed)
Current
Notes

projects / projectsV2

labs

Same paginated shape; adds an optional role filter

projectWithDataRoomAndFiles / …V2

labWithDataRoomAndFiles

Look up by oclId (or shortname) instead of ipnftUid

dataRoomFileV2

dataRoomFile

Identified by oclId + path

projectActivity / projectActivityV2

labActivity

β€”

activitiesV2

activities

β€”

projectAnnouncementsV2 / projectAnnouncementV2

labActivity / activities

Removed β€” use the filter: ANNOUNCEMENT argument

Renamed mutations

Legacy (removed)
Current
Notes

createProject

createLab

Now takes input: { oclId } instead of ipnftSymbol / ipnftTokenId

initiateCreateOrUpdateFileV2

initiateCreateOrUpdateFile

β€”

finishCreateOrUpdateFileV2

finishCreateOrUpdateFile

β€”

createAnnouncementV2

createAnnouncement

Takes oclId; the legacy moleculeAccessLevel param was removed

updateFileMetadataV2

updateFileMetadata

β€”

deleteDataRoomFileV2

deleteDataRoomFile

β€”

Renamed fields

Top-level identifiers on Lab / LabRef were renamed away from the legacy IP-NFT naming:

Legacy field
Current field
Notes

ipnftUid

oclId

Now a 32-byte hex string (0x…), not <address>_<tokenId>

ipnftSymbol

shortname

Human-readable slug derived from the lab name

ipnftAddress

labAccountAddress

ERC-6551 token-bound account address

ipnftTokenId

labNftTokenId

LabNFT tokenId (decimal string)

The linked legacy IP-NFT (for labs migrated from one) is still available as the nested ipnft object on Lab / LabRef; LabRef additionally exposes a scalar ipnftId field.


IPNFT API (Deprecated)

The IPNFT API is deprecated. The changes below are preserved for integrations that have not yet migrated. See the IPNFT API reference.

February 2026

Breaking Changes

Schema Flattening β€” metadata wrapper removed from IPNFT and IPT

The intermediate metadata wrapper objects (IPNFTMetadata, IPTMetadata) have been removed. All metadata fields now live directly on the IPNFT and IPT types.

Migration: Remove all metadata { ... } wrappers and access fields directly on the parent type.

fundingAmount JSON field decomposed into 4 typed fields

The fundingAmount JSON field on IPNFT has been replaced with 4 strongly-typed fields:

Migration example:

agreements changed from JSON array to typed relation

The agreements field on IPNFT has changed from a JSON array to a queryable typed relation with sub-field selection:

Migration: Update your queries to select specific agreement fields instead of receiving a raw JSON array.

Filter changes β€” nested metadata filters removed

All filter paths that previously went through metadata are now direct fields:

researchLead and originalOwner filter paths changed

These relation filters are now direct on the parent type instead of nested inside metadata context:

New Features

New query types

The following new top-level queries are now available:

Query
Description

user(id) / users(...)

Query users by address, list associated IP-NFTs and IPTs

researchLead(id) / researchLeads(...)

Query research leads and their associated IP-NFTs

chain(id) / chains(...)

Query blockchain networks and their markets

agreement(id) / agreements(...)

Query legal agreements associated with IP-NFTs

All new queries support limit, skip, sortBy, sortOrder, and filterBy parameters.

New fields on IPNFT

  • updatedAt β€” Last update timestamp

  • tokenUri β€” Token metadata URI

  • symbol β€” Token symbol

  • schemaVersion β€” Metadata schema version

  • userId β€” Owner user ID (for direct filtering)

  • researchLeadId β€” Research lead ID (for direct filtering)

  • fundingAmountCurrency, fundingAmountValue, fundingAmountDecimals, fundingAmountCurrencyType β€” Decomposed funding amount fields

New fields on IPT

  • updatedAt β€” Last update timestamp

  • mintedAt β€” Minting timestamp

  • agreementMimeType β€” Agreement file MIME type

  • originalOwner β€” Full User type (with id, address)

  • originalOwnerId β€” Original owner user ID (for direct filtering)

  • ipnftId β€” Parent IP-NFT ID (for direct filtering)

  • links β€” Related links

  • capped β€” Whether token issuance is capped

New fields on Market

  • createdAt, updatedAt β€” Timestamps

  • inverted β€” Whether the pair is inverted

  • iptId β€” Associated IPT ID (for direct filtering)

  • chain.logoUrl β€” Chain logo URL now available

agreements queryable as typed relation

Agreements on IP-NFTs are now a fully queryable relation with sub-field selection, filtering, sorting, and pagination:

Last updated