# Projects

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

# Projects

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

### `soat.projects.listProjects()`

List projects

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

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

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

### `soat.projects.createProject()`

Create a project

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

```ts
await soat.projects.createProject({
  body: { name },
});
```

→ [Request & response schema](/docs/api/projects/create-project)

### `soat.projects.getProject()`

Get a project

- Method: `GET`
- Path: `/api/v1/projects/{project_id}`

```ts
await soat.projects.getProject({
  path: { project_id },
});
```

→ [Request & response schema](/docs/api/projects/get-project)

### `soat.projects.updateProject()`

Update a project

- Method: `PATCH`
- Path: `/api/v1/projects/{project_id}`

```ts
await soat.projects.updateProject({
  path: { project_id },
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/projects/update-project)

### `soat.projects.deleteProject()`

Delete a project

- Method: `DELETE`
- Path: `/api/v1/projects/{project_id}`

```ts
await soat.projects.deleteProject({
  path: { project_id },
  query: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/projects/delete-project)

### `soat.projects.getProjectPrices()`

List a project's price rows

- Method: `GET`
- Path: `/api/v1/projects/{project_id}/prices`

```ts
await soat.projects.getProjectPrices({
  path: { project_id },
});
```

→ [Request & response schema](/docs/api/projects/get-project-prices)

### `soat.projects.updateProjectPrices()`

Upsert a project's price rows

- Method: `PUT`
- Path: `/api/v1/projects/{project_id}/prices`

```ts
await soat.projects.updateProjectPrices({
  path: { project_id },
  body: { prices },
});
```

→ [Request & response schema](/docs/api/projects/update-project-prices)
