Skip to content
Pinner.xyz

Delete / Unpin Content

Remove a pin by its CID. Once unpinned, the content is no longer stored by Pinner and may become unavailable on the IPFS network.

Unpin a single CID

pinner pins rm bafybeig... --force

The CLI prints Unpinned CID: <cid> on success. The SDK method resolves when the pin is removed.

Without --force, the CLI prompts for confirmation:

pinner pins rm bafybeig...
# → "Are you sure you want to unpin bafybeig...?"

Unpin multiple CIDs

Remove several pins in one command. The CLI accepts space-separated CIDs.

pinner pins rm bafybeig...abc bafybeig...def --force --parallel 5

The CLI's --parallel flag controls how many unpin operations run concurrently. --continue keeps going even if some operations fail; for example:

pinner pins rm cid1 cid2 cid3 --force --parallel 3 --continue

Unpin from a file

Read CIDs from a text file (one per line):

pinner pins rm --file cids-to-remove.txt --force

Unpin by request ID

If you have a pin request ID instead of a CID (for example, from a failed upload), remove it by request ID:

await pinner.unpinByRequestId("request-id-here");

The CLI does not expose request IDs directly; use pinner pins ls to find the CID, then unpin by CID.

Unpin all pins

Remove every pin at once. Requires --force for safety.

pinner pins rm --all --force

Combine with --status to unpin only pins in a specific state: for example, remove all failed pins:

pinner pins rm --all --status failed --force

Dry run

Preview what would be removed without making any changes:

pinner pins rm bafybeig... --dry-run

The CLI prints the operations it would perform, including the endpoint and CIDs, but does not actually unpin anything.

Next steps