---
title: "Swarm Versions hooks"
description: "Hand-written shim. Generated CRUD hooks via ./swarm-versions.gen.
useForkSwarmVersion + useSetDefaultSwarmVersion stay hand-written."
section: "Libraries"
group: "React hooks"
order: 453
---

## Hooks

### `useCreateSwarmVersion` `mutation`

Create an ADDITIONAL version of an existing swarm. The initial v1 is created automatically by `createSwarm` — do NOT call this right after `createSwarm`. Use this only when you actually need a v2+, or use `forkSwarmVersion` to branch from a specific version.

```ts
useCreateSwarmVersion(options?: MutationOpts<SwarmVersion, CreateSwarmVersionParams>)
```

**Types:** [SwarmVersion](/types/swarm-version) · [CreateSwarmVersionParams](/types/create-swarm-version-params)

### `useDeleteSwarmVersion` `mutation`

Soft-delete a swarm version.

```ts
useDeleteSwarmVersion(options?: MutationOpts<SuccessResponse, string>)
```

**Types:** [SuccessResponse](/types/success-response)

### `useForkSwarmVersion` `composite`

```ts
useForkSwarmVersion(options?: MutationOpts<SwarmVersion, ForkSwarmVersionParams>)
```

**Types:** [SwarmVersion](/types/swarm-version) · [ForkSwarmVersionParams](/types/fork-swarm-version-params)

### `useListSwarmVersions` `query`

List swarm versions.

```ts
useListSwarmVersions(params?: Omit<ListSwarmVersionsParams, | > & { filter?: SwarmVersionFilter; orderBy?: SwarmVersionOrderBy[]; } & SwarmVersionShorthands, options?: QueryOpts<Page<SwarmVersion>>)
```

**Types:** [ListSwarmVersionsParams](/types/list-swarm-versions-params) · [SwarmVersionFilter](/types/swarm-version-filter) · [SwarmVersionOrderBy](/types/swarm-version-order-by) · [SwarmVersionShorthands](/types/swarm-version-shorthands) · [Page](/types/page) · [SwarmVersion](/types/swarm-version)

### `usePurgeSwarmVersion` `composite`

Permanently delete a soft-deleted swarm version.

```ts
usePurgeSwarmVersion(options?: MutationOpts<SuccessResponse, PurgeSwarmVersionParams>)
```

**Types:** [SuccessResponse](/types/success-response) · [PurgeSwarmVersionParams](/types/purge-swarm-version-params)

### `useRestoreSwarmVersion` `composite`

Restore a soft-deleted swarm version.

```ts
useRestoreSwarmVersion(options?: MutationOpts<SwarmVersion, string>)
```

**Types:** [SwarmVersion](/types/swarm-version)

### `useRetrieveSwarmVersion` `query`

Get a swarm version by ID.

```ts
useRetrieveSwarmVersion(id: string, options?: QueryOpts<SwarmVersion>)
```

**Types:** [SwarmVersion](/types/swarm-version)

### `useSetDefaultSwarmVersion` `composite`

```ts
useSetDefaultSwarmVersion(options?: MutationOpts<Swarm, SetDefaultSwarmVersionParams>)
```

**Types:** [Swarm](/types/swarm) · [SetDefaultSwarmVersionParams](/types/set-default-swarm-version-params)

### `useUpdateSwarmVersion` `mutation`

Update a swarm version.

```ts
useUpdateSwarmVersion(options?: MutationOpts<SwarmVersion, UpdateSwarmVersionParams>)
```

**Types:** [SwarmVersion](/types/swarm-version) · [UpdateSwarmVersionParams](/types/update-swarm-version-params)
