# StorageServiceOptions

Defined in: [packages/synapse-sdk/src/types.ts:340](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L340)

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

## Properties

### callbacks?

```ts
optional callbacks: StorageContextCallbacks;
```

Defined in: [packages/synapse-sdk/src/types.ts:359](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L359)

Callbacks for creation process

***

### dataSetId?

```ts
optional dataSetId: number;
```

Defined in: [packages/synapse-sdk/src/types.ts:348](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L348)

Specific data set ID to use (optional)

***

### dev?

```ts
optional dev: boolean;
```

Defined in: [packages/synapse-sdk/src/types.ts:353](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L353)

Whether to include providers with serviceStatus=dev in the capabilities list (default: false)

***

### excludeProviderIds?

```ts
optional excludeProviderIds: number[];
```

Defined in: [packages/synapse-sdk/src/types.ts:344](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L344)

Do not select any of these providers

***

### forceCreateDataSet?

```ts
optional forceCreateDataSet: boolean;
```

Defined in: [packages/synapse-sdk/src/types.ts:355](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L355)

Force creation of a new data set, even if a candidate exists

***

### metadata?

```ts
optional metadata: Record<string, string>;
```

Defined in: [packages/synapse-sdk/src/types.ts:361](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L361)

Custom metadata for the data set (key-value pairs)

***

### providerAddress?

```ts
optional providerAddress: string;
```

Defined in: [packages/synapse-sdk/src/types.ts:346](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L346)

Specific provider address to use (optional)

***

### providerId?

```ts
optional providerId: number;
```

Defined in: [packages/synapse-sdk/src/types.ts:342](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L342)

Specific provider ID to use (optional)

***

### uploadBatchSize?

```ts
optional uploadBatchSize: number;
```

Defined in: [packages/synapse-sdk/src/types.ts:357](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L357)

Maximum number of uploads to process in a single batch (default: 32, minimum: 1)

***

### withCDN?

```ts
optional withCDN: boolean;
```

Defined in: [packages/synapse-sdk/src/types.ts:350](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L350)

Whether to enable CDN services

***

### withIpni?

```ts
optional withIpni: boolean;
```

Defined in: [packages/synapse-sdk/src/types.ts:351](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-sdk/src/types.ts#L351)