# StorageServiceOptions

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

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

- [`StorageContextCreateOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storagecontextcreateoptions/)
- [`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:295](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-sdk/src/types.ts#L295)

Callbacks for creation process

***

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

***

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

***

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

***

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

***

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

***

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

***

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

***

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