# PullOptions

> **PullOptions** = [`PullBaseOptions`](/reference/filoz/synapse-sdk/synapse/interfaces/pullbaseoptions/) & (\{ `commit?`: `undefined`; `dedupe?`: `boolean`; `extraData?`: `Hex`; `pieces`: [`PieceCID`](/reference/filoz/synapse-sdk/synapse/interfaces/piececid/)[]; \} \| \{ `commit`: [`Commit`](/reference/filoz/synapse-sdk/synapse/type-aliases/commit/); `dedupe?`: `undefined`; `extraData?`: `undefined`; `pieces?`: `undefined`; \})

Defined in: [packages/synapse-sdk/src/types.ts:642](https://github.com/FilOzone/synapse-sdk/blob/5989c4b03ed2fe4cf8b1ef29efe1d4ff1ad4c7bc/packages/synapse-sdk/src/types.ts#L642)

Options for pulling pieces from a source provider.

Pass either `pieces` (optionally with a deprecated pre-signed `extraData`) or a `commit` from
`StorageContext.prepareCommit()`, which carries its own pieces.