# StorageManagerUploadOptions

Defined in: [packages/synapse-sdk/src/storage/manager.ts:72](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/storage/manager.ts#L72)

Upload options for StorageManager.upload() - the all-in-one upload method

This is the "uber-shortcut" method that can handle everything from context
creation to piece upload in a single call. It combines:
- Storage context creation options (provider selection, data set creation)
- Upload callbacks (both creation and upload progress)
- Piece-specific metadata

Usage patterns:
1. With explicit context: `{ context, callbacks?, metadata? }` - routes to context.upload()
2. Auto-create context: `{ providerId?, dataSetId?, withCDN?, callbacks?, metadata? }` - creates/reuses context
3. Use default context: `{ callbacks?, metadata? }` - uses cached default context

## Extends

- [`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/)

## Properties

### callbacks?

> `optional` **callbacks**: [`Partial`](https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype)\<[`CombinedCallbacks`](/reference/filoz/synapse-sdk/storage/type-aliases/combinedcallbacks/)\>

Defined in: [packages/synapse-sdk/src/storage/manager.ts:80](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/storage/manager.ts#L80)

Callbacks for creation process

#### Overrides

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`callbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#callbacks)

***

### context?

> `optional` **context**: [`StorageContext`](/reference/filoz/synapse-sdk/storage/classes/storagecontext/)

Defined in: [packages/synapse-sdk/src/storage/manager.ts:77](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/storage/manager.ts#L77)

***

### contexts?

> `optional` **contexts**: [`StorageContext`](/reference/filoz/synapse-sdk/storage/classes/storagecontext/)[]

Defined in: [packages/synapse-sdk/src/storage/manager.ts:74](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/storage/manager.ts#L74)

***

### dataSetId?

> `optional` **dataSetId**: `bigint`

Defined in: [packages/synapse-sdk/src/types.ts:336](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L336)

Specific data set ID to use (optional)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`dataSetId`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#datasetid)

***

### dev?

> `optional` **dev**: `boolean`

Defined in: [packages/synapse-sdk/src/types.ts:341](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L341)

Whether to include providers with serviceStatus=dev in the capabilities list (default: false)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`dev`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#dev)

***

### excludeProviderIds?

> `optional` **excludeProviderIds**: `bigint`[]

Defined in: [packages/synapse-sdk/src/types.ts:332](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L332)

Do not select any of these providers

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`excludeProviderIds`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#excludeproviderids)

***

### forceCreateDataSet?

> `optional` **forceCreateDataSet**: `boolean`

Defined in: [packages/synapse-sdk/src/types.ts:343](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L343)

Force creation of a new data set, even if a candidate exists

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`forceCreateDataSet`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#forcecreatedataset)

***

### metadata?

> `optional` **metadata**: [`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)\<`string`, `string`\>

Defined in: [packages/synapse-sdk/src/types.ts:349](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L349)

Custom metadata for the data set (key-value pairs)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`metadata`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#metadata)

***

### pieceCid?

> `optional` **pieceCid**: `PieceLink`

Defined in: [packages/synapse-sdk/src/storage/manager.ts:83](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/storage/manager.ts#L83)

Optional pre-calculated PieceCID to skip CommP calculation (BYO PieceCID, it will be checked by the server)

***

### providerAddress?

> `optional` **providerAddress**: `` `0x${string}` ``

Defined in: [packages/synapse-sdk/src/types.ts:334](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L334)

Specific provider address to use (optional)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`providerAddress`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#provideraddress)

***

### providerId?

> `optional` **providerId**: `bigint`

Defined in: [packages/synapse-sdk/src/types.ts:330](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L330)

Specific provider ID to use (optional)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`providerId`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#providerid)

***

### signal?

> `optional` **signal**: [`AbortSignal`](https://developer.mozilla.org/docs/Web/API/AbortSignal)

Defined in: [packages/synapse-sdk/src/storage/manager.ts:86](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/storage/manager.ts#L86)

Optional AbortSignal to cancel the upload

***

### uploadBatchSize?

> `optional` **uploadBatchSize**: `number`

Defined in: [packages/synapse-sdk/src/types.ts:345](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L345)

Maximum number of uploads to process in a single batch (default: 32, minimum: 1)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`uploadBatchSize`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#uploadbatchsize)

***

### withCDN?

> `optional` **withCDN**: `boolean`

Defined in: [packages/synapse-sdk/src/types.ts:338](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L338)

Whether to enable CDN services

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`withCDN`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#withcdn)

***

### withIpni?

> `optional` **withIpni**: `boolean`

Defined in: [packages/synapse-sdk/src/types.ts:339](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/types.ts#L339)

#### Inherited from

[`StorageServiceOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/).[`withIpni`](/reference/filoz/synapse-sdk/synapse/interfaces/storageserviceoptions/#withipni)