π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
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
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:
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
ipnftobject onLab/LabRef;LabRefadditionally exposes a scalaripnftIdfield.
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:
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 timestamptokenUriβ Token metadata URIsymbolβ Token symbolschemaVersionβ Metadata schema versionuserIdβ 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 timestampmintedAtβ Minting timestampagreementMimeTypeβ Agreement file MIME typeoriginalOwnerβ FullUsertype (withid,address)originalOwnerIdβ Original owner user ID (for direct filtering)ipnftIdβ Parent IP-NFT ID (for direct filtering)linksβ Related linkscappedβ Whether token issuance is capped
New fields on Market
createdAt,updatedAtβ Timestampsinvertedβ Whether the pair is invertediptIdβ 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