# StorageServiceOptions

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

Options for creating or selecting a storage context

Used by StorageManager.createContext() and indirectly by StorageManager.upload()
when auto-creating contexts. Allows specification of:
- Provider selection (by ID or address)
- Data set selection or creation
- CDN enablement and metadata
- Creation process callbacks

## Extended by

- [`StorageManagerUploadOptions`](/reference/filoz/synapse-sdk/storage/interfaces/storagemanageruploadoptions/)

## Properties

### callbacks?

> `optional` **callbacks**: [`StorageContextCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/storagecontextcallbacks/)

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

Callbacks for creation process

***

### 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)

***

### 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)

***

### 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

***

### 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

***

### 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)

***

### 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)

***

### 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)

***

### 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)

***

### 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

***

### 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)