# SettingsService

**Spinbox is experimental: APIs change and data may be lost.** What is built and what proves it is on [Status](https://spin-stack.github.io/website/reference/status.md); what Spinbox does not do is on [Limitations](https://spin-stack.github.io/website/overview/limitations.md).

> spin.v1.SettingsService: each procedure, its request and its response.

<!-- Generated by tools/refgen from spin:internal/controlplane/apidocs/spin.v1.openapi.json. Edit the source, not this file. -->

## GetUserSettings

`POST /spin.v1.SettingsService/GetUserSettings`

User settings

**Request**

No fields: `{}`.

**Response**

| Field | Type | What it is |
|---|---|---|
| `settings` | [UserSettings](https://spin-stack.github.io/website/reference/api/types.md#usersettings) |  |

## UpdateUserSettings

`POST /spin.v1.SettingsService/UpdateUserSettings`

**Request**

| Field | Type | What it is |
|---|---|---|
| `dotfiles` | [DotfilesConfig](https://spin-stack.github.io/website/reference/api/types.md#dotfilesconfig) |  |
| `startupTaskfile` | string |  |
| `defaultShell` | string |  |
| `editorSettings` | map of string to string |  |
| `defaultEnv` | map of string to string |  |

**Response**

| Field | Type | What it is |
|---|---|---|
| `settings` | [UserSettings](https://spin-stack.github.io/website/reference/api/types.md#usersettings) |  |

## ValidateTaskfile

`POST /spin.v1.SettingsService/ValidateTaskfile`

Validate Taskfile syntax

**Request**

| Field | Type | What it is |
|---|---|---|
| `taskfileContent` | string |  |

**Response**

| Field | Type | What it is |
|---|---|---|
| `valid` | boolean |  |
| `errors` | list of string |  |
| `taskNames` | list of string | List of defined tasks |
