---
title: "Threads hooks"
description: "Hand-written shim. Generated CRUD hooks via ./threads.gen.
useMarkThreadRead stays hand-written (custom op)."
section: "Libraries"
group: "React hooks"
order: 458
---

## Hooks

### `useCreateThread` `mutation`

Create a thread.

```ts
useCreateThread(options?: MutationOpts<Thread, CreateThreadParams>)
```

**Types:** [Thread](/types/thread) · [CreateThreadParams](/types/create-thread-params)

### `useDeleteThread` `mutation`

Delete a thread.

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

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

### `useListThreads` `query`

List threads.

```ts
useListThreads(params?: Omit<ListThreadsParams, | > & { filter?: ThreadFilter; orderBy?: ThreadOrderBy[]; } & ThreadShorthands, options?: QueryOpts<Page<Thread>>)
```

**Types:** [ListThreadsParams](/types/list-threads-params) · [ThreadFilter](/types/thread-filter) · [ThreadOrderBy](/types/thread-order-by) · [ThreadShorthands](/types/thread-shorthands) · [Page](/types/page) · [Thread](/types/thread)

### `useMarkThreadRead` `composite`

```ts
useMarkThreadRead(options?: MutationOpts<Thread, MarkThreadReadParams>)
```

**Types:** [Thread](/types/thread) · [MarkThreadReadParams](/types/mark-thread-read-params)

### `usePurgeThread` `composite`

Permanently delete a soft-deleted thread.

```ts
usePurgeThread(options?: MutationOpts<SuccessResponse, PurgeThreadParams>)
```

**Types:** [SuccessResponse](/types/success-response) · [PurgeThreadParams](/types/purge-thread-params)

### `useRestoreThread` `composite`

Restore a thread.

```ts
useRestoreThread(options?: MutationOpts<Thread, string>)
```

**Types:** [Thread](/types/thread)

### `useRetrieveThread` `query`

Get a thread by ID.

```ts
useRetrieveThread(id: string, options?: QueryOpts<Thread>)
```

**Types:** [Thread](/types/thread)

### `useUpdateThread` `mutation`

Update a thread.

```ts
useUpdateThread(options?: MutationOpts<Thread, UpdateThreadParams>)
```

**Types:** [Thread](/types/thread) · [UpdateThreadParams](/types/update-thread-params)
