# Metadata Schemas SDK Methods

> The soat.metadataSchemas methods of the SOAT TypeScript SDK for the Metadata Schemas module, each linked to its REST operation.

# Metadata Schemas

SDK methods for the Metadata Schemas module, accessed via `soat.metadataSchemas`. See the [Metadata Schemas module docs](/docs/modules/metadata-schemas) for permissions and data model, and each method's REST page for the full request/response schema.

### `soat.metadataSchemas.listMetadataSchemas()`

List metadata schemas

- Method: `GET`
- Path: `/api/v1/metadata-schemas`

```ts
await soat.metadataSchemas.listMetadataSchemas({
  query: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/metadata-schemas/list-metadata-schemas)

### `soat.metadataSchemas.createMetadataSchema()`

Declare a metadata schema

- Method: `POST`
- Path: `/api/v1/metadata-schemas`

```ts
await soat.metadataSchemas.createMetadataSchema({
  body: { resource_type, schema, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/metadata-schemas/create-metadata-schema)

### `soat.metadataSchemas.validateMetadata()`

Check metadata against what is declared

- Method: `POST`
- Path: `/api/v1/metadata-schemas/validate`

```ts
await soat.metadataSchemas.validateMetadata({
  body: { path, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/metadata-schemas/validate-metadata)

### `soat.metadataSchemas.getMetadataSchema()`

Get a metadata schema

- Method: `GET`
- Path: `/api/v1/metadata-schemas/{metadata_schema_id}`

```ts
await soat.metadataSchemas.getMetadataSchema({
  path: { metadata_schema_id },
});
```

→ [Request & response schema](/docs/api/metadata-schemas/get-metadata-schema)

### `soat.metadataSchemas.updateMetadataSchema()`

Update a metadata schema

- Method: `PATCH`
- Path: `/api/v1/metadata-schemas/{metadata_schema_id}`

```ts
await soat.metadataSchemas.updateMetadataSchema({
  path: { metadata_schema_id },
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/metadata-schemas/update-metadata-schema)

### `soat.metadataSchemas.deleteMetadataSchema()`

Delete a metadata schema

- Method: `DELETE`
- Path: `/api/v1/metadata-schemas/{metadata_schema_id}`

```ts
await soat.metadataSchemas.deleteMetadataSchema({
  path: { metadata_schema_id },
});
```

→ [Request & response schema](/docs/api/metadata-schemas/delete-metadata-schema)
