Skip to content

StorageManagerUploadOptions

Defined in: packages/synapse-sdk/src/storage/manager.ts:110

Upload options for StorageManager.upload()

Extends CreateContextsOptions to inherit multi-copy provider selection. Adds upload-specific options: explicit contexts, pre-calculated PieceCID, and abort signal.

Usage patterns:

  1. With explicit contexts: { contexts } - uses the given contexts directly
  2. Auto-create contexts: { providerIds?, dataSetIds?, copies? } - creates/reuses contexts
  3. Use default contexts: no options - uses cached default contexts (2 copies)

optional callbacks?: Partial<CombinedCallbacks>

Defined in: packages/synapse-sdk/src/storage/manager.ts:115

Callbacks for both context creation and upload lifecycle

CreateContextsOptions.callbacks


optional contexts?: StorageContext[]

Defined in: packages/synapse-sdk/src/storage/manager.ts:112

Pre-created contexts to use. If provided, other selection options are invalid.


optional copies?: number

Defined in: packages/synapse-sdk/src/types.ts:343

Number of storage copies to create (optional, defaults to 2)

CreateContextsOptions.copies


optional dataSetIds?: bigint[]

Defined in: packages/synapse-sdk/src/types.ts:353

Specific data set IDs to target. Each must be an active data set owned by the caller. Mutually exclusive with providerIds.

Use this only when resuming into a known data set from a prior operation. For first-time uploads to specific providers, use providerIds instead, the SDK handles data set creation automatically.

CreateContextsOptions.dataSetIds


optional excludeProviderIds?: bigint[]

Defined in: packages/synapse-sdk/src/types.ts:371

Do not select any of these providers

CreateContextsOptions.excludeProviderIds


optional metadata?: Record<string, string>

Defined in: packages/synapse-sdk/src/types.ts:324

Custom metadata for data sets (key-value pairs). Used to match existing data sets during provider selection.

CreateContextsOptions.metadata


optional pieceCid?: PieceLink

Defined in: packages/synapse-sdk/src/storage/manager.ts:118

Optional pre-calculated PieceCID to skip CommP calculation (verified by server)


optional pieceMetadata?: Record<string, string>

Defined in: packages/synapse-sdk/src/storage/manager.ts:124

Custom metadata for pieces being uploaded (key-value pairs)


optional providerIds?: bigint[]

Defined in: packages/synapse-sdk/src/types.ts:368

Specific provider IDs to upload to. The SDK resolves or creates data sets on each provider automatically. Mutually exclusive with dataSetIds.

This is the recommended way to target specific providers. Do not call createContext() to resolve data sets first, pass provider IDs here and the SDK handles the rest.

await synapse.storage.upload(data, { providerIds: [4n, 9n] })

CreateContextsOptions.providerIds


optional signal?: AbortSignal

Defined in: packages/synapse-sdk/src/storage/manager.ts:121

Optional AbortSignal to cancel the upload


optional withCDN?: boolean

Defined in: packages/synapse-sdk/src/types.ts:318

Whether to enable CDN services

CreateContextsOptions.withCDN