# StorageServiceOptions

Defined in: [packages/synapse-sdk/src/types.ts:431](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L431)

Options for creating or selecting a single storage context via createContext()

Extends BaseContextOptions with singular provider/dataset selection.

## Extends

- [`BaseContextOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/)

## Extended by

- [`StorageContextCreateOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/storagecontextcreateoptions/)

## Properties

### callbacks?

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

Defined in: [packages/synapse-sdk/src/types.ts:372](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L372)

Callbacks for creation process

#### Inherited from

[`BaseContextOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/).[`callbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/#callbacks)

***

### cdnGroup?

> `optional` **cdnGroup?**: `string`

Defined in: [packages/synapse-sdk/src/types.ts:363](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L363)

CDN group id used as the `withCDN` metadata value when CDN is enabled. Every context (primary
and secondaries) that shares this value resolves to the same shared CDN bandwidth rail in FWSS
(keyed by `keccak256(payer, cdnGroup)`), so a multi-copy CDN upload buys bandwidth once instead
of once per copy. Opt-in and empty by default, which keeps a dedicated bandwidth rail per data
set and preserves exact-metadata reuse.

#### Inherited from

[`BaseContextOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/).[`cdnGroup`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/#cdngroup)

***

### dataSetId?

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

Defined in: [packages/synapse-sdk/src/types.ts:437](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L437)

Specific data set ID to use (optional)

***

### excludeProviderIds?

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

Defined in: [packages/synapse-sdk/src/types.ts:435](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L435)

Do not select any of these providers

***

### 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:369](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L369)

Custom metadata for data sets (key-value pairs).
Used to match existing data sets during provider selection.

#### Inherited from

[`BaseContextOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/).[`metadata`](/reference/filoz/synapse-sdk/synapse/interfaces/basecontextoptions/#metadata)

***

### providerId?

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

Defined in: [packages/synapse-sdk/src/types.ts:433](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L433)

Specific provider ID to use (optional)

***

### withCDN?

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

Defined in: [packages/synapse-sdk/src/types.ts:354](https://github.com/FilOzone/synapse-sdk/blob/1a9447e47b3ce068db6736df02803453e0987905/packages/synapse-sdk/src/types.ts#L354)

Whether to enable CDN services

#### Inherited from

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