Collections
client.collection covers the full collection lifecycle. The auto-generated REST schema is at REST API → Collection — this page is a usage overlay.
const res = await client.collection.list({ blockchains: [8453, 84532], testnet: false, types: ["OpenEdition", "LimitedEdition"], status: "Live", page: 1, limit: 20, sortBy: "CREATED_DATE", sortDirection: "DESC",});blockchains, testnet, and types are required. Unbounded listing isn’t supported.
Create
Section titled “Create”const res = await client.collection.create({ name: "My Edition", description: "An open edition collection", type: "OpenEdition", logoMediaId: "media-uuid", image: "https://...", contract: { chainId: 8453, name: "MYED", symbol: "MYED", standard: "ERC721", },});Creates a draft collection and either creates a new draft contract (via contract) or binds to an existing one (via contractId). Not both.
Optional: royalty: { address, amount } and tokenManager (third-party manager address).
const res = await client.collection.get({ highlightId });Public for Live collections; requires ownership for Draft.
Type-specific details
Section titled “Type-specific details”After create, fill in type-specific fields via the matching endpoint:
await client.collection.updateEditionDetails({ highlightId, edition: { size: 0, name, description, imageMediaId, attributes },});
await client.collection.updateSeriesDetails({ highlightId, series: { isCollectorsChoice: false, size: 50, assetsMediaId },});
await client.collection.updateGenerativeDetails({ highlightId, generative: { size: 100, codeMediaId, editionType: "Limited", captureSettings: { trigger: "Delay", delay: 5000, viewPortWidth: 1000, viewPortHeight: 1000, }, },});Only the update endpoint matching the collection’s type is valid. Others return InvalidTypeSpecificDetailsError.
Finalize metadata to Arweave
Section titled “Finalize metadata to Arweave”Once a drop is complete (sold out, ended, or manually frozen), publish the metadata directory to Arweave:
await client.collection.finalizeBaseUri({ highlightId });Idempotent — safe to call repeatedly.
Sales, deploy, and claim
Section titled “Sales, deploy, and claim”These sub-operations live on the same client.collection sub-client but are documented separately:
- Sales — sdk/sales
- Deploy workflow — guides/developer/deploy-workflow
Statuses
Section titled “Statuses”| Status | Meaning |
|---|---|
Draft | Configured, not yet deployed |
InProgress | Deploy transaction submitted |
Live | Contract deployed; sales are claimable |
Migrated | Imported from an external source |
Disabled | Frozen; no further mints |