---
title: "Schemas hooks"
description: "Hand-written shim. Implementation is generated; see ./schemas.gen.

Custom hook: useListSchemaFields uses raw _fetch and is not yet in the
manifest (no `fields` sub-resource on the SDK)."
section: "Libraries"
group: "React hooks"
order: 444
---

## Hooks

### `useCreateSchema` `mutation`

Create a new schema.

```ts
useCreateSchema(options?: MutationOpts<Schema, CreateSchemaParams>)
```

**Types:** [Schema](/types/schema) · [CreateSchemaParams](/types/create-schema-params)

### `useDeleteSchema` `mutation`

Soft-delete a schema.

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

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

### `useListSchemaFields` `query`

```ts
useListSchemaFields(schemaId: string, params?: Record<string, unknown>, options?: QueryOpts)
```

### `useListSchemas` `query`

List schemas with pagination.

```ts
useListSchemas(params?: Omit<ListSchemasParams, | > & { filter?: SchemaFilter; orderBy?: SchemaOrderBy[]; } & SchemaShorthands, options?: QueryOpts<Page<Schema>>)
```

**Types:** [ListSchemasParams](/types/list-schemas-params) · [SchemaFilter](/types/schema-filter) · [SchemaOrderBy](/types/schema-order-by) · [SchemaShorthands](/types/schema-shorthands) · [Page](/types/page) · [Schema](/types/schema)

### `usePurgeSchema` `composite`

Permanently delete a soft-deleted schema.

```ts
usePurgeSchema(options?: MutationOpts<SuccessResponse, PurgeSchemaParams>)
```

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

### `useRestoreSchema` `composite`

Restore a soft-deleted schema.

```ts
useRestoreSchema(options?: MutationOpts<Schema, string>)
```

**Types:** [Schema](/types/schema)

### `useRetrieveSchema` `query`

Get a single schema by ID.

```ts
useRetrieveSchema(id: string, options?: QueryOpts<Schema>)
```

**Types:** [Schema](/types/schema)

### `useUpdateSchema` `mutation`

Update a schema.

```ts
useUpdateSchema(options?: MutationOpts<Schema, UpdateSchemaParams>)
```

**Types:** [Schema](/types/schema) · [UpdateSchemaParams](/types/update-schema-params)
