# StorageManagerUploadOptions

Defined in: [packages/synapse-sdk/src/storage/manager.ts:70](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/storage/manager.ts#L70)

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:78](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/storage/manager.ts#L78)

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:75](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/storage/manager.ts#L75)

***

### contexts?

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

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

***

### dataSetId?

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

Defined in: [packages/synapse-sdk/src/types.ts:287](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L287)

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:283](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L283)

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:291](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L291)

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:297](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L297)

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:81](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/storage/manager.ts#L81)

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:285](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L285)

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:281](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L281)

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:84](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/storage/manager.ts#L84)

Optional AbortSignal to cancel the upload

***

### uploadBatchSize?

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

Defined in: [packages/synapse-sdk/src/types.ts:293](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L293)

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:289](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L289)

Whether to enable CDN services

#### Inherited from

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