# StorageManagerUploadOptions

Defined in: [packages/synapse-sdk/src/storage/manager.ts:71](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/storage/manager.ts#L71)

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:79](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/storage/manager.ts#L79)

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:76](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/storage/manager.ts#L76)

***

### contexts?

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

Defined in: [packages/synapse-sdk/src/storage/manager.ts:73](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/storage/manager.ts#L73)

***

### dataSetId?

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

Defined in: [packages/synapse-sdk/src/types.ts:282](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L282)

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)

***

### excludeProviderIds?

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

Defined in: [packages/synapse-sdk/src/types.ts:278](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L278)

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:286](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L286)

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:292](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L292)

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:82](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/storage/manager.ts#L82)

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:280](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L280)

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:276](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L276)

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:85](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/storage/manager.ts#L85)

Optional AbortSignal to cancel the upload

***

### uploadBatchSize?

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

Defined in: [packages/synapse-sdk/src/types.ts:288](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L288)

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:284](https://github.com/FilOzone/synapse-sdk/blob/2c515fb6328c4f7a68ed82653d96ab11299e177d/packages/synapse-sdk/src/types.ts#L284)

Whether to enable CDN services

#### Inherited from

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