# UploadOptions

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

Options for uploading individual pieces to an existing storage context

Used by StorageContext.upload() for uploading data to a specific provider
and data set that has already been created/selected.

## Extends

- [`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/)

## Properties

### metadata?

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

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

Custom metadata for this specific piece (key-value pairs)

***

### ~~onPieceAdded()?~~

```ts
optional onPieceAdded: (transaction?) => void;
```

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

:::caution[Deprecated]
  Use onPiecesAdded instead
  :::

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `transaction?` | `` `0x${string}` `` |

#### Returns

`void`

#### Inherited from

[`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/).[`onPieceAdded`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/#onpieceadded)

***

### ~~onPieceConfirmed()?~~

```ts
optional onPieceConfirmed: (pieceIds) => void;
```

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

:::caution[Deprecated]
  Use onPiecesConfirmed instead
  :::

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `pieceIds` | `number`[] |

#### Returns

`void`

#### Inherited from

[`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/).[`onPieceConfirmed`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/#onpiececonfirmed)

***

### onPiecesAdded()?

```ts
optional onPiecesAdded: (transaction?, pieces?) => void;
```

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

Called when the service provider has added the piece(s) and submitted the transaction to the chain

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `transaction?` | `` `0x${string}` `` |
| `pieces?` | `object`[] |

#### Returns

`void`

#### Inherited from

[`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/).[`onPiecesAdded`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/#onpiecesadded)

***

### onPiecesConfirmed()?

```ts
optional onPiecesConfirmed: (dataSetId, pieces) => void;
```

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

Called when the service provider agrees that the piece addition(s) are confirmed on-chain

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `dataSetId` | `number` |
| `pieces` | [`PieceRecord`](/reference/filoz/synapse-sdk/synapse/interfaces/piecerecord/)[] |

#### Returns

`void`

#### Inherited from

[`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/).[`onPiecesConfirmed`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/#onpiecesconfirmed)

***

### onProgress()?

```ts
optional onProgress: (bytesUploaded) => void;
```

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

Called periodically during upload with bytes uploaded so far

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `bytesUploaded` | `number` |

#### Returns

`void`

#### Inherited from

[`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/).[`onProgress`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/#onprogress)

***

### onUploadComplete()?

```ts
optional onUploadComplete: (pieceCid) => void;
```

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

Called when upload to service provider completes

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `pieceCid` | `PieceLink` |

#### Returns

`void`

#### Inherited from

[`UploadCallbacks`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/).[`onUploadComplete`](/reference/filoz/synapse-sdk/synapse/interfaces/uploadcallbacks/#onuploadcomplete)

***

### pieceCid?

```ts
optional pieceCid: PieceLink;
```

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

Optional pre-calculated PieceCID to skip CommP calculation (BYO PieceCID)

***

### signal?

```ts
optional signal: AbortSignal;
```

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

Optional AbortSignal to cancel the upload