# Formations

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

# Formations

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

### `soat.formations.validateFormation()`

Validate a formation template

- Method: `POST`
- Path: `/api/v1/formations/validate`

```ts
await soat.formations.validateFormation({
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/formations/validate-formation)

### `soat.formations.planFormation()`

Plan a formation deployment

- Method: `POST`
- Path: `/api/v1/formations/plan`

```ts
await soat.formations.planFormation({
  body: { template, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/formations/plan-formation)

### `soat.formations.listFormations()`

List formations

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

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

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

### `soat.formations.createFormation()`

Create a new formation

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

```ts
await soat.formations.createFormation({
  body: { name, template, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/formations/create-formation)

### `soat.formations.getFormation()`

Get a specific formation

- Method: `GET`
- Path: `/api/v1/formations/{formation_id}`

```ts
await soat.formations.getFormation({
  path: { formation_id },
});
```

→ [Request & response schema](/docs/api/formations/get-formation)

### `soat.formations.updateFormation()`

Update an formation

- Method: `PUT`
- Path: `/api/v1/formations/{formation_id}`

```ts
await soat.formations.updateFormation({
  path: { formation_id },
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/formations/update-formation)

### `soat.formations.deleteFormation()`

Delete an formation

- Method: `DELETE`
- Path: `/api/v1/formations/{formation_id}`

```ts
await soat.formations.deleteFormation({
  path: { formation_id },
});
```

→ [Request & response schema](/docs/api/formations/delete-formation)

### `soat.formations.listFormationEvents()`

List formation operation events

- Method: `GET`
- Path: `/api/v1/formations/{formation_id}/events`

```ts
await soat.formations.listFormationEvents({
  path: { formation_id },
  query: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/formations/list-formation-events)
