# UploadOptions

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

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?

> `optional` **metadata**: [`MetadataObject`](/reference/filoz/synapse-sdk/synapse/type-aliases/metadataobject/)

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

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

***

### onPiecesAdded()?

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

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

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()?

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

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

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

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `dataSetId` | `bigint` |
| `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()?

> `optional` **onProgress**: (`bytesUploaded`) => `void`

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

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()?

> `optional` **onUploadComplete**: (`pieceCid`) => `void`

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

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?

> `optional` **pieceCid**: `PieceLink`

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

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

***

### signal?

> `optional` **signal**: [`AbortSignal`](https://developer.mozilla.org/docs/Web/API/AbortSignal)

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

Optional AbortSignal to cancel the upload