# Deciders SDK Methods

> The soat.deciders methods of the SOAT TypeScript SDK for the Deciders module, each linked to its REST operation.

# Deciders

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

### `soat.deciders.listDeciders()`

List deciders

- Method: `GET`
- Path: `/api/v1/deciders`

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

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

### `soat.deciders.createDecider()`

Create a decider

- Method: `POST`
- Path: `/api/v1/deciders`

```ts
await soat.deciders.createDecider({
  body: { name, questions, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/deciders/create-decider)

### `soat.deciders.getDecider()`

Get a decider

- Method: `GET`
- Path: `/api/v1/deciders/{decider_id}`

```ts
await soat.deciders.getDecider({
  path: { decider_id },
});
```

→ [Request & response schema](/docs/api/deciders/get-decider)

### `soat.deciders.updateDecider()`

Update a decider

- Method: `PATCH`
- Path: `/api/v1/deciders/{decider_id}`

```ts
await soat.deciders.updateDecider({
  path: { decider_id },
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/deciders/update-decider)

### `soat.deciders.deleteDecider()`

Delete a decider

- Method: `DELETE`
- Path: `/api/v1/deciders/{decider_id}`

```ts
await soat.deciders.deleteDecider({
  path: { decider_id },
});
```

→ [Request & response schema](/docs/api/deciders/delete-decider)

### `soat.deciders.listDeciderVersions()`

List a decider's versions

- Method: `GET`
- Path: `/api/v1/deciders/{decider_id}/versions`

```ts
await soat.deciders.listDeciderVersions({
  path: { decider_id },
});
```

→ [Request & response schema](/docs/api/deciders/list-decider-versions)

### `soat.deciders.getDeciderVersion()`

Fetch an archived decider version

- Method: `GET`
- Path: `/api/v1/deciders/{decider_id}/versions/{version}`

```ts
await soat.deciders.getDeciderVersion({
  path: { decider_id, version },
});
```

→ [Request & response schema](/docs/api/deciders/get-decider-version)

### `soat.deciders.restoreDeciderVersion()`

Restore an archived decider version

- Method: `POST`
- Path: `/api/v1/deciders/{decider_id}/versions/{version}/restore`

```ts
await soat.deciders.restoreDeciderVersion({
  path: { decider_id, version },
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/deciders/restore-decider-version)

### `soat.deciders.createDecision()`

Request a decision

- Method: `POST`
- Path: `/api/v1/deciders/{decider_id}/decisions`

```ts
await soat.deciders.createDecision({
  path: { decider_id },
  body: { input, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/deciders/create-decision)

### `soat.deciders.createInlineDecision()`

Request a decision with inline questions

- Method: `POST`
- Path: `/api/v1/decisions`

```ts
await soat.deciders.createInlineDecision({
  body: { questions, input, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/deciders/create-inline-decision)

### `soat.deciders.listDecisions()`

List decisions

- Method: `GET`
- Path: `/api/v1/decisions`

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

→ [Request & response schema](/docs/api/deciders/list-decisions)

### `soat.deciders.getDecision()`

Get a decision

- Method: `GET`
- Path: `/api/v1/decisions/{decision_id}`

```ts
await soat.deciders.getDecision({
  path: { decision_id },
});
```

→ [Request & response schema](/docs/api/deciders/get-decision)
