From 3d3dc081e5e8d8565f7716b1d820b170595b60d6 Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Tue, 22 Jul 2025 23:18:42 +0000 Subject: [PATCH 1/6] Attempt to add functionality to retrieve workspace build logs to CLI --- cli/builds.go | 103 ++++++++++++++++++++++++++++++++++++ cli/logs.go | 67 +++++++++++++++++++++++ cli/root.go | 2 + codersdk/workspacebuilds.go | 11 ++++ 4 files changed, 183 insertions(+) create mode 100644 cli/builds.go create mode 100644 cli/logs.go diff --git a/cli/builds.go b/cli/builds.go new file mode 100644 index 0000000000000..8ad463f8c05d6 --- /dev/null +++ b/cli/builds.go @@ -0,0 +1,103 @@ +package cli + +import ( + "fmt" + "strconv" + "time" + + "golang.org/x/xerrors" + + "github.com/coder/coder/v2/cli/cliui" + "github.com/coder/coder/v2/codersdk" + "github.com/coder/serpent" +) + +type workspaceBuildListRow struct { + codersdk.WorkspaceBuild `table:"-"` + + BuildNumber string `json:"-" table:"build,default_sort"` + BuildID string `json:"-" table:"build id"` + Status string `json:"-" table:"status"` + Reason string `json:"-" table:"reason"` + CreatedAt string `json:"-" table:"created"` + Duration string `json:"-" table:"duration"` +} + +func workspaceBuildListRowFromBuild(build codersdk.WorkspaceBuild) workspaceBuildListRow { + status := codersdk.WorkspaceDisplayStatus(build.Job.Status, build.Transition) + createdAt := build.CreatedAt.Format("2006-01-02 15:04:05") + + duration := "" + if build.Job.CompletedAt != nil { + duration = build.Job.CompletedAt.Sub(build.CreatedAt).Truncate(time.Second).String() + } + + return workspaceBuildListRow{ + WorkspaceBuild: build, + BuildNumber: strconv.Itoa(int(build.BuildNumber)), + BuildID: build.ID.String(), + Status: status, + Reason: string(build.Reason), + CreatedAt: createdAt, + Duration: duration, + } +} + +func (r *RootCmd) builds() *serpent.Command { + return &serpent.Command{ + Use: "builds", + Short: "Manage workspace builds", + Children: []*serpent.Command{ + r.buildsList(), + }, + } +} + +func (r *RootCmd) buildsList() *serpent.Command { + var ( + formatter = cliui.NewOutputFormatter( + cliui.TableFormat( + []workspaceBuildListRow{}, + []string{"build", "build id", "status", "reason", "created", "duration"}, + ), + cliui.JSONFormat(), + ) + ) + client := new(codersdk.Client) + cmd := &serpent.Command{ + Annotations: workspaceCommand, + Use: "list ", + Short: "List builds for a workspace", + Aliases: []string{"ls"}, + Middleware: serpent.Chain( + serpent.RequireNArgs(1), + r.InitClient(client), + ), + Handler: func(inv *serpent.Invocation) error { + workspace, err := namedWorkspace(inv.Context(), client, inv.Args[0]) + if err != nil { + return xerrors.Errorf("get workspace: %w", err) + } + + builds, err := client.WorkspaceBuildsByWorkspaceID(inv.Context(), workspace.ID) + if err != nil { + return xerrors.Errorf("get workspace builds: %w", err) + } + + rows := make([]workspaceBuildListRow, len(builds)) + for i, build := range builds { + rows[i] = workspaceBuildListRowFromBuild(build) + } + + out, err := formatter.Format(inv.Context(), rows) + if err != nil { + return err + } + + _, err = fmt.Fprintln(inv.Stdout, out) + return err + }, + } + formatter.AttachOptions(&cmd.Options) + return cmd +} diff --git a/cli/logs.go b/cli/logs.go new file mode 100644 index 0000000000000..d44b8a63edda5 --- /dev/null +++ b/cli/logs.go @@ -0,0 +1,67 @@ +package cli + +import ( + "fmt" + + "github.com/google/uuid" + "golang.org/x/xerrors" + + "github.com/coder/coder/v2/codersdk" + "github.com/coder/serpent" +) + +func (r *RootCmd) logs() *serpent.Command { + var follow bool + client := new(codersdk.Client) + cmd := &serpent.Command{ + Annotations: workspaceCommand, + Use: "logs ", + Short: "Show logs for a workspace build", + Middleware: serpent.Chain( + serpent.RequireNArgs(1), + r.InitClient(client), + ), + Handler: func(inv *serpent.Invocation) error { + buildIDStr := inv.Args[0] + buildID, err := uuid.Parse(buildIDStr) + if err != nil { + return xerrors.Errorf("invalid build ID %q: %w", buildIDStr, err) + } + + logs, closer, err := client.WorkspaceBuildLogsAfter(inv.Context(), buildID, 0) + if err != nil { + return xerrors.Errorf("get build logs: %w", err) + } + defer closer.Close() + + for { + log, ok := <-logs + if !ok { + break + } + + // Simple format with timestamp and stage + timestamp := log.CreatedAt.Format("15:04:05") + if log.Stage != "" { + _, _ = fmt.Fprintf(inv.Stdout, "[%s] %s: %s\n", + timestamp, log.Stage, log.Output) + } else { + _, _ = fmt.Fprintf(inv.Stdout, "[%s] %s\n", + timestamp, log.Output) + } + } + return nil + }, + } + + cmd.Options = serpent.OptionSet{ + { + Flag: "follow", + FlagShorthand: "f", + Description: "Follow log output (stream real-time logs).", + Value: serpent.BoolOf(&follow), + }, + } + + return cmd +} diff --git a/cli/root.go b/cli/root.go index 54215a67401dd..19ed4c07fe825 100644 --- a/cli/root.go +++ b/cli/root.go @@ -107,11 +107,13 @@ func (r *RootCmd) CoreSubcommands() []*serpent.Command { // Workspace Commands r.autoupdate(), + r.builds(), r.configSSH(), r.create(), r.deleteWorkspace(), r.favorite(), r.list(), + r.logs(), r.open(), r.ping(), r.rename(), diff --git a/codersdk/workspacebuilds.go b/codersdk/workspacebuilds.go index 53d2a89290bca..df9d5a8dfec73 100644 --- a/codersdk/workspacebuilds.go +++ b/codersdk/workspacebuilds.go @@ -279,3 +279,14 @@ func (c *Client) WorkspaceBuildTimings(ctx context.Context, build uuid.UUID) (Wo var timings WorkspaceBuildTimings return timings, json.NewDecoder(res.Body).Decode(&timings) } + +func (c *Client) WorkspaceBuildsByWorkspaceID(ctx context.Context, workspaceID uuid.UUID) ([]WorkspaceBuild, error) { + res, err := c.Request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/workspaces/%s/builds", workspaceID), nil) + if err != nil { + return nil, err + } + defer res.Body.Close() + + var builds []WorkspaceBuild + return builds, json.NewDecoder(res.Body).Decode(&builds) +} From 0317665bcad0db02eb3c5780bf68ffd9208d0890 Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Wed, 30 Jul 2025 03:52:09 +0000 Subject: [PATCH 2/6] test: Add tests for workspace builds and logs CLI commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added tests for CLI commands: - 'builds list' command for listing workspace builds - 'logs' command for retrieving workspace build logs Added golden files for help output: - coder_builds_--help.golden - coder_builds_list_--help.golden - coder_logs_--help.golden 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- cli/builds_test.go | 101 +++++++++++++++++++ cli/logs_test.go | 53 ++++++++++ cli/testdata/coder_builds_--help.golden | 24 +++++ cli/testdata/coder_builds_list_--help.golden | 29 ++++++ cli/testdata/coder_logs_--help.golden | 22 ++++ 5 files changed, 229 insertions(+) create mode 100644 cli/builds_test.go create mode 100644 cli/logs_test.go create mode 100644 cli/testdata/coder_builds_--help.golden create mode 100644 cli/testdata/coder_builds_list_--help.golden create mode 100644 cli/testdata/coder_logs_--help.golden diff --git a/cli/builds_test.go b/cli/builds_test.go new file mode 100644 index 0000000000000..4eaca707a7902 --- /dev/null +++ b/cli/builds_test.go @@ -0,0 +1,101 @@ +package cli_test + +import ( + "bytes" + "context" + "encoding/json" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/coder/coder/v2/cli/clitest" + "github.com/coder/coder/v2/coderd/coderdtest" + "github.com/coder/coder/v2/coderd/database" + "github.com/coder/coder/v2/coderd/database/dbfake" + "github.com/coder/coder/v2/codersdk" + "github.com/coder/coder/v2/pty/ptytest" + "github.com/coder/coder/v2/testutil" +) + +func TestBuildsList(t *testing.T) { + t.Parallel() + + t.Run("Table", func(t *testing.T) { + t.Parallel() + client, db := coderdtest.NewWithDatabase(t, nil) + owner := coderdtest.CreateFirstUser(t, client) + member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) + + // Create a workspace with a build + r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ + OrganizationID: owner.OrganizationID, + OwnerID: memberUser.ID, + }).WithAgent().Do() + + inv, root := clitest.New(t, "builds", "list", r.Workspace.Name) + clitest.SetupConfig(t, member, root) + pty := ptytest.New(t).Attach(inv) + + ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitLong) + defer cancelFunc() + + done := make(chan any) + go func() { + errC := inv.WithContext(ctx).Run() + assert.NoError(t, errC) + close(done) + }() + + pty.ExpectMatch("1") // Build number + pty.ExpectMatch(r.Build.ID.String()) // Build ID + cancelFunc() + <-done + }) + + t.Run("JSON", func(t *testing.T) { + t.Parallel() + client, db := coderdtest.NewWithDatabase(t, nil) + owner := coderdtest.CreateFirstUser(t, client) + member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) + + // Create a workspace with a build + r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ + OrganizationID: owner.OrganizationID, + OwnerID: memberUser.ID, + }).WithAgent().Do() + + inv, root := clitest.New(t, "builds", "list", r.Workspace.Name, "--output=json") + clitest.SetupConfig(t, member, root) + + ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitLong) + defer cancelFunc() + + out := bytes.NewBuffer(nil) + inv.Stdout = out + err := inv.WithContext(ctx).Run() + require.NoError(t, err) + + var builds []codersdk.WorkspaceBuild + require.NoError(t, json.Unmarshal(out.Bytes(), &builds)) + require.Len(t, builds, 1) + assert.Equal(t, r.Build.ID, builds[0].ID) + }) + + t.Run("WorkspaceNotFound", func(t *testing.T) { + t.Parallel() + client := coderdtest.New(t, nil) + owner := coderdtest.CreateFirstUser(t, client) + member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) + + inv, root := clitest.New(t, "builds", "list", "non-existent-workspace") + clitest.SetupConfig(t, member, root) + + ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitLong) + defer cancelFunc() + + err := inv.WithContext(ctx).Run() + require.Error(t, err) + assert.Contains(t, err.Error(), "get workspace") + }) +} \ No newline at end of file diff --git a/cli/logs_test.go b/cli/logs_test.go new file mode 100644 index 0000000000000..74bf0440ab8c3 --- /dev/null +++ b/cli/logs_test.go @@ -0,0 +1,53 @@ +package cli_test + +import ( + "context" + "strings" + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/coder/coder/v2/cli/clitest" + "github.com/coder/coder/v2/coderd/coderdtest" + "github.com/coder/coder/v2/testutil" +) + +func TestLogs(t *testing.T) { + t.Parallel() + + t.Run("LogsInvalidBuildID", func(t *testing.T) { + t.Parallel() + + client := coderdtest.New(t, nil) + _ = coderdtest.CreateFirstUser(t, client) + + inv, root := clitest.New(t, "logs", "invalid-uuid") + clitest.SetupConfig(t, client, root) + + ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitMedium) + defer cancelFunc() + + err := inv.WithContext(ctx).Run() + require.Error(t, err) + assert.True(t, strings.Contains(err.Error(), "invalid build ID")) + }) + + t.Run("LogsNonexistentBuild", func(t *testing.T) { + t.Parallel() + + client := coderdtest.New(t, nil) + _ = coderdtest.CreateFirstUser(t, client) + + inv, root := clitest.New(t, "logs", uuid.New().String()) + clitest.SetupConfig(t, client, root) + + ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitMedium) + defer cancelFunc() + + err := inv.WithContext(ctx).Run() + require.Error(t, err) + assert.True(t, strings.Contains(err.Error(), "get build logs")) + }) +} \ No newline at end of file diff --git a/cli/testdata/coder_builds_--help.golden b/cli/testdata/coder_builds_--help.golden new file mode 100644 index 0000000000000..4a8643930adee --- /dev/null +++ b/cli/testdata/coder_builds_--help.golden @@ -0,0 +1,24 @@ +Manage workspace builds + +Usage: + coder builds [flags] + +Available Commands: + list List builds for a workspace + +Flags: + --debug-options Print all options, how they're set, then exit. + -h, --help Help for "builds" + +Global Flags: + --header=key=value Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. + --header-command=string An external command that outputs additional HTTP headers added to all requests. The command must output each header as key=value on its own line. + -v, --verbose Enable verbose output. + --no-version-warning Suppress warning when client and server versions do not match. + --no-feature-warning Suppress warnings about unlicensed features. + --url=string URL to a deployment. + --token=string Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. + --config-dir=/home/coder/.config/coderv2 Path to the global coder config directory. + --disable-direct-connections Disable direct (P2P) connections to workspaces. + --disable-network-telemetry Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. + --force-tty Force the use of a TTY. \ No newline at end of file diff --git a/cli/testdata/coder_builds_list_--help.golden b/cli/testdata/coder_builds_list_--help.golden new file mode 100644 index 0000000000000..8f2e2b37cb6e9 --- /dev/null +++ b/cli/testdata/coder_builds_list_--help.golden @@ -0,0 +1,29 @@ +List builds for a workspace + +Usage: + coder builds list [flags] + +Aliases: + list, ls + +Flags: + --column=string Specify a column to sort by. + -h, --help Help for "list" + --output=table Output format. Available formats are: table, json. + --search=string Filter data by search query. + --sort-by=default_sort Sort builds by the specified column (default "build"). + --sort-desc Sort by descending order. + +Global Flags: + --debug-options Print all options, how they're set, then exit. + --header=key=value Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. + --header-command=string An external command that outputs additional HTTP headers added to all requests. The command must output each header as key=value on its own line. + -v, --verbose Enable verbose output. + --no-version-warning Suppress warning when client and server versions do not match. + --no-feature-warning Suppress warnings about unlicensed features. + --url=string URL to a deployment. + --token=string Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. + --config-dir=/home/coder/.config/coderv2 Path to the global coder config directory. + --disable-direct-connections Disable direct (P2P) connections to workspaces. + --disable-network-telemetry Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. + --force-tty Force the use of a TTY. \ No newline at end of file diff --git a/cli/testdata/coder_logs_--help.golden b/cli/testdata/coder_logs_--help.golden new file mode 100644 index 0000000000000..ce3d796e53794 --- /dev/null +++ b/cli/testdata/coder_logs_--help.golden @@ -0,0 +1,22 @@ +Show logs for a workspace build + +Usage: + coder logs [flags] + +Flags: + -f, --follow Follow log output (stream real-time logs). + -h, --help Help for "logs" + +Global Flags: + --debug-options Print all options, how they're set, then exit. + --header=key=value Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. + --header-command=string An external command that outputs additional HTTP headers added to all requests. The command must output each header as key=value on its own line. + -v, --verbose Enable verbose output. + --no-version-warning Suppress warning when client and server versions do not match. + --no-feature-warning Suppress warnings about unlicensed features. + --url=string URL to a deployment. + --token=string Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. + --config-dir=/home/coder/.config/coderv2 Path to the global coder config directory. + --disable-direct-connections Disable direct (P2P) connections to workspaces. + --disable-network-telemetry Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. + --force-tty Force the use of a TTY. \ No newline at end of file From ea93a04c0334107a74ddfb111d7c8141415e49e3 Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Wed, 30 Jul 2025 04:15:37 +0000 Subject: [PATCH 3/6] fix: Format code and update generated documentation for builds and logs CLI commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Formatted code according to project standards and updated CLI documentation for the workspace build logs feature. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- cli/builds.go | 14 ++++---- cli/builds_test.go | 18 +++++----- cli/logs_test.go | 8 ++--- cli/testdata/coder_--help.golden | 2 ++ cli/testdata/coder_builds_--help.golden | 28 +++++---------- cli/testdata/coder_builds_list_--help.golden | 37 +++++++------------- cli/testdata/coder_logs_--help.golden | 27 +++++--------- docs/reference/cli/builds.md | 16 +++++++++ docs/reference/cli/builds_list.md | 34 ++++++++++++++++++ docs/reference/cli/logs.md | 20 +++++++++++ 10 files changed, 121 insertions(+), 83 deletions(-) create mode 100644 docs/reference/cli/builds.md create mode 100644 docs/reference/cli/builds_list.md create mode 100644 docs/reference/cli/logs.md diff --git a/cli/builds.go b/cli/builds.go index 8ad463f8c05d6..dadd7e768d398 100644 --- a/cli/builds.go +++ b/cli/builds.go @@ -54,14 +54,12 @@ func (r *RootCmd) builds() *serpent.Command { } func (r *RootCmd) buildsList() *serpent.Command { - var ( - formatter = cliui.NewOutputFormatter( - cliui.TableFormat( - []workspaceBuildListRow{}, - []string{"build", "build id", "status", "reason", "created", "duration"}, - ), - cliui.JSONFormat(), - ) + formatter := cliui.NewOutputFormatter( + cliui.TableFormat( + []workspaceBuildListRow{}, + []string{"build", "build id", "status", "reason", "created", "duration"}, + ), + cliui.JSONFormat(), ) client := new(codersdk.Client) cmd := &serpent.Command{ diff --git a/cli/builds_test.go b/cli/builds_test.go index 4eaca707a7902..bf7aeb59724f1 100644 --- a/cli/builds_test.go +++ b/cli/builds_test.go @@ -20,13 +20,13 @@ import ( func TestBuildsList(t *testing.T) { t.Parallel() - + t.Run("Table", func(t *testing.T) { t.Parallel() client, db := coderdtest.NewWithDatabase(t, nil) owner := coderdtest.CreateFirstUser(t, client) member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) - + // Create a workspace with a build r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ OrganizationID: owner.OrganizationID, @@ -39,16 +39,16 @@ func TestBuildsList(t *testing.T) { ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitLong) defer cancelFunc() - + done := make(chan any) go func() { errC := inv.WithContext(ctx).Run() assert.NoError(t, errC) close(done) }() - - pty.ExpectMatch("1") // Build number - pty.ExpectMatch(r.Build.ID.String()) // Build ID + + pty.ExpectMatch("1") // Build number + pty.ExpectMatch(r.Build.ID.String()) // Build ID cancelFunc() <-done }) @@ -58,7 +58,7 @@ func TestBuildsList(t *testing.T) { client, db := coderdtest.NewWithDatabase(t, nil) owner := coderdtest.CreateFirstUser(t, client) member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) - + // Create a workspace with a build r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ OrganizationID: owner.OrganizationID, @@ -81,7 +81,7 @@ func TestBuildsList(t *testing.T) { require.Len(t, builds, 1) assert.Equal(t, r.Build.ID, builds[0].ID) }) - + t.Run("WorkspaceNotFound", func(t *testing.T) { t.Parallel() client := coderdtest.New(t, nil) @@ -98,4 +98,4 @@ func TestBuildsList(t *testing.T) { require.Error(t, err) assert.Contains(t, err.Error(), "get workspace") }) -} \ No newline at end of file +} diff --git a/cli/logs_test.go b/cli/logs_test.go index 74bf0440ab8c3..49a4d07538eb6 100644 --- a/cli/logs_test.go +++ b/cli/logs_test.go @@ -16,10 +16,10 @@ import ( func TestLogs(t *testing.T) { t.Parallel() - + t.Run("LogsInvalidBuildID", func(t *testing.T) { t.Parallel() - + client := coderdtest.New(t, nil) _ = coderdtest.CreateFirstUser(t, client) @@ -36,7 +36,7 @@ func TestLogs(t *testing.T) { t.Run("LogsNonexistentBuild", func(t *testing.T) { t.Parallel() - + client := coderdtest.New(t, nil) _ = coderdtest.CreateFirstUser(t, client) @@ -50,4 +50,4 @@ func TestLogs(t *testing.T) { require.Error(t, err) assert.True(t, strings.Contains(err.Error(), "get build logs")) }) -} \ No newline at end of file +} diff --git a/cli/testdata/coder_--help.golden b/cli/testdata/coder_--help.golden index 09dd4c3bce3a5..64da9f32299c2 100644 --- a/cli/testdata/coder_--help.golden +++ b/cli/testdata/coder_--help.golden @@ -15,6 +15,7 @@ USAGE: SUBCOMMANDS: autoupdate Toggle auto-update policy for a workspace + builds Manage workspace builds completion Install or update shell completion scripts for the detected or chosen shell. config-ssh Add an SSH Host entry for your workspaces "ssh @@ -28,6 +29,7 @@ SUBCOMMANDS: list List workspaces login Authenticate with Coder deployment logout Unauthenticate your local session + logs Show logs for a workspace build netcheck Print network debug information for DERP and STUN notifications Manage Coder notifications open Open a workspace diff --git a/cli/testdata/coder_builds_--help.golden b/cli/testdata/coder_builds_--help.golden index 4a8643930adee..c51c3adb6425d 100644 --- a/cli/testdata/coder_builds_--help.golden +++ b/cli/testdata/coder_builds_--help.golden @@ -1,24 +1,12 @@ -Manage workspace builds +coder v0.0.0-devel -Usage: - coder builds [flags] +USAGE: + coder builds -Available Commands: - list List builds for a workspace + Manage workspace builds -Flags: - --debug-options Print all options, how they're set, then exit. - -h, --help Help for "builds" +SUBCOMMANDS: + list List builds for a workspace -Global Flags: - --header=key=value Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. - --header-command=string An external command that outputs additional HTTP headers added to all requests. The command must output each header as key=value on its own line. - -v, --verbose Enable verbose output. - --no-version-warning Suppress warning when client and server versions do not match. - --no-feature-warning Suppress warnings about unlicensed features. - --url=string URL to a deployment. - --token=string Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. - --config-dir=/home/coder/.config/coderv2 Path to the global coder config directory. - --disable-direct-connections Disable direct (P2P) connections to workspaces. - --disable-network-telemetry Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. - --force-tty Force the use of a TTY. \ No newline at end of file +——— +Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_builds_list_--help.golden b/cli/testdata/coder_builds_list_--help.golden index 8f2e2b37cb6e9..38276d5694666 100644 --- a/cli/testdata/coder_builds_list_--help.golden +++ b/cli/testdata/coder_builds_list_--help.golden @@ -1,29 +1,18 @@ -List builds for a workspace +coder v0.0.0-devel -Usage: +USAGE: coder builds list [flags] -Aliases: - list, ls + List builds for a workspace -Flags: - --column=string Specify a column to sort by. - -h, --help Help for "list" - --output=table Output format. Available formats are: table, json. - --search=string Filter data by search query. - --sort-by=default_sort Sort builds by the specified column (default "build"). - --sort-desc Sort by descending order. + Aliases: ls -Global Flags: - --debug-options Print all options, how they're set, then exit. - --header=key=value Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. - --header-command=string An external command that outputs additional HTTP headers added to all requests. The command must output each header as key=value on its own line. - -v, --verbose Enable verbose output. - --no-version-warning Suppress warning when client and server versions do not match. - --no-feature-warning Suppress warnings about unlicensed features. - --url=string URL to a deployment. - --token=string Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. - --config-dir=/home/coder/.config/coderv2 Path to the global coder config directory. - --disable-direct-connections Disable direct (P2P) connections to workspaces. - --disable-network-telemetry Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. - --force-tty Force the use of a TTY. \ No newline at end of file +OPTIONS: + -c, --column [build|build id|status|reason|created|duration] (default: build,build id,status,reason,created,duration) + Columns to display in table output. + + -o, --output table|json (default: table) + Output format. + +——— +Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_logs_--help.golden b/cli/testdata/coder_logs_--help.golden index ce3d796e53794..96aceb90353f2 100644 --- a/cli/testdata/coder_logs_--help.golden +++ b/cli/testdata/coder_logs_--help.golden @@ -1,22 +1,13 @@ -Show logs for a workspace build +coder v0.0.0-devel -Usage: +USAGE: coder logs [flags] -Flags: - -f, --follow Follow log output (stream real-time logs). - -h, --help Help for "logs" + Show logs for a workspace build -Global Flags: - --debug-options Print all options, how they're set, then exit. - --header=key=value Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. - --header-command=string An external command that outputs additional HTTP headers added to all requests. The command must output each header as key=value on its own line. - -v, --verbose Enable verbose output. - --no-version-warning Suppress warning when client and server versions do not match. - --no-feature-warning Suppress warnings about unlicensed features. - --url=string URL to a deployment. - --token=string Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. - --config-dir=/home/coder/.config/coderv2 Path to the global coder config directory. - --disable-direct-connections Disable direct (P2P) connections to workspaces. - --disable-network-telemetry Disable network telemetry. Network telemetry is collected when connecting to workspaces using the CLI, and is forwarded to the server. If telemetry is also enabled on the server, it may be sent to Coder. Network telemetry is used to measure network quality and detect regressions. - --force-tty Force the use of a TTY. \ No newline at end of file +OPTIONS: + -f, --follow bool + Follow log output (stream real-time logs). + +——— +Run `coder --help` for a list of global options. diff --git a/docs/reference/cli/builds.md b/docs/reference/cli/builds.md new file mode 100644 index 0000000000000..528a8f5ae36da --- /dev/null +++ b/docs/reference/cli/builds.md @@ -0,0 +1,16 @@ + +# builds + +Manage workspace builds + +## Usage + +```console +coder builds +``` + +## Subcommands + +| Name | Purpose | +|---------------------------------------|-----------------------------| +| [list](./builds_list.md) | List builds for a workspace | diff --git a/docs/reference/cli/builds_list.md b/docs/reference/cli/builds_list.md new file mode 100644 index 0000000000000..f31241d6af5b6 --- /dev/null +++ b/docs/reference/cli/builds_list.md @@ -0,0 +1,34 @@ + +# builds list + +List builds for a workspace + +Aliases: + +* ls + +## Usage + +```console +coder builds list [flags] +``` + +## Options + +### -c, --column + +| | | +|---------|-------------------------------------------------------------------| +| Type | [build\|build id\|status\|reason\|created\|duration] | +| Default | build,build id,status,reason,created,duration | + +Columns to display in table output. + +### -o, --output + +| | | +|---------|--------------------------| +| Type | table\|json | +| Default | table | + +Output format. diff --git a/docs/reference/cli/logs.md b/docs/reference/cli/logs.md new file mode 100644 index 0000000000000..7cb6576c55cb6 --- /dev/null +++ b/docs/reference/cli/logs.md @@ -0,0 +1,20 @@ + +# logs + +Show logs for a workspace build + +## Usage + +```console +coder logs [flags] +``` + +## Options + +### -f, --follow + +| | | +|------|-------------------| +| Type | bool | + +Follow log output (stream real-time logs). From e8f2d4eb7f2898250c3b30a937a350ac9fc2b623 Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Wed, 30 Jul 2025 04:27:08 +0000 Subject: [PATCH 4/6] fix: Add help handler to builds command and update documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added HelpHandler to builds command to fix TestHandlersOK failures - Include generated documentation in manifest.json and index.md 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- cli/builds.go | 4 +- docs/manifest.json | 3635 ++++++++++++++++++----------------- docs/reference/cli/index.md | 2 + 3 files changed, 1851 insertions(+), 1790 deletions(-) diff --git a/cli/builds.go b/cli/builds.go index dadd7e768d398..442fa755c6335 100644 --- a/cli/builds.go +++ b/cli/builds.go @@ -50,7 +50,9 @@ func (r *RootCmd) builds() *serpent.Command { Children: []*serpent.Command{ r.buildsList(), }, - } + Handler: func(inv *serpent.Invocation) error { + return inv.Command.HelpHandler(inv) + }, } func (r *RootCmd) buildsList() *serpent.Command { diff --git a/docs/manifest.json b/docs/manifest.json index c4af214212dde..76728f9cc4239 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1,1790 +1,1847 @@ { - "versions": ["main"], - "routes": [ - { - "title": "About", - "description": "Coder docs", - "path": "./README.md", - "icon_path": "./images/icons/home.svg", - "children": [ - { - "title": "Screenshots", - "description": "View screenshots of the Coder platform", - "path": "./about/screenshots.md" - }, - { - "title": "Quickstart", - "description": "Learn how to install and run Coder quickly", - "path": "./tutorials/quickstart.md" - }, - { - "title": "Support", - "description": "How Coder supports your deployment and you", - "path": "./support/index.md", - "children": [ - { - "title": "Generate a Support Bundle", - "description": "Generate and upload a Support Bundle to Coder Support", - "path": "./support/support-bundle.md" - } - ] - }, - { - "title": "Contributing", - "description": "Learn how to contribute to Coder", - "path": "./about/contributing/CONTRIBUTING.md", - "icon_path": "./images/icons/contributing.svg", - "children": [ - { - "title": "Code of Conduct", - "description": "See the code of conduct for contributing to Coder", - "path": "./about/contributing/CODE_OF_CONDUCT.md", - "icon_path": "./images/icons/circle-dot.svg" - }, - { - "title": "Documentation", - "description": "Our style guide for use when authoring documentation", - "path": "./about/contributing/documentation.md", - "icon_path": "./images/icons/document.svg" - }, - { - "title": "Modules", - "description": "Learn how to contribute modules to Coder", - "path": "./about/contributing/modules.md", - "icon_path": "./images/icons/gear.svg" - }, - { - "title": "Templates", - "description": "Learn how to contribute templates to Coder", - "path": "./about/contributing/templates.md", - "icon_path": "./images/icons/picture.svg" - }, - { - "title": "Backend", - "description": "Our guide for backend development", - "path": "./about/contributing/backend.md", - "icon_path": "./images/icons/gear.svg" - }, - { - "title": "Frontend", - "description": "Our guide for frontend development", - "path": "./about/contributing/frontend.md", - "icon_path": "./images/icons/frontend.svg" - }, - { - "title": "Security", - "description": "Security vulnerability disclosure policy", - "path": "./about/contributing/SECURITY.md", - "icon_path": "./images/icons/lock.svg" - } - ] - } - ] - }, - { - "title": "Install", - "description": "Installing Coder", - "path": "./install/index.md", - "icon_path": "./images/icons/download.svg", - "children": [ - { - "title": "Coder CLI", - "description": "Install the standalone binary", - "path": "./install/cli.md", - "icon_path": "./images/icons/terminal.svg" - }, - { - "title": "Docker", - "description": "Install Coder using Docker", - "path": "./install/docker.md", - "icon_path": "./images/icons/docker.svg" - }, - { - "title": "Kubernetes", - "description": "Install Coder on Kubernetes", - "path": "./install/kubernetes.md", - "icon_path": "./images/icons/kubernetes.svg", - "children": [ - { - "title": "Deploy Coder on Azure with an Application Gateway", - "description": "Deploy Coder on Azure with an Application Gateway", - "path": "./install/kubernetes/kubernetes-azure-app-gateway.md" - } - ] - }, - { - "title": "Rancher", - "description": "Deploy Coder on Rancher", - "path": "./install/rancher.md", - "icon_path": "./images/icons/rancher.svg" - }, - { - "title": "OpenShift", - "description": "Install Coder on OpenShift", - "path": "./install/openshift.md", - "icon_path": "./images/icons/openshift.svg" - }, - { - "title": "Cloud Providers", - "description": "Install Coder on cloud providers", - "path": "./install/cloud/index.md", - "icon_path": "./images/icons/cloud.svg", - "children": [ - { - "title": "AWS EC2", - "description": "Install Coder on AWS EC2", - "path": "./install/cloud/ec2.md" - }, - { - "title": "GCP Compute Engine", - "description": "Install Coder on GCP Compute Engine", - "path": "./install/cloud/compute-engine.md" - }, - { - "title": "Azure VM", - "description": "Install Coder on an Azure VM", - "path": "./install/cloud/azure-vm.md" - } - ] - }, - { - "title": "Offline Deployments", - "description": "Run Coder in offline / air-gapped environments", - "path": "./install/offline.md", - "icon_path": "./images/icons/lan.svg" - }, - { - "title": "Unofficial Install Methods", - "description": "Other installation methods", - "path": "./install/other/index.md", - "icon_path": "./images/icons/generic.svg" - }, - { - "title": "Upgrading", - "description": "Learn how to upgrade Coder", - "path": "./install/upgrade.md", - "icon_path": "./images/icons/upgrade.svg" - }, - { - "title": "Uninstall", - "description": "Learn how to uninstall Coder", - "path": "./install/uninstall.md", - "icon_path": "./images/icons/trash.svg" - }, - { - "title": "Releases", - "description": "Learn about the Coder release channels and schedule", - "path": "./install/releases/index.md", - "icon_path": "./images/icons/star.svg", - "children": [ - { - "title": "Feature stages", - "description": "Information about pre-GA stages.", - "path": "./install/releases/feature-stages.md" - } - ] - } - ] - }, - { - "title": "User Guides", - "description": "Guides for end-users of Coder", - "path": "./user-guides/index.md", - "icon_path": "./images/icons/users.svg", - "children": [ - { - "title": "Access Workspaces", - "description": "Connect to your Coder workspaces", - "path": "./user-guides/workspace-access/index.md", - "icon_path": "./images/icons/access.svg", - "children": [ - { - "title": "Visual Studio Code", - "description": "Use VSCode with Coder in the desktop or browser", - "path": "./user-guides/workspace-access/vscode.md" - }, - { - "title": "JetBrains IDEs", - "description": "Use JetBrains IDEs with Coder", - "path": "./user-guides/workspace-access/jetbrains/index.md", - "children": [ - { - "title": "JetBrains Fleet", - "description": "Connect JetBrains Fleet to a Coder workspace", - "path": "./user-guides/workspace-access/jetbrains/fleet.md" - }, - { - "title": "JetBrains Gateway", - "description": "Use JetBrains Gateway to connect to Coder workspaces", - "path": "./user-guides/workspace-access/jetbrains/gateway.md" - }, - { - "title": "JetBrains Toolbox", - "description": "Access Coder workspaces from JetBrains Toolbox", - "path": "./user-guides/workspace-access/jetbrains/toolbox.md", - "state": ["beta"] - } - ] - }, - { - "title": "Remote Desktop", - "description": "Use RDP in Coder", - "path": "./user-guides/workspace-access/remote-desktops.md" - }, - { - "title": "Emacs TRAMP", - "description": "Use Emacs TRAMP in Coder", - "path": "./user-guides/workspace-access/emacs-tramp.md" - }, - { - "title": "Port Forwarding", - "description": "Access ports on your workspace", - "path": "./user-guides/workspace-access/port-forwarding.md" - }, - { - "title": "Filebrowser", - "description": "Access your workspace files", - "path": "./user-guides/workspace-access/filebrowser.md" - }, - { - "title": "Web IDEs and Coder Apps", - "description": "Access your workspace with IDEs in the browser", - "path": "./user-guides/workspace-access/web-ides.md" - }, - { - "title": "Zed", - "description": "Access your workspace with Zed", - "path": "./user-guides/workspace-access/zed.md" - }, - { - "title": "Cursor", - "description": "Access your workspace with Cursor", - "path": "./user-guides/workspace-access/cursor.md" - }, - { - "title": "Windsurf", - "description": "Access your workspace with Windsurf", - "path": "./user-guides/workspace-access/windsurf.md" - } - ] - }, - { - "title": "Coder Desktop", - "description": "Transform remote workspaces into seamless local development environments with no port forwarding required", - "path": "./user-guides/desktop/index.md", - "icon_path": "./images/icons/computer-code.svg", - "children": [ - { - "title": "Coder Desktop connect and sync", - "description": "Use Coder Desktop to manage your workspace code and files locally", - "path": "./user-guides/desktop/desktop-connect-sync.md" - } - ] - }, - { - "title": "Workspace Management", - "description": "Manage workspaces", - "path": "./user-guides/workspace-management.md", - "icon_path": "./images/icons/generic.svg" - }, - { - "title": "Workspace Scheduling", - "description": "Cost control with workspace schedules", - "path": "./user-guides/workspace-scheduling.md", - "icon_path": "./images/icons/stopwatch.svg" - }, - { - "title": "Workspace Lifecycle", - "description": "A guide to the workspace lifecycle, from creation and status through stopping and deletion.", - "path": "./user-guides/workspace-lifecycle.md", - "icon_path": "./images/icons/circle-dot.svg" - }, - { - "title": "Dev Containers Integration", - "description": "Run containerized development environments in your Coder workspace using the dev containers specification.", - "path": "./user-guides/devcontainers/index.md", - "icon_path": "./images/icons/container.svg", - "children": [ - { - "title": "Working with dev containers", - "description": "Access dev containers via SSH, your IDE, or web terminal.", - "path": "./user-guides/devcontainers/working-with-dev-containers.md" - }, - { - "title": "Troubleshooting dev containers", - "description": "Diagnose and resolve common issues with dev containers in your Coder workspace.", - "path": "./user-guides/devcontainers/troubleshooting-dev-containers.md" - } - ] - }, - { - "title": "Dotfiles", - "description": "Personalize your environment with dotfiles", - "path": "./user-guides/workspace-dotfiles.md", - "icon_path": "./images/icons/art-pad.svg" - } - ] - }, - { - "title": "Administration", - "description": "Guides for template and deployment administrators", - "path": "./admin/index.md", - "icon_path": "./images/icons/wrench.svg", - "children": [ - { - "title": "Setup", - "description": "Configure user access to your control plane.", - "path": "./admin/setup/index.md", - "icon_path": "./images/icons/toggle_on.svg", - "children": [ - { - "title": "Appearance", - "description": "Learn how to configure the appearance of Coder", - "path": "./admin/setup/appearance.md", - "state": ["premium"] - }, - { - "title": "Telemetry", - "description": "Learn what usage telemetry Coder collects", - "path": "./admin/setup/telemetry.md" - } - ] - }, - { - "title": "Infrastructure", - "description": "How to integrate Coder with your organization's compute", - "path": "./admin/infrastructure/index.md", - "icon_path": "./images/icons/container.svg", - "children": [ - { - "title": "Architecture", - "description": "Learn about Coder's architecture", - "path": "./admin/infrastructure/architecture.md" - }, - { - "title": "Validated Architectures", - "description": "Architectures for large Coder deployments", - "path": "./admin/infrastructure/validated-architectures/index.md", - "children": [ - { - "title": "Up to 1,000 Users", - "description": "Hardware specifications and architecture guidance for Coder deployments that support up to 1,000 users", - "path": "./admin/infrastructure/validated-architectures/1k-users.md" - }, - { - "title": "Up to 2,000 Users", - "description": "Hardware specifications and architecture guidance for Coder deployments that support up to 2,000 users", - "path": "./admin/infrastructure/validated-architectures/2k-users.md" - }, - { - "title": "Up to 3,000 Users", - "description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 3,000 users", - "path": "./admin/infrastructure/validated-architectures/3k-users.md" - } - ] - }, - { - "title": "Scale Testing", - "description": "Ensure your deployment can handle your organization's needs", - "path": "./admin/infrastructure/scale-testing.md" - }, - { - "title": "Scaling Utilities", - "description": "Tools to help you scale your deployment", - "path": "./admin/infrastructure/scale-utility.md" - }, - { - "title": "Scaling best practices", - "description": "How to prepare a Coder deployment for scale", - "path": "./tutorials/best-practices/scale-coder.md" - } - ] - }, - { - "title": "Users", - "description": "Learn how to manage and audit users", - "path": "./admin/users/index.md", - "icon_path": "./images/icons/users.svg", - "children": [ - { - "title": "OIDC Authentication", - "description": "Configure OpenID Connect authentication with identity providers like Okta or Active Directory", - "path": "./admin/users/oidc-auth/index.md", - "children": [ - { - "title": "Configure OIDC refresh tokens", - "description": "How to configure OIDC refresh tokens", - "path": "./admin/users/oidc-auth/refresh-tokens.md" - } - ] - }, - { - "title": "GitHub Authentication", - "description": "Set up authentication through GitHub OAuth to enable secure user login and sign-up", - "path": "./admin/users/github-auth.md" - }, - { - "title": "Password Authentication", - "description": "Manage username/password authentication settings and user password reset workflows", - "path": "./admin/users/password-auth.md" - }, - { - "title": "Headless Authentication", - "description": "Create and manage headless service accounts for automated systems and API integrations", - "path": "./admin/users/headless-auth.md" - }, - { - "title": "Groups \u0026 Roles", - "description": "Manage access control with user groups and role-based permissions for Coder resources", - "path": "./admin/users/groups-roles.md", - "state": ["premium"] - }, - { - "title": "IdP Sync", - "description": "Synchronize user groups, roles, and organizations from your identity provider to Coder", - "path": "./admin/users/idp-sync.md", - "state": ["premium"] - }, - { - "title": "Organizations", - "description": "Segment and isolate resources by creating separate organizations for different teams or projects", - "path": "./admin/users/organizations.md", - "state": ["premium"] - }, - { - "title": "Quotas", - "description": "Control resource usage by implementing workspace budgets and credit-based cost management", - "path": "./admin/users/quotas.md", - "state": ["premium"] - }, - { - "title": "Sessions \u0026 API Tokens", - "description": "Manage authentication tokens for API access and configure session duration policies", - "path": "./admin/users/sessions-tokens.md" - } - ] - }, - { - "title": "Templates", - "description": "Learn how to author and maintain Coder templates", - "path": "./admin/templates/index.md", - "icon_path": "./images/icons/picture.svg", - "children": [ - { - "title": "Creating Templates", - "description": "Learn how to create templates with Terraform", - "path": "./admin/templates/creating-templates.md" - }, - { - "title": "Managing Templates", - "description": "Learn how to manage templates and best practices", - "path": "./admin/templates/managing-templates/index.md", - "children": [ - { - "title": "Image Management", - "description": "Learn about template image management", - "path": "./admin/templates/managing-templates/image-management.md" - }, - { - "title": "Change Management", - "description": "Learn about template change management and versioning", - "path": "./admin/templates/managing-templates/change-management.md" - }, - { - "title": "Dev containers", - "description": "Learn about using development containers in templates", - "path": "./admin/templates/managing-templates/devcontainers/index.md", - "children": [ - { - "title": "Add a dev container template", - "description": "How to add a dev container template to Coder", - "path": "./admin/templates/managing-templates/devcontainers/add-devcontainer.md" - }, - { - "title": "Dev container security and caching", - "description": "Configure dev container authentication and caching", - "path": "./admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md" - }, - { - "title": "Dev container releases and known issues", - "description": "Dev container releases and known issues", - "path": "./admin/templates/managing-templates/devcontainers/devcontainer-releases-known-issues.md" - } - ] - }, - { - "title": "Template Dependencies", - "description": "Learn how to manage template dependencies", - "path": "./admin/templates/managing-templates/dependencies.md" - }, - { - "title": "Workspace Scheduling", - "description": "Learn how to control how workspaces are started and stopped", - "path": "./admin/templates/managing-templates/schedule.md" - } - ] - }, - { - "title": "Extending Templates", - "description": "Learn best practices in extending templates", - "path": "./admin/templates/extending-templates/index.md", - "children": [ - { - "title": "Agent Metadata", - "description": "Retrieve real-time stats from the workspace agent", - "path": "./admin/templates/extending-templates/agent-metadata.md" - }, - { - "title": "Build Parameters", - "description": "Use parameters to customize workspaces at build", - "path": "./admin/templates/extending-templates/parameters.md" - }, - { - "title": "Dynamic Parameters", - "description": "Conditional, identity-aware parameter syntax for advanced users.", - "path": "./admin/templates/extending-templates/dynamic-parameters.md", - "state": ["beta"] - }, - { - "title": "Prebuilt workspaces", - "description": "Pre-provision a ready-to-deploy workspace with a defined set of parameters", - "path": "./admin/templates/extending-templates/prebuilt-workspaces.md", - "state": ["premium"] - }, - { - "title": "Icons", - "description": "Customize your template with built-in icons", - "path": "./admin/templates/extending-templates/icons.md" - }, - { - "title": "Resource Metadata", - "description": "Display resource state in the workspace dashboard", - "path": "./admin/templates/extending-templates/resource-metadata.md" - }, - { - "title": "Resource Monitoring", - "description": "Monitor resources in the workspace dashboard", - "path": "./admin/templates/extending-templates/resource-monitoring.md" - }, - { - "title": "Resource Ordering", - "description": "Design the UI of workspaces", - "path": "./admin/templates/extending-templates/resource-ordering.md" - }, - { - "title": "Resource Persistence", - "description": "Control resource persistence", - "path": "./admin/templates/extending-templates/resource-persistence.md" - }, - { - "title": "Terraform Variables", - "description": "Use variables to manage template state", - "path": "./admin/templates/extending-templates/variables.md" - }, - { - "title": "Terraform Modules", - "description": "Reuse terraform code across templates", - "path": "./admin/templates/extending-templates/modules.md" - }, - { - "title": "Web IDEs and Coder Apps", - "description": "Add and configure Web IDEs in your templates as coder apps", - "path": "./admin/templates/extending-templates/web-ides.md" - }, - { - "title": "Pre-install JetBrains IDEs", - "description": "Pre-install JetBrains IDEs in a template for faster IDE startup", - "path": "./admin/templates/extending-templates/jetbrains-preinstall.md" - }, - { - "title": "JetBrains IDEs in Air-Gapped Deployments", - "description": "Configure JetBrains IDEs for air-gapped deployments", - "path": "./admin/templates/extending-templates/jetbrains-airgapped.md" - }, - { - "title": "Docker in Workspaces", - "description": "Use Docker in your workspaces", - "path": "./admin/templates/extending-templates/docker-in-workspaces.md" - }, - { - "title": "Workspace Tags", - "description": "Control provisioning using Workspace Tags and Parameters", - "path": "./admin/templates/extending-templates/workspace-tags.md" - }, - { - "title": "Provider Authentication", - "description": "Authenticate with provider APIs to provision workspaces", - "path": "./admin/templates/extending-templates/provider-authentication.md" - }, - { - "title": "Configure a template for dev containers", - "description": "How to use configure your template for dev containers", - "path": "./admin/templates/extending-templates/devcontainers.md" - }, - { - "title": "Process Logging", - "description": "Log workspace processes", - "path": "./admin/templates/extending-templates/process-logging.md", - "state": ["premium"] - } - ] - }, - { - "title": "Open in Coder", - "description": "Open workspaces in Coder", - "path": "./admin/templates/open-in-coder.md" - }, - { - "title": "Permissions \u0026 Policies", - "description": "Learn how to create templates with Terraform", - "path": "./admin/templates/template-permissions.md", - "state": ["premium"] - }, - { - "title": "Troubleshooting Templates", - "description": "Learn how to troubleshoot template issues", - "path": "./admin/templates/troubleshooting.md" - } - ] - }, - { - "title": "External Provisioners", - "description": "Learn how to run external provisioners with Coder", - "path": "./admin/provisioners/index.md", - "icon_path": "./images/icons/key.svg", - "state": ["premium"], - "children": [ - { - "title": "Manage Provisioner Jobs", - "description": "Learn how to run external provisioners with Coder", - "path": "./admin/provisioners/manage-provisioner-jobs.md", - "state": ["premium"] - } - ] - }, - { - "title": "External Authentication", - "description": "Learn how to configure external authentication", - "path": "./admin/external-auth/index.md", - "icon_path": "./images/icons/plug.svg" - }, - { - "title": "Integrations", - "description": "Use integrations to extend Coder", - "path": "./admin/integrations/index.md", - "icon_path": "./images/icons/puzzle.svg", - "children": [ - { - "title": "Prometheus", - "description": "Collect deployment metrics with Prometheus", - "path": "./admin/integrations/prometheus.md" - }, - { - "title": "Kubernetes Logging", - "description": "Stream K8s event logs on workspace startup", - "path": "./admin/integrations/kubernetes-logs.md" - }, - { - "title": "Additional Kubernetes Clusters", - "description": "Deploy workspaces on additional Kubernetes clusters", - "path": "./admin/integrations/multiple-kube-clusters.md" - }, - { - "title": "JFrog Artifactory", - "description": "Integrate Coder with JFrog Artifactory", - "path": "./admin/integrations/jfrog-artifactory.md" - }, - { - "title": "JFrog Xray", - "description": "Integrate Coder with JFrog Xray", - "path": "./admin/integrations/jfrog-xray.md" - }, - { - "title": "Island Secure Browser", - "description": "Integrate Coder with Island's Secure Browser", - "path": "./admin/integrations/island.md" - }, - { - "title": "DX PlatformX", - "description": "Integrate Coder with DX PlatformX", - "path": "./admin/integrations/platformx.md" - }, - { - "title": "DX", - "description": "Tag Coder Users with DX", - "path": "./admin/integrations/dx-data-cloud.md" - }, - { - "title": "Hashicorp Vault", - "description": "Integrate Coder with Hashicorp Vault", - "path": "./admin/integrations/vault.md" - } - ] - }, - { - "title": "Networking", - "description": "Understand Coder's networking layer", - "path": "./admin/networking/index.md", - "icon_path": "./images/icons/networking.svg", - "children": [ - { - "title": "Port Forwarding", - "description": "Learn how to forward ports in Coder", - "path": "./admin/networking/port-forwarding.md" - }, - { - "title": "STUN and NAT", - "description": "Learn how to forward ports in Coder", - "path": "./admin/networking/stun.md" - }, - { - "title": "Workspace Proxies", - "description": "Run geo distributed workspace proxies", - "path": "./admin/networking/workspace-proxies.md", - "state": ["premium"] - }, - { - "title": "High Availability", - "description": "Learn how to configure Coder for High Availability", - "path": "./admin/networking/high-availability.md", - "state": ["premium"] - }, - { - "title": "Troubleshooting", - "description": "Troubleshoot networking issues in Coder", - "path": "./admin/networking/troubleshooting.md" - } - ] - }, - { - "title": "Monitoring", - "description": "Configure security policy and audit your deployment", - "path": "./admin/monitoring/index.md", - "icon_path": "./images/icons/speed.svg", - "children": [ - { - "title": "Logs", - "description": "Learn about Coder's logs", - "path": "./admin/monitoring/logs.md" - }, - { - "title": "Metrics", - "description": "Learn about Coder's logs", - "path": "./admin/monitoring/metrics.md" - }, - { - "title": "Health Check", - "description": "Learn about Coder's automated health checks", - "path": "./admin/monitoring/health-check.md" - }, - { - "title": "Connection Logs", - "description": "Monitor connections to workspaces", - "path": "./admin/monitoring/connection-logs.md", - "state": ["premium"] - }, - { - "title": "Notifications", - "description": "Configure notifications for your deployment", - "path": "./admin/monitoring/notifications/index.md", - "children": [ - { - "title": "Slack Notifications", - "description": "Learn how to setup Slack notifications", - "path": "./admin/monitoring/notifications/slack.md" - }, - { - "title": "Microsoft Teams Notifications", - "description": "Learn how to setup Microsoft Teams notifications", - "path": "./admin/monitoring/notifications/teams.md" - } - ] - } - ] - }, - { - "title": "Security", - "description": "Configure security policy and audit your deployment", - "path": "./admin/security/index.md", - "icon_path": "./images/icons/lock.svg", - "children": [ - { - "title": "Audit Logs", - "description": "Audit actions taken inside Coder", - "path": "./admin/security/audit-logs.md", - "state": ["premium"] - }, - { - "title": "Secrets", - "description": "Use sensitive variables in your workspaces", - "path": "./admin/security/secrets.md" - }, - { - "title": "Database Encryption", - "description": "Encrypt the database to prevent unauthorized access", - "path": "./admin/security/database-encryption.md", - "state": ["premium"] - } - ] - }, - { - "title": "Licensing", - "description": "Configure licensing for your deployment", - "path": "./admin/licensing/index.md", - "icon_path": "./images/icons/licensing.svg" - } - ] - }, - { - "title": "Run AI Coding Agents in Coder", - "description": "Learn how to run and integrate agentic AI coding agents like GPT-Code, OpenDevin, or SWE-Agent in Coder workspaces to boost developer productivity.", - "path": "./ai-coder/index.md", - "icon_path": "./images/icons/wand.svg", - "children": [ - { - "title": "Best Practices", - "description": "Best Practices running Coding Agents", - "path": "./ai-coder/best-practices.md" - }, - { - "title": "In the IDE", - "description": "Run IDE agents with Coder", - "path": "./ai-coder/ide-agents.md" - }, - { - "title": "Coder Tasks", - "description": "Run Coding Agents on your Own Infrastructure", - "path": "./ai-coder/tasks.md", - "state": ["beta"], - "children": [ - { - "title": "Custom Agents", - "description": "Run custom agents with Coder Tasks", - "path": "./ai-coder/custom-agents.md", - "state": ["beta"] - }, - { - "title": "Security \u0026 Boundaries", - "description": "Learn about security and boundaries when running AI coding agents in Coder", - "path": "./ai-coder/security.md" - } - ] - }, - { - "title": "MCP Server", - "description": "Connect to agents Coder with a MCP server", - "path": "./ai-coder/mcp-server.md", - "state": ["beta"] - } - ] - }, - { - "title": "Tutorials", - "description": "Coder knowledgebase for administrating your deployment", - "path": "./tutorials/index.md", - "icon_path": "./images/icons/generic.svg", - "children": [ - { - "title": "Quickstart", - "description": "Learn how to install and run Coder quickly", - "path": "./tutorials/quickstart.md" - }, - { - "title": "Write a Template from Scratch", - "description": "Learn how to author Coder templates", - "path": "./tutorials/template-from-scratch.md" - }, - { - "title": "Using an External Database", - "description": "Use Coder with an external database", - "path": "./tutorials/external-database.md" - }, - { - "title": "Image Management", - "description": "Learn about image management with Coder", - "path": "./admin/templates/managing-templates/image-management.md" - }, - { - "title": "Configuring Okta", - "description": "Custom claims/scopes with Okta for group/role sync", - "path": "./tutorials/configuring-okta.md" - }, - { - "title": "Google to AWS Federation", - "description": "Federating a Google Cloud service account to AWS", - "path": "./tutorials/gcp-to-aws.md" - }, - { - "title": "JFrog Artifactory Integration", - "description": "Integrate Coder with JFrog Artifactory", - "path": "./admin/integrations/jfrog-artifactory.md" - }, - { - "title": "Istio Integration", - "description": "Integrate Coder with Istio", - "path": "./admin/integrations/istio.md" - }, - { - "title": "Island Secure Browser Integration", - "description": "Integrate Coder with Island's Secure Browser", - "path": "./admin/integrations/island.md" - }, - { - "title": "Template ImagePullSecrets", - "description": "Creating ImagePullSecrets for private registries", - "path": "./tutorials/image-pull-secret.md" - }, - { - "title": "Postgres SSL", - "description": "Configure Coder to connect to Postgres over SSL", - "path": "./tutorials/postgres-ssl.md" - }, - { - "title": "Azure Federation", - "description": "Federating Coder to Azure", - "path": "./tutorials/azure-federation.md" - }, - { - "title": "Deploy Coder on Azure with an Application Gateway", - "description": "Deploy Coder on Azure with an Application Gateway", - "path": "./install/kubernetes/kubernetes-azure-app-gateway.md" - }, - { - "title": "Scanning Workspaces with JFrog Xray", - "description": "Integrate Coder with JFrog Xray", - "path": "./admin/integrations/jfrog-xray.md" - }, - { - "title": "Cloning Git Repositories", - "description": "Learn how to clone Git repositories in Coder", - "path": "./tutorials/cloning-git-repositories.md" - }, - { - "title": "Test Templates Through CI/CD", - "description": "Learn how to test and publish Coder templates in a CI/CD pipeline", - "path": "./tutorials/testing-templates.md" - }, - { - "title": "Use Apache as a Reverse Proxy", - "description": "Learn how to use Apache as a reverse proxy", - "path": "./tutorials/reverse-proxy-apache.md" - }, - { - "title": "Use Caddy as a Reverse Proxy", - "description": "Learn how to use Caddy as a reverse proxy", - "path": "./tutorials/reverse-proxy-caddy.md" - }, - { - "title": "Use NGINX as a Reverse Proxy", - "description": "Learn how to use NGINX as a reverse proxy", - "path": "./tutorials/reverse-proxy-nginx.md" - }, - { - "title": "Pre-install JetBrains IDEs in Workspaces", - "description": "Pre-install JetBrains IDEs in workspaces", - "path": "./admin/templates/extending-templates/jetbrains-preinstall.md" - }, - { - "title": "Use JetBrains IDEs in Air-Gapped Deployments", - "description": "Configure JetBrains IDEs for air-gapped deployments", - "path": "./admin/templates/extending-templates/jetbrains-airgapped.md" - }, - { - "title": "FAQs", - "description": "Miscellaneous FAQs from our community", - "path": "./tutorials/faqs.md" - }, - { - "title": "Best practices", - "description": "Guides to help you make the most of your Coder experience", - "path": "./tutorials/best-practices/index.md", - "children": [ - { - "title": "Organizations - best practices", - "description": "How to make the best use of Coder Organizations", - "path": "./tutorials/best-practices/organizations.md" - }, - { - "title": "Scale Coder", - "description": "How to prepare a Coder deployment for scale", - "path": "./tutorials/best-practices/scale-coder.md" - }, - { - "title": "Security - best practices", - "description": "Make your Coder deployment more secure", - "path": "./tutorials/best-practices/security-best-practices.md" - }, - { - "title": "Speed up your workspaces", - "description": "Speed up your Coder templates and workspaces", - "path": "./tutorials/best-practices/speed-up-templates.md" - } - ] - } - ] - }, - { - "title": "Reference", - "description": "Reference", - "path": "./reference/index.md", - "icon_path": "./images/icons/notes.svg", - "children": [ - { - "title": "REST API", - "description": "Learn how to use Coderd API", - "path": "./reference/api/index.md", - "icon_path": "./images/icons/api.svg", - "children": [ - { - "title": "General", - "path": "./reference/api/general.md" - }, - { - "title": "Agents", - "path": "./reference/api/agents.md" - }, - { - "title": "Applications", - "path": "./reference/api/applications.md" - }, - { - "title": "Audit", - "path": "./reference/api/audit.md" - }, - { - "title": "Authentication", - "path": "./reference/api/authentication.md" - }, - { - "title": "Authorization", - "path": "./reference/api/authorization.md" - }, - { - "title": "Builds", - "path": "./reference/api/builds.md" - }, - { - "title": "Debug", - "path": "./reference/api/debug.md" - }, - { - "title": "Enterprise", - "path": "./reference/api/enterprise.md" - }, - { - "title": "Files", - "path": "./reference/api/files.md" - }, - { - "title": "Git", - "path": "./reference/api/git.md" - }, - { - "title": "Insights", - "path": "./reference/api/insights.md" - }, - { - "title": "Members", - "path": "./reference/api/members.md" - }, - { - "title": "Organizations", - "path": "./reference/api/organizations.md" - }, - { - "title": "PortSharing", - "path": "./reference/api/portsharing.md" - }, - { - "title": "Schemas", - "path": "./reference/api/schemas.md" - }, - { - "title": "Templates", - "path": "./reference/api/templates.md" - }, - { - "title": "Users", - "path": "./reference/api/users.md" - }, - { - "title": "WorkspaceProxies", - "path": "./reference/api/workspaceproxies.md" - }, - { - "title": "Workspaces", - "path": "./reference/api/workspaces.md" - } - ] - }, - { - "title": "Command Line", - "description": "Learn how to use Coder CLI", - "path": "./reference/cli/index.md", - "icon_path": "./images/icons/terminal.svg", - "children": [ - { - "title": "autoupdate", - "description": "Toggle auto-update policy for a workspace", - "path": "reference/cli/autoupdate.md" - }, - { - "title": "coder", - "path": "reference/cli/index.md" - }, - { - "title": "completion", - "description": "Install or update shell completion scripts for the detected or chosen shell.", - "path": "reference/cli/completion.md" - }, - { - "title": "config-ssh", - "description": "Add an SSH Host entry for your workspaces \"ssh workspace.coder\"", - "path": "reference/cli/config-ssh.md" - }, - { - "title": "create", - "description": "Create a workspace", - "path": "reference/cli/create.md" - }, - { - "title": "delete", - "description": "Delete a workspace", - "path": "reference/cli/delete.md" - }, - { - "title": "dotfiles", - "description": "Personalize your workspace by applying a canonical dotfiles repository", - "path": "reference/cli/dotfiles.md" - }, - { - "title": "external-auth", - "description": "Manage external authentication", - "path": "reference/cli/external-auth.md" - }, - { - "title": "external-auth access-token", - "description": "Print auth for an external provider", - "path": "reference/cli/external-auth_access-token.md" - }, - { - "title": "favorite", - "description": "Add a workspace to your favorites", - "path": "reference/cli/favorite.md" - }, - { - "title": "features", - "description": "List Enterprise features", - "path": "reference/cli/features.md" - }, - { - "title": "features list", - "path": "reference/cli/features_list.md" - }, - { - "title": "groups", - "description": "Manage groups", - "path": "reference/cli/groups.md" - }, - { - "title": "groups create", - "description": "Create a user group", - "path": "reference/cli/groups_create.md" - }, - { - "title": "groups delete", - "description": "Delete a user group", - "path": "reference/cli/groups_delete.md" - }, - { - "title": "groups edit", - "description": "Edit a user group", - "path": "reference/cli/groups_edit.md" - }, - { - "title": "groups list", - "description": "List user groups", - "path": "reference/cli/groups_list.md" - }, - { - "title": "licenses", - "description": "Add, delete, and list licenses", - "path": "reference/cli/licenses.md" - }, - { - "title": "licenses add", - "description": "Add license to Coder deployment", - "path": "reference/cli/licenses_add.md" - }, - { - "title": "licenses delete", - "description": "Delete license by ID", - "path": "reference/cli/licenses_delete.md" - }, - { - "title": "licenses list", - "description": "List licenses (including expired)", - "path": "reference/cli/licenses_list.md" - }, - { - "title": "list", - "description": "List workspaces", - "path": "reference/cli/list.md" - }, - { - "title": "login", - "description": "Authenticate with Coder deployment", - "path": "reference/cli/login.md" - }, - { - "title": "logout", - "description": "Unauthenticate your local session", - "path": "reference/cli/logout.md" - }, - { - "title": "netcheck", - "description": "Print network debug information for DERP and STUN", - "path": "reference/cli/netcheck.md" - }, - { - "title": "notifications", - "description": "Manage Coder notifications", - "path": "reference/cli/notifications.md" - }, - { - "title": "notifications pause", - "description": "Pause notifications", - "path": "reference/cli/notifications_pause.md" - }, - { - "title": "notifications resume", - "description": "Resume notifications", - "path": "reference/cli/notifications_resume.md" - }, - { - "title": "notifications test", - "description": "Send a test notification", - "path": "reference/cli/notifications_test.md" - }, - { - "title": "open", - "description": "Open a workspace", - "path": "reference/cli/open.md" - }, - { - "title": "open app", - "description": "Open a workspace application.", - "path": "reference/cli/open_app.md" - }, - { - "title": "open vscode", - "description": "Open a workspace in VS Code Desktop", - "path": "reference/cli/open_vscode.md" - }, - { - "title": "organizations", - "description": "Organization related commands", - "path": "reference/cli/organizations.md" - }, - { - "title": "organizations create", - "description": "Create a new organization.", - "path": "reference/cli/organizations_create.md" - }, - { - "title": "organizations members", - "description": "Manage organization members", - "path": "reference/cli/organizations_members.md" - }, - { - "title": "organizations members add", - "description": "Add a new member to the current organization", - "path": "reference/cli/organizations_members_add.md" - }, - { - "title": "organizations members edit-roles", - "description": "Edit organization member's roles", - "path": "reference/cli/organizations_members_edit-roles.md" - }, - { - "title": "organizations members list", - "description": "List all organization members", - "path": "reference/cli/organizations_members_list.md" - }, - { - "title": "organizations members remove", - "description": "Remove a new member to the current organization", - "path": "reference/cli/organizations_members_remove.md" - }, - { - "title": "organizations roles", - "description": "Manage organization roles.", - "path": "reference/cli/organizations_roles.md" - }, - { - "title": "organizations roles create", - "description": "Create a new organization custom role", - "path": "reference/cli/organizations_roles_create.md" - }, - { - "title": "organizations roles show", - "description": "Show role(s)", - "path": "reference/cli/organizations_roles_show.md" - }, - { - "title": "organizations roles update", - "description": "Update an organization custom role", - "path": "reference/cli/organizations_roles_update.md" - }, - { - "title": "organizations settings", - "description": "Manage organization settings.", - "path": "reference/cli/organizations_settings.md" - }, - { - "title": "organizations settings set", - "description": "Update specified organization setting.", - "path": "reference/cli/organizations_settings_set.md" - }, - { - "title": "organizations settings set group-sync", - "description": "Group sync settings to sync groups from an IdP.", - "path": "reference/cli/organizations_settings_set_group-sync.md" - }, - { - "title": "organizations settings set organization-sync", - "description": "Organization sync settings to sync organization memberships from an IdP.", - "path": "reference/cli/organizations_settings_set_organization-sync.md" - }, - { - "title": "organizations settings set role-sync", - "description": "Role sync settings to sync organization roles from an IdP.", - "path": "reference/cli/organizations_settings_set_role-sync.md" - }, - { - "title": "organizations settings show", - "description": "Outputs specified organization setting.", - "path": "reference/cli/organizations_settings_show.md" - }, - { - "title": "organizations settings show group-sync", - "description": "Group sync settings to sync groups from an IdP.", - "path": "reference/cli/organizations_settings_show_group-sync.md" - }, - { - "title": "organizations settings show organization-sync", - "description": "Organization sync settings to sync organization memberships from an IdP.", - "path": "reference/cli/organizations_settings_show_organization-sync.md" - }, - { - "title": "organizations settings show role-sync", - "description": "Role sync settings to sync organization roles from an IdP.", - "path": "reference/cli/organizations_settings_show_role-sync.md" - }, - { - "title": "organizations show", - "description": "Show the organization. Using \"selected\" will show the selected organization from the \"--org\" flag. Using \"me\" will show all organizations you are a member of.", - "path": "reference/cli/organizations_show.md" - }, - { - "title": "ping", - "description": "Ping a workspace", - "path": "reference/cli/ping.md" - }, - { - "title": "port-forward", - "description": "Forward ports from a workspace to the local machine. For reverse port forwarding, use \"coder ssh -R\".", - "path": "reference/cli/port-forward.md" - }, - { - "title": "prebuilds", - "description": "Manage Coder prebuilds", - "path": "reference/cli/prebuilds.md" - }, - { - "title": "prebuilds pause", - "description": "Pause prebuilds", - "path": "reference/cli/prebuilds_pause.md" - }, - { - "title": "prebuilds resume", - "description": "Resume prebuilds", - "path": "reference/cli/prebuilds_resume.md" - }, - { - "title": "provisioner", - "description": "View and manage provisioner daemons and jobs", - "path": "reference/cli/provisioner.md" - }, - { - "title": "provisioner jobs", - "description": "View and manage provisioner jobs", - "path": "reference/cli/provisioner_jobs.md" - }, - { - "title": "provisioner jobs cancel", - "description": "Cancel a provisioner job", - "path": "reference/cli/provisioner_jobs_cancel.md" - }, - { - "title": "provisioner jobs list", - "description": "List provisioner jobs", - "path": "reference/cli/provisioner_jobs_list.md" - }, - { - "title": "provisioner keys", - "description": "Manage provisioner keys", - "path": "reference/cli/provisioner_keys.md" - }, - { - "title": "provisioner keys create", - "description": "Create a new provisioner key", - "path": "reference/cli/provisioner_keys_create.md" - }, - { - "title": "provisioner keys delete", - "description": "Delete a provisioner key", - "path": "reference/cli/provisioner_keys_delete.md" - }, - { - "title": "provisioner keys list", - "description": "List provisioner keys in an organization", - "path": "reference/cli/provisioner_keys_list.md" - }, - { - "title": "provisioner list", - "description": "List provisioner daemons in an organization", - "path": "reference/cli/provisioner_list.md" - }, - { - "title": "provisioner start", - "description": "Run a provisioner daemon", - "path": "reference/cli/provisioner_start.md" - }, - { - "title": "publickey", - "description": "Output your Coder public key used for Git operations", - "path": "reference/cli/publickey.md" - }, - { - "title": "rename", - "description": "Rename a workspace", - "path": "reference/cli/rename.md" - }, - { - "title": "reset-password", - "description": "Directly connect to the database to reset a user's password", - "path": "reference/cli/reset-password.md" - }, - { - "title": "restart", - "description": "Restart a workspace", - "path": "reference/cli/restart.md" - }, - { - "title": "schedule", - "description": "Schedule automated start and stop times for workspaces", - "path": "reference/cli/schedule.md" - }, - { - "title": "schedule extend", - "description": "Extend the stop time of a currently running workspace instance.", - "path": "reference/cli/schedule_extend.md" - }, - { - "title": "schedule show", - "description": "Show workspace schedules", - "path": "reference/cli/schedule_show.md" - }, - { - "title": "schedule start", - "description": "Edit workspace start schedule", - "path": "reference/cli/schedule_start.md" - }, - { - "title": "schedule stop", - "description": "Edit workspace stop schedule", - "path": "reference/cli/schedule_stop.md" - }, - { - "title": "server", - "description": "Start a Coder server", - "path": "reference/cli/server.md" - }, - { - "title": "server create-admin-user", - "description": "Create a new admin user with the given username, email and password and adds it to every organization.", - "path": "reference/cli/server_create-admin-user.md" - }, - { - "title": "server dbcrypt", - "description": "Manage database encryption.", - "path": "reference/cli/server_dbcrypt.md" - }, - { - "title": "server dbcrypt decrypt", - "description": "Decrypt a previously encrypted database.", - "path": "reference/cli/server_dbcrypt_decrypt.md" - }, - { - "title": "server dbcrypt delete", - "description": "Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.", - "path": "reference/cli/server_dbcrypt_delete.md" - }, - { - "title": "server dbcrypt rotate", - "description": "Rotate database encryption keys.", - "path": "reference/cli/server_dbcrypt_rotate.md" - }, - { - "title": "server postgres-builtin-serve", - "description": "Run the built-in PostgreSQL deployment.", - "path": "reference/cli/server_postgres-builtin-serve.md" - }, - { - "title": "server postgres-builtin-url", - "description": "Output the connection URL for the built-in PostgreSQL deployment.", - "path": "reference/cli/server_postgres-builtin-url.md" - }, - { - "title": "show", - "description": "Display details of a workspace's resources and agents", - "path": "reference/cli/show.md" - }, - { - "title": "speedtest", - "description": "Run upload and download tests from your machine to a workspace", - "path": "reference/cli/speedtest.md" - }, - { - "title": "ssh", - "description": "Start a shell into a workspace or run a command", - "path": "reference/cli/ssh.md" - }, - { - "title": "start", - "description": "Start a workspace", - "path": "reference/cli/start.md" - }, - { - "title": "stat", - "description": "Show resource usage for the current workspace.", - "path": "reference/cli/stat.md" - }, - { - "title": "stat cpu", - "description": "Show CPU usage, in cores.", - "path": "reference/cli/stat_cpu.md" - }, - { - "title": "stat disk", - "description": "Show disk usage, in gigabytes.", - "path": "reference/cli/stat_disk.md" - }, - { - "title": "stat mem", - "description": "Show memory usage, in gigabytes.", - "path": "reference/cli/stat_mem.md" - }, - { - "title": "state", - "description": "Manually manage Terraform state to fix broken workspaces", - "path": "reference/cli/state.md" - }, - { - "title": "state pull", - "description": "Pull a Terraform state file from a workspace.", - "path": "reference/cli/state_pull.md" - }, - { - "title": "state push", - "description": "Push a Terraform state file to a workspace.", - "path": "reference/cli/state_push.md" - }, - { - "title": "stop", - "description": "Stop a workspace", - "path": "reference/cli/stop.md" - }, - { - "title": "support", - "description": "Commands for troubleshooting issues with a Coder deployment.", - "path": "reference/cli/support.md" - }, - { - "title": "support bundle", - "description": "Generate a support bundle to troubleshoot issues connecting to a workspace.", - "path": "reference/cli/support_bundle.md" - }, - { - "title": "templates", - "description": "Manage templates", - "path": "reference/cli/templates.md" - }, - { - "title": "templates archive", - "description": "Archive unused or failed template versions from a given template(s)", - "path": "reference/cli/templates_archive.md" - }, - { - "title": "templates create", - "description": "DEPRECATED: Create a template from the current directory or as specified by flag", - "path": "reference/cli/templates_create.md" - }, - { - "title": "templates delete", - "description": "Delete templates", - "path": "reference/cli/templates_delete.md" - }, - { - "title": "templates edit", - "description": "Edit the metadata of a template by name.", - "path": "reference/cli/templates_edit.md" - }, - { - "title": "templates init", - "description": "Get started with a templated template.", - "path": "reference/cli/templates_init.md" - }, - { - "title": "templates list", - "description": "List all the templates available for the organization", - "path": "reference/cli/templates_list.md" - }, - { - "title": "templates pull", - "description": "Download the active, latest, or specified version of a template to a path.", - "path": "reference/cli/templates_pull.md" - }, - { - "title": "templates push", - "description": "Create or update a template from the current directory or as specified by flag", - "path": "reference/cli/templates_push.md" - }, - { - "title": "templates versions", - "description": "Manage different versions of the specified template", - "path": "reference/cli/templates_versions.md" - }, - { - "title": "templates versions archive", - "description": "Archive a template version(s).", - "path": "reference/cli/templates_versions_archive.md" - }, - { - "title": "templates versions list", - "description": "List all the versions of the specified template", - "path": "reference/cli/templates_versions_list.md" - }, - { - "title": "templates versions promote", - "description": "Promote a template version to active.", - "path": "reference/cli/templates_versions_promote.md" - }, - { - "title": "templates versions unarchive", - "description": "Unarchive a template version(s).", - "path": "reference/cli/templates_versions_unarchive.md" - }, - { - "title": "tokens", - "description": "Manage personal access tokens", - "path": "reference/cli/tokens.md" - }, - { - "title": "tokens create", - "description": "Create a token", - "path": "reference/cli/tokens_create.md" - }, - { - "title": "tokens list", - "description": "List tokens", - "path": "reference/cli/tokens_list.md" - }, - { - "title": "tokens remove", - "description": "Delete a token", - "path": "reference/cli/tokens_remove.md" - }, - { - "title": "unfavorite", - "description": "Remove a workspace from your favorites", - "path": "reference/cli/unfavorite.md" - }, - { - "title": "update", - "description": "Will update and start a given workspace if it is out of date. If the workspace is already running, it will be stopped first.", - "path": "reference/cli/update.md" - }, - { - "title": "users", - "description": "Manage users", - "path": "reference/cli/users.md" - }, - { - "title": "users activate", - "description": "Update a user's status to 'active'. Active users can fully interact with the platform", - "path": "reference/cli/users_activate.md" - }, - { - "title": "users create", - "description": "Create a new user.", - "path": "reference/cli/users_create.md" - }, - { - "title": "users delete", - "description": "Delete a user by username or user_id.", - "path": "reference/cli/users_delete.md" - }, - { - "title": "users edit-roles", - "description": "Edit a user's roles by username or id", - "path": "reference/cli/users_edit-roles.md" - }, - { - "title": "users list", - "description": "Prints the list of users.", - "path": "reference/cli/users_list.md" - }, - { - "title": "users show", - "description": "Show a single user. Use 'me' to indicate the currently authenticated user.", - "path": "reference/cli/users_show.md" - }, - { - "title": "users suspend", - "description": "Update a user's status to 'suspended'. A suspended user cannot log into the platform", - "path": "reference/cli/users_suspend.md" - }, - { - "title": "version", - "description": "Show coder version", - "path": "reference/cli/version.md" - }, - { - "title": "whoami", - "description": "Fetch authenticated user info for Coder deployment", - "path": "reference/cli/whoami.md" - } - ] - }, - { - "title": "Agent API", - "description": "Learn how to use Coder Agent API", - "path": "./reference/agent-api/index.md", - "icon_path": "./images/icons/api.svg", - "children": [ - { - "title": "Debug", - "path": "./reference/agent-api/debug.md" - }, - { - "title": "Schemas", - "path": "./reference/agent-api/schemas.md" - } - ] - } - ] - } - ] -} + "versions": [ + "main" + ], + "routes": [ + { + "title": "About", + "description": "Coder docs", + "path": "./README.md", + "icon_path": "./images/icons/home.svg", + "children": [ + { + "title": "Screenshots", + "description": "View screenshots of the Coder platform", + "path": "./about/screenshots.md" + }, + { + "title": "Quickstart", + "description": "Learn how to install and run Coder quickly", + "path": "./tutorials/quickstart.md" + }, + { + "title": "Support", + "description": "How Coder supports your deployment and you", + "path": "./support/index.md", + "children": [ + { + "title": "Generate a Support Bundle", + "description": "Generate and upload a Support Bundle to Coder Support", + "path": "./support/support-bundle.md" + } + ] + }, + { + "title": "Contributing", + "description": "Learn how to contribute to Coder", + "path": "./about/contributing/CONTRIBUTING.md", + "icon_path": "./images/icons/contributing.svg", + "children": [ + { + "title": "Code of Conduct", + "description": "See the code of conduct for contributing to Coder", + "path": "./about/contributing/CODE_OF_CONDUCT.md", + "icon_path": "./images/icons/circle-dot.svg" + }, + { + "title": "Documentation", + "description": "Our style guide for use when authoring documentation", + "path": "./about/contributing/documentation.md", + "icon_path": "./images/icons/document.svg" + }, + { + "title": "Modules", + "description": "Learn how to contribute modules to Coder", + "path": "./about/contributing/modules.md", + "icon_path": "./images/icons/gear.svg" + }, + { + "title": "Templates", + "description": "Learn how to contribute templates to Coder", + "path": "./about/contributing/templates.md", + "icon_path": "./images/icons/picture.svg" + }, + { + "title": "Backend", + "description": "Our guide for backend development", + "path": "./about/contributing/backend.md", + "icon_path": "./images/icons/gear.svg" + }, + { + "title": "Frontend", + "description": "Our guide for frontend development", + "path": "./about/contributing/frontend.md", + "icon_path": "./images/icons/frontend.svg" + }, + { + "title": "Security", + "description": "Security vulnerability disclosure policy", + "path": "./about/contributing/SECURITY.md", + "icon_path": "./images/icons/lock.svg" + } + ] + } + ] + }, + { + "title": "Install", + "description": "Installing Coder", + "path": "./install/index.md", + "icon_path": "./images/icons/download.svg", + "children": [ + { + "title": "Coder CLI", + "description": "Install the standalone binary", + "path": "./install/cli.md", + "icon_path": "./images/icons/terminal.svg" + }, + { + "title": "Docker", + "description": "Install Coder using Docker", + "path": "./install/docker.md", + "icon_path": "./images/icons/docker.svg" + }, + { + "title": "Kubernetes", + "description": "Install Coder on Kubernetes", + "path": "./install/kubernetes.md", + "icon_path": "./images/icons/kubernetes.svg", + "children": [ + { + "title": "Deploy Coder on Azure with an Application Gateway", + "description": "Deploy Coder on Azure with an Application Gateway", + "path": "./install/kubernetes/kubernetes-azure-app-gateway.md" + } + ] + }, + { + "title": "Rancher", + "description": "Deploy Coder on Rancher", + "path": "./install/rancher.md", + "icon_path": "./images/icons/rancher.svg" + }, + { + "title": "OpenShift", + "description": "Install Coder on OpenShift", + "path": "./install/openshift.md", + "icon_path": "./images/icons/openshift.svg" + }, + { + "title": "Cloud Providers", + "description": "Install Coder on cloud providers", + "path": "./install/cloud/index.md", + "icon_path": "./images/icons/cloud.svg", + "children": [ + { + "title": "AWS EC2", + "description": "Install Coder on AWS EC2", + "path": "./install/cloud/ec2.md" + }, + { + "title": "GCP Compute Engine", + "description": "Install Coder on GCP Compute Engine", + "path": "./install/cloud/compute-engine.md" + }, + { + "title": "Azure VM", + "description": "Install Coder on an Azure VM", + "path": "./install/cloud/azure-vm.md" + } + ] + }, + { + "title": "Offline Deployments", + "description": "Run Coder in offline / air-gapped environments", + "path": "./install/offline.md", + "icon_path": "./images/icons/lan.svg" + }, + { + "title": "Unofficial Install Methods", + "description": "Other installation methods", + "path": "./install/other/index.md", + "icon_path": "./images/icons/generic.svg" + }, + { + "title": "Upgrading", + "description": "Learn how to upgrade Coder", + "path": "./install/upgrade.md", + "icon_path": "./images/icons/upgrade.svg" + }, + { + "title": "Uninstall", + "description": "Learn how to uninstall Coder", + "path": "./install/uninstall.md", + "icon_path": "./images/icons/trash.svg" + }, + { + "title": "Releases", + "description": "Learn about the Coder release channels and schedule", + "path": "./install/releases/index.md", + "icon_path": "./images/icons/star.svg", + "children": [ + { + "title": "Feature stages", + "description": "Information about pre-GA stages.", + "path": "./install/releases/feature-stages.md" + } + ] + } + ] + }, + { + "title": "User Guides", + "description": "Guides for end-users of Coder", + "path": "./user-guides/index.md", + "icon_path": "./images/icons/users.svg", + "children": [ + { + "title": "Access Workspaces", + "description": "Connect to your Coder workspaces", + "path": "./user-guides/workspace-access/index.md", + "icon_path": "./images/icons/access.svg", + "children": [ + { + "title": "Visual Studio Code", + "description": "Use VSCode with Coder in the desktop or browser", + "path": "./user-guides/workspace-access/vscode.md" + }, + { + "title": "JetBrains IDEs", + "description": "Use JetBrains IDEs with Coder", + "path": "./user-guides/workspace-access/jetbrains/index.md", + "children": [ + { + "title": "JetBrains Fleet", + "description": "Connect JetBrains Fleet to a Coder workspace", + "path": "./user-guides/workspace-access/jetbrains/fleet.md" + }, + { + "title": "JetBrains Gateway", + "description": "Use JetBrains Gateway to connect to Coder workspaces", + "path": "./user-guides/workspace-access/jetbrains/gateway.md" + }, + { + "title": "JetBrains Toolbox", + "description": "Access Coder workspaces from JetBrains Toolbox", + "path": "./user-guides/workspace-access/jetbrains/toolbox.md", + "state": [ + "beta" + ] + } + ] + }, + { + "title": "Remote Desktop", + "description": "Use RDP in Coder", + "path": "./user-guides/workspace-access/remote-desktops.md" + }, + { + "title": "Emacs TRAMP", + "description": "Use Emacs TRAMP in Coder", + "path": "./user-guides/workspace-access/emacs-tramp.md" + }, + { + "title": "Port Forwarding", + "description": "Access ports on your workspace", + "path": "./user-guides/workspace-access/port-forwarding.md" + }, + { + "title": "Filebrowser", + "description": "Access your workspace files", + "path": "./user-guides/workspace-access/filebrowser.md" + }, + { + "title": "Web IDEs and Coder Apps", + "description": "Access your workspace with IDEs in the browser", + "path": "./user-guides/workspace-access/web-ides.md" + }, + { + "title": "Zed", + "description": "Access your workspace with Zed", + "path": "./user-guides/workspace-access/zed.md" + }, + { + "title": "Cursor", + "description": "Access your workspace with Cursor", + "path": "./user-guides/workspace-access/cursor.md" + }, + { + "title": "Windsurf", + "description": "Access your workspace with Windsurf", + "path": "./user-guides/workspace-access/windsurf.md" + } + ] + }, + { + "title": "Coder Desktop", + "description": "Transform remote workspaces into seamless local development environments with no port forwarding required", + "path": "./user-guides/desktop/index.md", + "icon_path": "./images/icons/computer-code.svg", + "children": [ + { + "title": "Coder Desktop connect and sync", + "description": "Use Coder Desktop to manage your workspace code and files locally", + "path": "./user-guides/desktop/desktop-connect-sync.md" + } + ] + }, + { + "title": "Workspace Management", + "description": "Manage workspaces", + "path": "./user-guides/workspace-management.md", + "icon_path": "./images/icons/generic.svg" + }, + { + "title": "Workspace Scheduling", + "description": "Cost control with workspace schedules", + "path": "./user-guides/workspace-scheduling.md", + "icon_path": "./images/icons/stopwatch.svg" + }, + { + "title": "Workspace Lifecycle", + "description": "A guide to the workspace lifecycle, from creation and status through stopping and deletion.", + "path": "./user-guides/workspace-lifecycle.md", + "icon_path": "./images/icons/circle-dot.svg" + }, + { + "title": "Dev Containers Integration", + "description": "Run containerized development environments in your Coder workspace using the dev containers specification.", + "path": "./user-guides/devcontainers/index.md", + "icon_path": "./images/icons/container.svg", + "children": [ + { + "title": "Working with dev containers", + "description": "Access dev containers via SSH, your IDE, or web terminal.", + "path": "./user-guides/devcontainers/working-with-dev-containers.md" + }, + { + "title": "Troubleshooting dev containers", + "description": "Diagnose and resolve common issues with dev containers in your Coder workspace.", + "path": "./user-guides/devcontainers/troubleshooting-dev-containers.md" + } + ] + }, + { + "title": "Dotfiles", + "description": "Personalize your environment with dotfiles", + "path": "./user-guides/workspace-dotfiles.md", + "icon_path": "./images/icons/art-pad.svg" + } + ] + }, + { + "title": "Administration", + "description": "Guides for template and deployment administrators", + "path": "./admin/index.md", + "icon_path": "./images/icons/wrench.svg", + "children": [ + { + "title": "Setup", + "description": "Configure user access to your control plane.", + "path": "./admin/setup/index.md", + "icon_path": "./images/icons/toggle_on.svg", + "children": [ + { + "title": "Appearance", + "description": "Learn how to configure the appearance of Coder", + "path": "./admin/setup/appearance.md", + "state": [ + "premium" + ] + }, + { + "title": "Telemetry", + "description": "Learn what usage telemetry Coder collects", + "path": "./admin/setup/telemetry.md" + } + ] + }, + { + "title": "Infrastructure", + "description": "How to integrate Coder with your organization's compute", + "path": "./admin/infrastructure/index.md", + "icon_path": "./images/icons/container.svg", + "children": [ + { + "title": "Architecture", + "description": "Learn about Coder's architecture", + "path": "./admin/infrastructure/architecture.md" + }, + { + "title": "Validated Architectures", + "description": "Architectures for large Coder deployments", + "path": "./admin/infrastructure/validated-architectures/index.md", + "children": [ + { + "title": "Up to 1,000 Users", + "description": "Hardware specifications and architecture guidance for Coder deployments that support up to 1,000 users", + "path": "./admin/infrastructure/validated-architectures/1k-users.md" + }, + { + "title": "Up to 2,000 Users", + "description": "Hardware specifications and architecture guidance for Coder deployments that support up to 2,000 users", + "path": "./admin/infrastructure/validated-architectures/2k-users.md" + }, + { + "title": "Up to 3,000 Users", + "description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 3,000 users", + "path": "./admin/infrastructure/validated-architectures/3k-users.md" + } + ] + }, + { + "title": "Scale Testing", + "description": "Ensure your deployment can handle your organization's needs", + "path": "./admin/infrastructure/scale-testing.md" + }, + { + "title": "Scaling Utilities", + "description": "Tools to help you scale your deployment", + "path": "./admin/infrastructure/scale-utility.md" + }, + { + "title": "Scaling best practices", + "description": "How to prepare a Coder deployment for scale", + "path": "./tutorials/best-practices/scale-coder.md" + } + ] + }, + { + "title": "Users", + "description": "Learn how to manage and audit users", + "path": "./admin/users/index.md", + "icon_path": "./images/icons/users.svg", + "children": [ + { + "title": "OIDC Authentication", + "description": "Configure OpenID Connect authentication with identity providers like Okta or Active Directory", + "path": "./admin/users/oidc-auth/index.md", + "children": [ + { + "title": "Configure OIDC refresh tokens", + "description": "How to configure OIDC refresh tokens", + "path": "./admin/users/oidc-auth/refresh-tokens.md" + } + ] + }, + { + "title": "GitHub Authentication", + "description": "Set up authentication through GitHub OAuth to enable secure user login and sign-up", + "path": "./admin/users/github-auth.md" + }, + { + "title": "Password Authentication", + "description": "Manage username/password authentication settings and user password reset workflows", + "path": "./admin/users/password-auth.md" + }, + { + "title": "Headless Authentication", + "description": "Create and manage headless service accounts for automated systems and API integrations", + "path": "./admin/users/headless-auth.md" + }, + { + "title": "Groups \u0026 Roles", + "description": "Manage access control with user groups and role-based permissions for Coder resources", + "path": "./admin/users/groups-roles.md", + "state": [ + "premium" + ] + }, + { + "title": "IdP Sync", + "description": "Synchronize user groups, roles, and organizations from your identity provider to Coder", + "path": "./admin/users/idp-sync.md", + "state": [ + "premium" + ] + }, + { + "title": "Organizations", + "description": "Segment and isolate resources by creating separate organizations for different teams or projects", + "path": "./admin/users/organizations.md", + "state": [ + "premium" + ] + }, + { + "title": "Quotas", + "description": "Control resource usage by implementing workspace budgets and credit-based cost management", + "path": "./admin/users/quotas.md", + "state": [ + "premium" + ] + }, + { + "title": "Sessions \u0026 API Tokens", + "description": "Manage authentication tokens for API access and configure session duration policies", + "path": "./admin/users/sessions-tokens.md" + } + ] + }, + { + "title": "Templates", + "description": "Learn how to author and maintain Coder templates", + "path": "./admin/templates/index.md", + "icon_path": "./images/icons/picture.svg", + "children": [ + { + "title": "Creating Templates", + "description": "Learn how to create templates with Terraform", + "path": "./admin/templates/creating-templates.md" + }, + { + "title": "Managing Templates", + "description": "Learn how to manage templates and best practices", + "path": "./admin/templates/managing-templates/index.md", + "children": [ + { + "title": "Image Management", + "description": "Learn about template image management", + "path": "./admin/templates/managing-templates/image-management.md" + }, + { + "title": "Change Management", + "description": "Learn about template change management and versioning", + "path": "./admin/templates/managing-templates/change-management.md" + }, + { + "title": "Dev containers", + "description": "Learn about using development containers in templates", + "path": "./admin/templates/managing-templates/devcontainers/index.md", + "children": [ + { + "title": "Add a dev container template", + "description": "How to add a dev container template to Coder", + "path": "./admin/templates/managing-templates/devcontainers/add-devcontainer.md" + }, + { + "title": "Dev container security and caching", + "description": "Configure dev container authentication and caching", + "path": "./admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md" + }, + { + "title": "Dev container releases and known issues", + "description": "Dev container releases and known issues", + "path": "./admin/templates/managing-templates/devcontainers/devcontainer-releases-known-issues.md" + } + ] + }, + { + "title": "Template Dependencies", + "description": "Learn how to manage template dependencies", + "path": "./admin/templates/managing-templates/dependencies.md" + }, + { + "title": "Workspace Scheduling", + "description": "Learn how to control how workspaces are started and stopped", + "path": "./admin/templates/managing-templates/schedule.md" + } + ] + }, + { + "title": "Extending Templates", + "description": "Learn best practices in extending templates", + "path": "./admin/templates/extending-templates/index.md", + "children": [ + { + "title": "Agent Metadata", + "description": "Retrieve real-time stats from the workspace agent", + "path": "./admin/templates/extending-templates/agent-metadata.md" + }, + { + "title": "Build Parameters", + "description": "Use parameters to customize workspaces at build", + "path": "./admin/templates/extending-templates/parameters.md" + }, + { + "title": "Dynamic Parameters", + "description": "Conditional, identity-aware parameter syntax for advanced users.", + "path": "./admin/templates/extending-templates/dynamic-parameters.md", + "state": [ + "beta" + ] + }, + { + "title": "Prebuilt workspaces", + "description": "Pre-provision a ready-to-deploy workspace with a defined set of parameters", + "path": "./admin/templates/extending-templates/prebuilt-workspaces.md", + "state": [ + "premium" + ] + }, + { + "title": "Icons", + "description": "Customize your template with built-in icons", + "path": "./admin/templates/extending-templates/icons.md" + }, + { + "title": "Resource Metadata", + "description": "Display resource state in the workspace dashboard", + "path": "./admin/templates/extending-templates/resource-metadata.md" + }, + { + "title": "Resource Monitoring", + "description": "Monitor resources in the workspace dashboard", + "path": "./admin/templates/extending-templates/resource-monitoring.md" + }, + { + "title": "Resource Ordering", + "description": "Design the UI of workspaces", + "path": "./admin/templates/extending-templates/resource-ordering.md" + }, + { + "title": "Resource Persistence", + "description": "Control resource persistence", + "path": "./admin/templates/extending-templates/resource-persistence.md" + }, + { + "title": "Terraform Variables", + "description": "Use variables to manage template state", + "path": "./admin/templates/extending-templates/variables.md" + }, + { + "title": "Terraform Modules", + "description": "Reuse terraform code across templates", + "path": "./admin/templates/extending-templates/modules.md" + }, + { + "title": "Web IDEs and Coder Apps", + "description": "Add and configure Web IDEs in your templates as coder apps", + "path": "./admin/templates/extending-templates/web-ides.md" + }, + { + "title": "Pre-install JetBrains IDEs", + "description": "Pre-install JetBrains IDEs in a template for faster IDE startup", + "path": "./admin/templates/extending-templates/jetbrains-preinstall.md" + }, + { + "title": "JetBrains IDEs in Air-Gapped Deployments", + "description": "Configure JetBrains IDEs for air-gapped deployments", + "path": "./admin/templates/extending-templates/jetbrains-airgapped.md" + }, + { + "title": "Docker in Workspaces", + "description": "Use Docker in your workspaces", + "path": "./admin/templates/extending-templates/docker-in-workspaces.md" + }, + { + "title": "Workspace Tags", + "description": "Control provisioning using Workspace Tags and Parameters", + "path": "./admin/templates/extending-templates/workspace-tags.md" + }, + { + "title": "Provider Authentication", + "description": "Authenticate with provider APIs to provision workspaces", + "path": "./admin/templates/extending-templates/provider-authentication.md" + }, + { + "title": "Configure a template for dev containers", + "description": "How to use configure your template for dev containers", + "path": "./admin/templates/extending-templates/devcontainers.md" + }, + { + "title": "Process Logging", + "description": "Log workspace processes", + "path": "./admin/templates/extending-templates/process-logging.md", + "state": [ + "premium" + ] + } + ] + }, + { + "title": "Open in Coder", + "description": "Open workspaces in Coder", + "path": "./admin/templates/open-in-coder.md" + }, + { + "title": "Permissions \u0026 Policies", + "description": "Learn how to create templates with Terraform", + "path": "./admin/templates/template-permissions.md", + "state": [ + "premium" + ] + }, + { + "title": "Troubleshooting Templates", + "description": "Learn how to troubleshoot template issues", + "path": "./admin/templates/troubleshooting.md" + } + ] + }, + { + "title": "External Provisioners", + "description": "Learn how to run external provisioners with Coder", + "path": "./admin/provisioners/index.md", + "icon_path": "./images/icons/key.svg", + "state": [ + "premium" + ], + "children": [ + { + "title": "Manage Provisioner Jobs", + "description": "Learn how to run external provisioners with Coder", + "path": "./admin/provisioners/manage-provisioner-jobs.md", + "state": [ + "premium" + ] + } + ] + }, + { + "title": "External Authentication", + "description": "Learn how to configure external authentication", + "path": "./admin/external-auth/index.md", + "icon_path": "./images/icons/plug.svg" + }, + { + "title": "Integrations", + "description": "Use integrations to extend Coder", + "path": "./admin/integrations/index.md", + "icon_path": "./images/icons/puzzle.svg", + "children": [ + { + "title": "Prometheus", + "description": "Collect deployment metrics with Prometheus", + "path": "./admin/integrations/prometheus.md" + }, + { + "title": "Kubernetes Logging", + "description": "Stream K8s event logs on workspace startup", + "path": "./admin/integrations/kubernetes-logs.md" + }, + { + "title": "Additional Kubernetes Clusters", + "description": "Deploy workspaces on additional Kubernetes clusters", + "path": "./admin/integrations/multiple-kube-clusters.md" + }, + { + "title": "JFrog Artifactory", + "description": "Integrate Coder with JFrog Artifactory", + "path": "./admin/integrations/jfrog-artifactory.md" + }, + { + "title": "JFrog Xray", + "description": "Integrate Coder with JFrog Xray", + "path": "./admin/integrations/jfrog-xray.md" + }, + { + "title": "Island Secure Browser", + "description": "Integrate Coder with Island's Secure Browser", + "path": "./admin/integrations/island.md" + }, + { + "title": "DX PlatformX", + "description": "Integrate Coder with DX PlatformX", + "path": "./admin/integrations/platformx.md" + }, + { + "title": "DX", + "description": "Tag Coder Users with DX", + "path": "./admin/integrations/dx-data-cloud.md" + }, + { + "title": "Hashicorp Vault", + "description": "Integrate Coder with Hashicorp Vault", + "path": "./admin/integrations/vault.md" + } + ] + }, + { + "title": "Networking", + "description": "Understand Coder's networking layer", + "path": "./admin/networking/index.md", + "icon_path": "./images/icons/networking.svg", + "children": [ + { + "title": "Port Forwarding", + "description": "Learn how to forward ports in Coder", + "path": "./admin/networking/port-forwarding.md" + }, + { + "title": "STUN and NAT", + "description": "Learn how to forward ports in Coder", + "path": "./admin/networking/stun.md" + }, + { + "title": "Workspace Proxies", + "description": "Run geo distributed workspace proxies", + "path": "./admin/networking/workspace-proxies.md", + "state": [ + "premium" + ] + }, + { + "title": "High Availability", + "description": "Learn how to configure Coder for High Availability", + "path": "./admin/networking/high-availability.md", + "state": [ + "premium" + ] + }, + { + "title": "Troubleshooting", + "description": "Troubleshoot networking issues in Coder", + "path": "./admin/networking/troubleshooting.md" + } + ] + }, + { + "title": "Monitoring", + "description": "Configure security policy and audit your deployment", + "path": "./admin/monitoring/index.md", + "icon_path": "./images/icons/speed.svg", + "children": [ + { + "title": "Logs", + "description": "Learn about Coder's logs", + "path": "./admin/monitoring/logs.md" + }, + { + "title": "Metrics", + "description": "Learn about Coder's logs", + "path": "./admin/monitoring/metrics.md" + }, + { + "title": "Health Check", + "description": "Learn about Coder's automated health checks", + "path": "./admin/monitoring/health-check.md" + }, + { + "title": "Connection Logs", + "description": "Monitor connections to workspaces", + "path": "./admin/monitoring/connection-logs.md", + "state": [ + "premium" + ] + }, + { + "title": "Notifications", + "description": "Configure notifications for your deployment", + "path": "./admin/monitoring/notifications/index.md", + "children": [ + { + "title": "Slack Notifications", + "description": "Learn how to setup Slack notifications", + "path": "./admin/monitoring/notifications/slack.md" + }, + { + "title": "Microsoft Teams Notifications", + "description": "Learn how to setup Microsoft Teams notifications", + "path": "./admin/monitoring/notifications/teams.md" + } + ] + } + ] + }, + { + "title": "Security", + "description": "Configure security policy and audit your deployment", + "path": "./admin/security/index.md", + "icon_path": "./images/icons/lock.svg", + "children": [ + { + "title": "Audit Logs", + "description": "Audit actions taken inside Coder", + "path": "./admin/security/audit-logs.md", + "state": [ + "premium" + ] + }, + { + "title": "Secrets", + "description": "Use sensitive variables in your workspaces", + "path": "./admin/security/secrets.md" + }, + { + "title": "Database Encryption", + "description": "Encrypt the database to prevent unauthorized access", + "path": "./admin/security/database-encryption.md", + "state": [ + "premium" + ] + } + ] + }, + { + "title": "Licensing", + "description": "Configure licensing for your deployment", + "path": "./admin/licensing/index.md", + "icon_path": "./images/icons/licensing.svg" + } + ] + }, + { + "title": "Run AI Coding Agents in Coder", + "description": "Learn how to run and integrate agentic AI coding agents like GPT-Code, OpenDevin, or SWE-Agent in Coder workspaces to boost developer productivity.", + "path": "./ai-coder/index.md", + "icon_path": "./images/icons/wand.svg", + "children": [ + { + "title": "Best Practices", + "description": "Best Practices running Coding Agents", + "path": "./ai-coder/best-practices.md" + }, + { + "title": "In the IDE", + "description": "Run IDE agents with Coder", + "path": "./ai-coder/ide-agents.md" + }, + { + "title": "Coder Tasks", + "description": "Run Coding Agents on your Own Infrastructure", + "path": "./ai-coder/tasks.md", + "state": [ + "beta" + ], + "children": [ + { + "title": "Custom Agents", + "description": "Run custom agents with Coder Tasks", + "path": "./ai-coder/custom-agents.md", + "state": [ + "beta" + ] + }, + { + "title": "Security \u0026 Boundaries", + "description": "Learn about security and boundaries when running AI coding agents in Coder", + "path": "./ai-coder/security.md" + } + ] + }, + { + "title": "MCP Server", + "description": "Connect to agents Coder with a MCP server", + "path": "./ai-coder/mcp-server.md", + "state": [ + "beta" + ] + } + ] + }, + { + "title": "Tutorials", + "description": "Coder knowledgebase for administrating your deployment", + "path": "./tutorials/index.md", + "icon_path": "./images/icons/generic.svg", + "children": [ + { + "title": "Quickstart", + "description": "Learn how to install and run Coder quickly", + "path": "./tutorials/quickstart.md" + }, + { + "title": "Write a Template from Scratch", + "description": "Learn how to author Coder templates", + "path": "./tutorials/template-from-scratch.md" + }, + { + "title": "Using an External Database", + "description": "Use Coder with an external database", + "path": "./tutorials/external-database.md" + }, + { + "title": "Image Management", + "description": "Learn about image management with Coder", + "path": "./admin/templates/managing-templates/image-management.md" + }, + { + "title": "Configuring Okta", + "description": "Custom claims/scopes with Okta for group/role sync", + "path": "./tutorials/configuring-okta.md" + }, + { + "title": "Google to AWS Federation", + "description": "Federating a Google Cloud service account to AWS", + "path": "./tutorials/gcp-to-aws.md" + }, + { + "title": "JFrog Artifactory Integration", + "description": "Integrate Coder with JFrog Artifactory", + "path": "./admin/integrations/jfrog-artifactory.md" + }, + { + "title": "Istio Integration", + "description": "Integrate Coder with Istio", + "path": "./admin/integrations/istio.md" + }, + { + "title": "Island Secure Browser Integration", + "description": "Integrate Coder with Island's Secure Browser", + "path": "./admin/integrations/island.md" + }, + { + "title": "Template ImagePullSecrets", + "description": "Creating ImagePullSecrets for private registries", + "path": "./tutorials/image-pull-secret.md" + }, + { + "title": "Postgres SSL", + "description": "Configure Coder to connect to Postgres over SSL", + "path": "./tutorials/postgres-ssl.md" + }, + { + "title": "Azure Federation", + "description": "Federating Coder to Azure", + "path": "./tutorials/azure-federation.md" + }, + { + "title": "Deploy Coder on Azure with an Application Gateway", + "description": "Deploy Coder on Azure with an Application Gateway", + "path": "./install/kubernetes/kubernetes-azure-app-gateway.md" + }, + { + "title": "Scanning Workspaces with JFrog Xray", + "description": "Integrate Coder with JFrog Xray", + "path": "./admin/integrations/jfrog-xray.md" + }, + { + "title": "Cloning Git Repositories", + "description": "Learn how to clone Git repositories in Coder", + "path": "./tutorials/cloning-git-repositories.md" + }, + { + "title": "Test Templates Through CI/CD", + "description": "Learn how to test and publish Coder templates in a CI/CD pipeline", + "path": "./tutorials/testing-templates.md" + }, + { + "title": "Use Apache as a Reverse Proxy", + "description": "Learn how to use Apache as a reverse proxy", + "path": "./tutorials/reverse-proxy-apache.md" + }, + { + "title": "Use Caddy as a Reverse Proxy", + "description": "Learn how to use Caddy as a reverse proxy", + "path": "./tutorials/reverse-proxy-caddy.md" + }, + { + "title": "Use NGINX as a Reverse Proxy", + "description": "Learn how to use NGINX as a reverse proxy", + "path": "./tutorials/reverse-proxy-nginx.md" + }, + { + "title": "Pre-install JetBrains IDEs in Workspaces", + "description": "Pre-install JetBrains IDEs in workspaces", + "path": "./admin/templates/extending-templates/jetbrains-preinstall.md" + }, + { + "title": "Use JetBrains IDEs in Air-Gapped Deployments", + "description": "Configure JetBrains IDEs for air-gapped deployments", + "path": "./admin/templates/extending-templates/jetbrains-airgapped.md" + }, + { + "title": "FAQs", + "description": "Miscellaneous FAQs from our community", + "path": "./tutorials/faqs.md" + }, + { + "title": "Best practices", + "description": "Guides to help you make the most of your Coder experience", + "path": "./tutorials/best-practices/index.md", + "children": [ + { + "title": "Organizations - best practices", + "description": "How to make the best use of Coder Organizations", + "path": "./tutorials/best-practices/organizations.md" + }, + { + "title": "Scale Coder", + "description": "How to prepare a Coder deployment for scale", + "path": "./tutorials/best-practices/scale-coder.md" + }, + { + "title": "Security - best practices", + "description": "Make your Coder deployment more secure", + "path": "./tutorials/best-practices/security-best-practices.md" + }, + { + "title": "Speed up your workspaces", + "description": "Speed up your Coder templates and workspaces", + "path": "./tutorials/best-practices/speed-up-templates.md" + } + ] + } + ] + }, + { + "title": "Reference", + "description": "Reference", + "path": "./reference/index.md", + "icon_path": "./images/icons/notes.svg", + "children": [ + { + "title": "REST API", + "description": "Learn how to use Coderd API", + "path": "./reference/api/index.md", + "icon_path": "./images/icons/api.svg", + "children": [ + { + "title": "General", + "path": "./reference/api/general.md" + }, + { + "title": "Agents", + "path": "./reference/api/agents.md" + }, + { + "title": "Applications", + "path": "./reference/api/applications.md" + }, + { + "title": "Audit", + "path": "./reference/api/audit.md" + }, + { + "title": "Authentication", + "path": "./reference/api/authentication.md" + }, + { + "title": "Authorization", + "path": "./reference/api/authorization.md" + }, + { + "title": "Builds", + "path": "./reference/api/builds.md" + }, + { + "title": "Debug", + "path": "./reference/api/debug.md" + }, + { + "title": "Enterprise", + "path": "./reference/api/enterprise.md" + }, + { + "title": "Files", + "path": "./reference/api/files.md" + }, + { + "title": "Git", + "path": "./reference/api/git.md" + }, + { + "title": "Insights", + "path": "./reference/api/insights.md" + }, + { + "title": "Members", + "path": "./reference/api/members.md" + }, + { + "title": "Organizations", + "path": "./reference/api/organizations.md" + }, + { + "title": "PortSharing", + "path": "./reference/api/portsharing.md" + }, + { + "title": "Schemas", + "path": "./reference/api/schemas.md" + }, + { + "title": "Templates", + "path": "./reference/api/templates.md" + }, + { + "title": "Users", + "path": "./reference/api/users.md" + }, + { + "title": "WorkspaceProxies", + "path": "./reference/api/workspaceproxies.md" + }, + { + "title": "Workspaces", + "path": "./reference/api/workspaces.md" + } + ] + }, + { + "title": "Command Line", + "description": "Learn how to use Coder CLI", + "path": "./reference/cli/index.md", + "icon_path": "./images/icons/terminal.svg", + "children": [ + { + "title": "autoupdate", + "description": "Toggle auto-update policy for a workspace", + "path": "reference/cli/autoupdate.md" + }, + { + "title": "builds", + "description": "Manage workspace builds", + "path": "reference/cli/builds.md" + }, + { + "title": "builds list", + "description": "List builds for a workspace", + "path": "reference/cli/builds_list.md" + }, + { + "title": "coder", + "path": "reference/cli/index.md" + }, + { + "title": "completion", + "description": "Install or update shell completion scripts for the detected or chosen shell.", + "path": "reference/cli/completion.md" + }, + { + "title": "config-ssh", + "description": "Add an SSH Host entry for your workspaces \"ssh workspace.coder\"", + "path": "reference/cli/config-ssh.md" + }, + { + "title": "create", + "description": "Create a workspace", + "path": "reference/cli/create.md" + }, + { + "title": "delete", + "description": "Delete a workspace", + "path": "reference/cli/delete.md" + }, + { + "title": "dotfiles", + "description": "Personalize your workspace by applying a canonical dotfiles repository", + "path": "reference/cli/dotfiles.md" + }, + { + "title": "external-auth", + "description": "Manage external authentication", + "path": "reference/cli/external-auth.md" + }, + { + "title": "external-auth access-token", + "description": "Print auth for an external provider", + "path": "reference/cli/external-auth_access-token.md" + }, + { + "title": "favorite", + "description": "Add a workspace to your favorites", + "path": "reference/cli/favorite.md" + }, + { + "title": "features", + "description": "List Enterprise features", + "path": "reference/cli/features.md" + }, + { + "title": "features list", + "path": "reference/cli/features_list.md" + }, + { + "title": "groups", + "description": "Manage groups", + "path": "reference/cli/groups.md" + }, + { + "title": "groups create", + "description": "Create a user group", + "path": "reference/cli/groups_create.md" + }, + { + "title": "groups delete", + "description": "Delete a user group", + "path": "reference/cli/groups_delete.md" + }, + { + "title": "groups edit", + "description": "Edit a user group", + "path": "reference/cli/groups_edit.md" + }, + { + "title": "groups list", + "description": "List user groups", + "path": "reference/cli/groups_list.md" + }, + { + "title": "licenses", + "description": "Add, delete, and list licenses", + "path": "reference/cli/licenses.md" + }, + { + "title": "licenses add", + "description": "Add license to Coder deployment", + "path": "reference/cli/licenses_add.md" + }, + { + "title": "licenses delete", + "description": "Delete license by ID", + "path": "reference/cli/licenses_delete.md" + }, + { + "title": "licenses list", + "description": "List licenses (including expired)", + "path": "reference/cli/licenses_list.md" + }, + { + "title": "list", + "description": "List workspaces", + "path": "reference/cli/list.md" + }, + { + "title": "login", + "description": "Authenticate with Coder deployment", + "path": "reference/cli/login.md" + }, + { + "title": "logout", + "description": "Unauthenticate your local session", + "path": "reference/cli/logout.md" + }, + { + "title": "logs", + "description": "Show logs for a workspace build", + "path": "reference/cli/logs.md" + }, + { + "title": "netcheck", + "description": "Print network debug information for DERP and STUN", + "path": "reference/cli/netcheck.md" + }, + { + "title": "notifications", + "description": "Manage Coder notifications", + "path": "reference/cli/notifications.md" + }, + { + "title": "notifications pause", + "description": "Pause notifications", + "path": "reference/cli/notifications_pause.md" + }, + { + "title": "notifications resume", + "description": "Resume notifications", + "path": "reference/cli/notifications_resume.md" + }, + { + "title": "notifications test", + "description": "Send a test notification", + "path": "reference/cli/notifications_test.md" + }, + { + "title": "open", + "description": "Open a workspace", + "path": "reference/cli/open.md" + }, + { + "title": "open app", + "description": "Open a workspace application.", + "path": "reference/cli/open_app.md" + }, + { + "title": "open vscode", + "description": "Open a workspace in VS Code Desktop", + "path": "reference/cli/open_vscode.md" + }, + { + "title": "organizations", + "description": "Organization related commands", + "path": "reference/cli/organizations.md" + }, + { + "title": "organizations create", + "description": "Create a new organization.", + "path": "reference/cli/organizations_create.md" + }, + { + "title": "organizations members", + "description": "Manage organization members", + "path": "reference/cli/organizations_members.md" + }, + { + "title": "organizations members add", + "description": "Add a new member to the current organization", + "path": "reference/cli/organizations_members_add.md" + }, + { + "title": "organizations members edit-roles", + "description": "Edit organization member's roles", + "path": "reference/cli/organizations_members_edit-roles.md" + }, + { + "title": "organizations members list", + "description": "List all organization members", + "path": "reference/cli/organizations_members_list.md" + }, + { + "title": "organizations members remove", + "description": "Remove a new member to the current organization", + "path": "reference/cli/organizations_members_remove.md" + }, + { + "title": "organizations roles", + "description": "Manage organization roles.", + "path": "reference/cli/organizations_roles.md" + }, + { + "title": "organizations roles create", + "description": "Create a new organization custom role", + "path": "reference/cli/organizations_roles_create.md" + }, + { + "title": "organizations roles show", + "description": "Show role(s)", + "path": "reference/cli/organizations_roles_show.md" + }, + { + "title": "organizations roles update", + "description": "Update an organization custom role", + "path": "reference/cli/organizations_roles_update.md" + }, + { + "title": "organizations settings", + "description": "Manage organization settings.", + "path": "reference/cli/organizations_settings.md" + }, + { + "title": "organizations settings set", + "description": "Update specified organization setting.", + "path": "reference/cli/organizations_settings_set.md" + }, + { + "title": "organizations settings set group-sync", + "description": "Group sync settings to sync groups from an IdP.", + "path": "reference/cli/organizations_settings_set_group-sync.md" + }, + { + "title": "organizations settings set organization-sync", + "description": "Organization sync settings to sync organization memberships from an IdP.", + "path": "reference/cli/organizations_settings_set_organization-sync.md" + }, + { + "title": "organizations settings set role-sync", + "description": "Role sync settings to sync organization roles from an IdP.", + "path": "reference/cli/organizations_settings_set_role-sync.md" + }, + { + "title": "organizations settings show", + "description": "Outputs specified organization setting.", + "path": "reference/cli/organizations_settings_show.md" + }, + { + "title": "organizations settings show group-sync", + "description": "Group sync settings to sync groups from an IdP.", + "path": "reference/cli/organizations_settings_show_group-sync.md" + }, + { + "title": "organizations settings show organization-sync", + "description": "Organization sync settings to sync organization memberships from an IdP.", + "path": "reference/cli/organizations_settings_show_organization-sync.md" + }, + { + "title": "organizations settings show role-sync", + "description": "Role sync settings to sync organization roles from an IdP.", + "path": "reference/cli/organizations_settings_show_role-sync.md" + }, + { + "title": "organizations show", + "description": "Show the organization. Using \"selected\" will show the selected organization from the \"--org\" flag. Using \"me\" will show all organizations you are a member of.", + "path": "reference/cli/organizations_show.md" + }, + { + "title": "ping", + "description": "Ping a workspace", + "path": "reference/cli/ping.md" + }, + { + "title": "port-forward", + "description": "Forward ports from a workspace to the local machine. For reverse port forwarding, use \"coder ssh -R\".", + "path": "reference/cli/port-forward.md" + }, + { + "title": "prebuilds", + "description": "Manage Coder prebuilds", + "path": "reference/cli/prebuilds.md" + }, + { + "title": "prebuilds pause", + "description": "Pause prebuilds", + "path": "reference/cli/prebuilds_pause.md" + }, + { + "title": "prebuilds resume", + "description": "Resume prebuilds", + "path": "reference/cli/prebuilds_resume.md" + }, + { + "title": "provisioner", + "description": "View and manage provisioner daemons and jobs", + "path": "reference/cli/provisioner.md" + }, + { + "title": "provisioner jobs", + "description": "View and manage provisioner jobs", + "path": "reference/cli/provisioner_jobs.md" + }, + { + "title": "provisioner jobs cancel", + "description": "Cancel a provisioner job", + "path": "reference/cli/provisioner_jobs_cancel.md" + }, + { + "title": "provisioner jobs list", + "description": "List provisioner jobs", + "path": "reference/cli/provisioner_jobs_list.md" + }, + { + "title": "provisioner keys", + "description": "Manage provisioner keys", + "path": "reference/cli/provisioner_keys.md" + }, + { + "title": "provisioner keys create", + "description": "Create a new provisioner key", + "path": "reference/cli/provisioner_keys_create.md" + }, + { + "title": "provisioner keys delete", + "description": "Delete a provisioner key", + "path": "reference/cli/provisioner_keys_delete.md" + }, + { + "title": "provisioner keys list", + "description": "List provisioner keys in an organization", + "path": "reference/cli/provisioner_keys_list.md" + }, + { + "title": "provisioner list", + "description": "List provisioner daemons in an organization", + "path": "reference/cli/provisioner_list.md" + }, + { + "title": "provisioner start", + "description": "Run a provisioner daemon", + "path": "reference/cli/provisioner_start.md" + }, + { + "title": "publickey", + "description": "Output your Coder public key used for Git operations", + "path": "reference/cli/publickey.md" + }, + { + "title": "rename", + "description": "Rename a workspace", + "path": "reference/cli/rename.md" + }, + { + "title": "reset-password", + "description": "Directly connect to the database to reset a user's password", + "path": "reference/cli/reset-password.md" + }, + { + "title": "restart", + "description": "Restart a workspace", + "path": "reference/cli/restart.md" + }, + { + "title": "schedule", + "description": "Schedule automated start and stop times for workspaces", + "path": "reference/cli/schedule.md" + }, + { + "title": "schedule extend", + "description": "Extend the stop time of a currently running workspace instance.", + "path": "reference/cli/schedule_extend.md" + }, + { + "title": "schedule show", + "description": "Show workspace schedules", + "path": "reference/cli/schedule_show.md" + }, + { + "title": "schedule start", + "description": "Edit workspace start schedule", + "path": "reference/cli/schedule_start.md" + }, + { + "title": "schedule stop", + "description": "Edit workspace stop schedule", + "path": "reference/cli/schedule_stop.md" + }, + { + "title": "server", + "description": "Start a Coder server", + "path": "reference/cli/server.md" + }, + { + "title": "server create-admin-user", + "description": "Create a new admin user with the given username, email and password and adds it to every organization.", + "path": "reference/cli/server_create-admin-user.md" + }, + { + "title": "server dbcrypt", + "description": "Manage database encryption.", + "path": "reference/cli/server_dbcrypt.md" + }, + { + "title": "server dbcrypt decrypt", + "description": "Decrypt a previously encrypted database.", + "path": "reference/cli/server_dbcrypt_decrypt.md" + }, + { + "title": "server dbcrypt delete", + "description": "Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.", + "path": "reference/cli/server_dbcrypt_delete.md" + }, + { + "title": "server dbcrypt rotate", + "description": "Rotate database encryption keys.", + "path": "reference/cli/server_dbcrypt_rotate.md" + }, + { + "title": "server postgres-builtin-serve", + "description": "Run the built-in PostgreSQL deployment.", + "path": "reference/cli/server_postgres-builtin-serve.md" + }, + { + "title": "server postgres-builtin-url", + "description": "Output the connection URL for the built-in PostgreSQL deployment.", + "path": "reference/cli/server_postgres-builtin-url.md" + }, + { + "title": "show", + "description": "Display details of a workspace's resources and agents", + "path": "reference/cli/show.md" + }, + { + "title": "speedtest", + "description": "Run upload and download tests from your machine to a workspace", + "path": "reference/cli/speedtest.md" + }, + { + "title": "ssh", + "description": "Start a shell into a workspace or run a command", + "path": "reference/cli/ssh.md" + }, + { + "title": "start", + "description": "Start a workspace", + "path": "reference/cli/start.md" + }, + { + "title": "stat", + "description": "Show resource usage for the current workspace.", + "path": "reference/cli/stat.md" + }, + { + "title": "stat cpu", + "description": "Show CPU usage, in cores.", + "path": "reference/cli/stat_cpu.md" + }, + { + "title": "stat disk", + "description": "Show disk usage, in gigabytes.", + "path": "reference/cli/stat_disk.md" + }, + { + "title": "stat mem", + "description": "Show memory usage, in gigabytes.", + "path": "reference/cli/stat_mem.md" + }, + { + "title": "state", + "description": "Manually manage Terraform state to fix broken workspaces", + "path": "reference/cli/state.md" + }, + { + "title": "state pull", + "description": "Pull a Terraform state file from a workspace.", + "path": "reference/cli/state_pull.md" + }, + { + "title": "state push", + "description": "Push a Terraform state file to a workspace.", + "path": "reference/cli/state_push.md" + }, + { + "title": "stop", + "description": "Stop a workspace", + "path": "reference/cli/stop.md" + }, + { + "title": "support", + "description": "Commands for troubleshooting issues with a Coder deployment.", + "path": "reference/cli/support.md" + }, + { + "title": "support bundle", + "description": "Generate a support bundle to troubleshoot issues connecting to a workspace.", + "path": "reference/cli/support_bundle.md" + }, + { + "title": "templates", + "description": "Manage templates", + "path": "reference/cli/templates.md" + }, + { + "title": "templates archive", + "description": "Archive unused or failed template versions from a given template(s)", + "path": "reference/cli/templates_archive.md" + }, + { + "title": "templates create", + "description": "DEPRECATED: Create a template from the current directory or as specified by flag", + "path": "reference/cli/templates_create.md" + }, + { + "title": "templates delete", + "description": "Delete templates", + "path": "reference/cli/templates_delete.md" + }, + { + "title": "templates edit", + "description": "Edit the metadata of a template by name.", + "path": "reference/cli/templates_edit.md" + }, + { + "title": "templates init", + "description": "Get started with a templated template.", + "path": "reference/cli/templates_init.md" + }, + { + "title": "templates list", + "description": "List all the templates available for the organization", + "path": "reference/cli/templates_list.md" + }, + { + "title": "templates pull", + "description": "Download the active, latest, or specified version of a template to a path.", + "path": "reference/cli/templates_pull.md" + }, + { + "title": "templates push", + "description": "Create or update a template from the current directory or as specified by flag", + "path": "reference/cli/templates_push.md" + }, + { + "title": "templates versions", + "description": "Manage different versions of the specified template", + "path": "reference/cli/templates_versions.md" + }, + { + "title": "templates versions archive", + "description": "Archive a template version(s).", + "path": "reference/cli/templates_versions_archive.md" + }, + { + "title": "templates versions list", + "description": "List all the versions of the specified template", + "path": "reference/cli/templates_versions_list.md" + }, + { + "title": "templates versions promote", + "description": "Promote a template version to active.", + "path": "reference/cli/templates_versions_promote.md" + }, + { + "title": "templates versions unarchive", + "description": "Unarchive a template version(s).", + "path": "reference/cli/templates_versions_unarchive.md" + }, + { + "title": "tokens", + "description": "Manage personal access tokens", + "path": "reference/cli/tokens.md" + }, + { + "title": "tokens create", + "description": "Create a token", + "path": "reference/cli/tokens_create.md" + }, + { + "title": "tokens list", + "description": "List tokens", + "path": "reference/cli/tokens_list.md" + }, + { + "title": "tokens remove", + "description": "Delete a token", + "path": "reference/cli/tokens_remove.md" + }, + { + "title": "unfavorite", + "description": "Remove a workspace from your favorites", + "path": "reference/cli/unfavorite.md" + }, + { + "title": "update", + "description": "Will update and start a given workspace if it is out of date. If the workspace is already running, it will be stopped first.", + "path": "reference/cli/update.md" + }, + { + "title": "users", + "description": "Manage users", + "path": "reference/cli/users.md" + }, + { + "title": "users activate", + "description": "Update a user's status to 'active'. Active users can fully interact with the platform", + "path": "reference/cli/users_activate.md" + }, + { + "title": "users create", + "description": "Create a new user.", + "path": "reference/cli/users_create.md" + }, + { + "title": "users delete", + "description": "Delete a user by username or user_id.", + "path": "reference/cli/users_delete.md" + }, + { + "title": "users edit-roles", + "description": "Edit a user's roles by username or id", + "path": "reference/cli/users_edit-roles.md" + }, + { + "title": "users list", + "description": "Prints the list of users.", + "path": "reference/cli/users_list.md" + }, + { + "title": "users show", + "description": "Show a single user. Use 'me' to indicate the currently authenticated user.", + "path": "reference/cli/users_show.md" + }, + { + "title": "users suspend", + "description": "Update a user's status to 'suspended'. A suspended user cannot log into the platform", + "path": "reference/cli/users_suspend.md" + }, + { + "title": "version", + "description": "Show coder version", + "path": "reference/cli/version.md" + }, + { + "title": "whoami", + "description": "Fetch authenticated user info for Coder deployment", + "path": "reference/cli/whoami.md" + } + ] + }, + { + "title": "Agent API", + "description": "Learn how to use Coder Agent API", + "path": "./reference/agent-api/index.md", + "icon_path": "./images/icons/api.svg", + "children": [ + { + "title": "Debug", + "path": "./reference/agent-api/debug.md" + }, + { + "title": "Schemas", + "path": "./reference/agent-api/schemas.md" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/reference/cli/index.md b/docs/reference/cli/index.md index 1992e5d6e9ac3..057cef988edb6 100644 --- a/docs/reference/cli/index.md +++ b/docs/reference/cli/index.md @@ -41,11 +41,13 @@ Coder — A tool for provisioning self-hosted development environments with Terr | [users](./users.md) | Manage users | | [version](./version.md) | Show coder version | | [autoupdate](./autoupdate.md) | Toggle auto-update policy for a workspace | +| [builds](./builds.md) | Manage workspace builds | | [config-ssh](./config-ssh.md) | Add an SSH Host entry for your workspaces "ssh workspace.coder" | | [create](./create.md) | Create a workspace | | [delete](./delete.md) | Delete a workspace | | [favorite](./favorite.md) | Add a workspace to your favorites | | [list](./list.md) | List workspaces | +| [logs](./logs.md) | Show logs for a workspace build | | [open](./open.md) | Open a workspace | | [ping](./ping.md) | Ping a workspace | | [rename](./rename.md) | Rename a workspace | From 6f682c62e0b9319be9b0e73d8a287ce482b6a759 Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Wed, 30 Jul 2025 04:28:03 +0000 Subject: [PATCH 5/6] fix: Fix syntax error in builds.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added missing closing bracket in builds() function. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- cli/builds.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cli/builds.go b/cli/builds.go index 442fa755c6335..b54d0bc0493d6 100644 --- a/cli/builds.go +++ b/cli/builds.go @@ -53,6 +53,7 @@ func (r *RootCmd) builds() *serpent.Command { Handler: func(inv *serpent.Invocation) error { return inv.Command.HelpHandler(inv) }, + } } func (r *RootCmd) buildsList() *serpent.Command { From 3c69bf4fc2710ef72ca893395186d90c022127cc Mon Sep 17 00:00:00 2001 From: Rowan Smith Date: Wed, 30 Jul 2025 04:29:11 +0000 Subject: [PATCH 6/6] fix: Update API documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated API documentation files generated by make gen. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- coderd/apidoc/swagger.json | 38848 ++++++++++++----------- docs/reference/api/agents.md | 328 +- docs/reference/api/applications.md | 18 +- docs/reference/api/audit.md | 16 +- docs/reference/api/authorization.md | 74 +- docs/reference/api/builds.md | 908 +- docs/reference/api/debug.md | 42 +- docs/reference/api/enterprise.md | 1414 +- docs/reference/api/files.md | 28 +- docs/reference/api/general.md | 84 +- docs/reference/api/git.md | 54 +- docs/reference/api/insights.md | 82 +- docs/reference/api/members.md | 888 +- docs/reference/api/notifications.md | 184 +- docs/reference/api/organizations.md | 250 +- docs/reference/api/portsharing.md | 40 +- docs/reference/api/prebuilds.md | 20 +- docs/reference/api/provisioning.md | 118 +- docs/reference/api/schemas.md | 5836 ++-- docs/reference/api/templates.md | 1642 +- docs/reference/api/users.md | 436 +- docs/reference/api/workspaceproxies.md | 6 +- docs/reference/api/workspaces.md | 246 +- 23 files changed, 26604 insertions(+), 24958 deletions(-) diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index c4164d9dc4ed1..c576af65bc03f 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -1,18602 +1,20248 @@ { - "swagger": "2.0", - "info": { - "description": "Coderd is the service created by running coder server. It is a thin API that connects workspaces, provisioners and users. coderd stores its state in Postgres and is the only service that communicates with Postgres.", - "title": "Coder API", - "termsOfService": "https://coder.com/legal/terms-of-service", - "contact": { - "name": "API Support", - "url": "https://coder.com", - "email": "support@coder.com" - }, - "license": { - "name": "AGPL-3.0", - "url": "https://github.com/coder/coder/blob/main/LICENSE" - }, - "version": "2.0" - }, - "basePath": "/api/v2", - "paths": { - "/": { - "get": { - "produces": ["application/json"], - "tags": ["General"], - "summary": "API root handler", - "operationId": "api-root-handler", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/.well-known/oauth-authorization-server": { - "get": { - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "OAuth2 authorization server metadata.", - "operationId": "oauth2-authorization-server-metadata", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2AuthorizationServerMetadata" - } - } - } - } - }, - "/.well-known/oauth-protected-resource": { - "get": { - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "OAuth2 protected resource metadata.", - "operationId": "oauth2-protected-resource-metadata", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ProtectedResourceMetadata" - } - } - } - } - }, - "/appearance": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get appearance", - "operationId": "get-appearance", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.AppearanceConfig" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update appearance", - "operationId": "update-appearance", - "parameters": [ - { - "description": "Update appearance request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateAppearanceConfig" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UpdateAppearanceConfig" - } - } - } - } - }, - "/applications/auth-redirect": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Applications"], - "summary": "Redirect to URI with encrypted API key", - "operationId": "redirect-to-uri-with-encrypted-api-key", - "parameters": [ - { - "type": "string", - "description": "Redirect destination", - "name": "redirect_uri", - "in": "query" - } - ], - "responses": { - "307": { - "description": "Temporary Redirect" - } - } - } - }, - "/applications/host": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Applications"], - "summary": "Get applications host", - "operationId": "get-applications-host", - "deprecated": true, - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.AppHostResponse" - } - } - } - } - }, - "/applications/reconnecting-pty-signed-token": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Issue signed app token for reconnecting PTY", - "operationId": "issue-signed-app-token-for-reconnecting-pty", - "parameters": [ - { - "description": "Issue reconnecting PTY signed token request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.IssueReconnectingPTYSignedTokenRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.IssueReconnectingPTYSignedTokenResponse" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/audit": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Audit"], - "summary": "Get audit logs", - "operationId": "get-audit-logs", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "q", - "in": "query" - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query", - "required": true - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.AuditLogResponse" - } - } - } - } - }, - "/audit/testgenerate": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Audit"], - "summary": "Generate fake audit log", - "operationId": "generate-fake-audit-log", - "parameters": [ - { - "description": "Audit log request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateTestAuditLogRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/authcheck": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Authorization"], - "summary": "Check authorization", - "operationId": "check-authorization", - "parameters": [ - { - "description": "Authorization request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.AuthorizationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.AuthorizationResponse" - } - } - } - } - }, - "/buildinfo": { - "get": { - "produces": ["application/json"], - "tags": ["General"], - "summary": "Build info", - "operationId": "build-info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.BuildInfoResponse" - } - } - } - } - }, - "/connectionlog": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get connection logs", - "operationId": "get-connection-logs", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "q", - "in": "query" - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query", - "required": true - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ConnectionLogResponse" - } - } - } - } - }, - "/csp/reports": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["General"], - "summary": "Report CSP violations", - "operationId": "report-csp-violations", - "parameters": [ - { - "description": "Violation report", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/coderd.cspViolation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/debug/coordinator": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["text/html"], - "tags": ["Debug"], - "summary": "Debug Info Wireguard Coordinator", - "operationId": "debug-info-wireguard-coordinator", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/debug/derp/traffic": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Debug"], - "summary": "Debug DERP traffic", - "operationId": "debug-derp-traffic", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/derp.BytesSentRecv" - } - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/debug/expvar": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Debug"], - "summary": "Debug expvar", - "operationId": "debug-expvar", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "object", - "additionalProperties": true - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/debug/health": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Debug"], - "summary": "Debug Info Deployment Health", - "operationId": "debug-info-deployment-health", - "parameters": [ - { - "type": "boolean", - "description": "Force a healthcheck to run", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/healthsdk.HealthcheckReport" - } - } - } - } - }, - "/debug/health/settings": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Debug"], - "summary": "Get health settings", - "operationId": "get-health-settings", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/healthsdk.HealthSettings" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Debug"], - "summary": "Update health settings", - "operationId": "update-health-settings", - "parameters": [ - { - "description": "Update health settings", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/healthsdk.UpdateHealthSettings" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/healthsdk.UpdateHealthSettings" - } - } - } - } - }, - "/debug/tailnet": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["text/html"], - "tags": ["Debug"], - "summary": "Debug Info Tailnet", - "operationId": "debug-info-tailnet", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/debug/ws": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Debug"], - "summary": "Debug Info Websocket Test", - "operationId": "debug-info-websocket-test", - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/debug/{user}/debug-link": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "Debug OIDC context for a user", - "operationId": "debug-oidc-context-for-a-user", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Success" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/deployment/config": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["General"], - "summary": "Get deployment config", - "operationId": "get-deployment-config", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.DeploymentConfig" - } - } - } - } - }, - "/deployment/ssh": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["General"], - "summary": "SSH Config", - "operationId": "ssh-config", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.SSHConfigResponse" - } - } - } - } - }, - "/deployment/stats": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["General"], - "summary": "Get deployment stats", - "operationId": "get-deployment-stats", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.DeploymentStats" - } - } - } - } - }, - "/derp-map": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "Get DERP map updates", - "operationId": "get-derp-map-updates", - "responses": { - "101": { - "description": "Switching Protocols" - } - } - } - }, - "/entitlements": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get entitlements", - "operationId": "get-entitlements", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Entitlements" - } - } - } - } - }, - "/experiments": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["General"], - "summary": "Get enabled experiments", - "operationId": "get-enabled-experiments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Experiment" - } - } - } - } - } - }, - "/experiments/available": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["General"], - "summary": "Get safe experiments", - "operationId": "get-safe-experiments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Experiment" - } - } - } - } - } - }, - "/external-auth": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Git"], - "summary": "Get user external auths", - "operationId": "get-user-external-auths", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ExternalAuthLink" - } - } - } - } - }, - "/external-auth/{externalauth}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Git"], - "summary": "Get external auth by ID", - "operationId": "get-external-auth-by-id", - "parameters": [ - { - "type": "string", - "format": "string", - "description": "Git Provider ID", - "name": "externalauth", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ExternalAuth" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Git"], - "summary": "Delete external auth user link by ID", - "operationId": "delete-external-auth-user-link-by-id", - "parameters": [ - { - "type": "string", - "format": "string", - "description": "Git Provider ID", - "name": "externalauth", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/external-auth/{externalauth}/device": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Git"], - "summary": "Get external auth device by ID.", - "operationId": "get-external-auth-device-by-id", - "parameters": [ - { - "type": "string", - "format": "string", - "description": "Git Provider ID", - "name": "externalauth", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ExternalAuthDevice" - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Git"], - "summary": "Post external auth device by ID", - "operationId": "post-external-auth-device-by-id", - "parameters": [ - { - "type": "string", - "format": "string", - "description": "External Provider ID", - "name": "externalauth", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/files": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "description": "Swagger notice: Swagger 2.0 doesn't support file upload with a `content-type` different than `application/x-www-form-urlencoded`.", - "consumes": ["application/x-tar"], - "produces": ["application/json"], - "tags": ["Files"], - "summary": "Upload file", - "operationId": "upload-file", - "parameters": [ - { - "type": "string", - "default": "application/x-tar", - "description": "Content-Type must be `application/x-tar` or `application/zip`", - "name": "Content-Type", - "in": "header", - "required": true - }, - { - "type": "file", - "description": "File to be uploaded. If using tar format, file must conform to ustar (pax may cause problems).", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.UploadResponse" - } - } - } - } - }, - "/files/{fileID}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Files"], - "summary": "Get file by ID", - "operationId": "get-file-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "File ID", - "name": "fileID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/groups": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get groups", - "operationId": "get-groups", - "parameters": [ - { - "type": "string", - "description": "Organization ID or name", - "name": "organization", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "User ID or name", - "name": "has_member", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Comma separated list of group IDs", - "name": "group_ids", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - } - } - }, - "/groups/{group}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get group by ID", - "operationId": "get-group-by-id", - "parameters": [ - { - "type": "string", - "description": "Group id", - "name": "group", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Delete group by name", - "operationId": "delete-group-by-name", - "parameters": [ - { - "type": "string", - "description": "Group name", - "name": "group", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update group by name", - "operationId": "update-group-by-name", - "parameters": [ - { - "type": "string", - "description": "Group name", - "name": "group", - "in": "path", - "required": true - }, - { - "description": "Patch group request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchGroupRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - } - }, - "/insights/daus": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Insights"], - "summary": "Get deployment DAUs", - "operationId": "get-deployment-daus", - "parameters": [ - { - "type": "integer", - "description": "Time-zone offset (e.g. -2)", - "name": "tz_offset", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.DAUsResponse" - } - } - } - } - }, - "/insights/templates": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Insights"], - "summary": "Get insights about templates", - "operationId": "get-insights-about-templates", - "parameters": [ - { - "type": "string", - "format": "date-time", - "description": "Start time", - "name": "start_time", - "in": "query", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "End time", - "name": "end_time", - "in": "query", - "required": true - }, - { - "enum": ["week", "day"], - "type": "string", - "description": "Interval", - "name": "interval", - "in": "query", - "required": true - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "csv", - "description": "Template IDs", - "name": "template_ids", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TemplateInsightsResponse" - } - } - } - } - }, - "/insights/user-activity": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Insights"], - "summary": "Get insights about user activity", - "operationId": "get-insights-about-user-activity", - "parameters": [ - { - "type": "string", - "format": "date-time", - "description": "Start time", - "name": "start_time", - "in": "query", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "End time", - "name": "end_time", - "in": "query", - "required": true - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "csv", - "description": "Template IDs", - "name": "template_ids", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UserActivityInsightsResponse" - } - } - } - } - }, - "/insights/user-latency": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Insights"], - "summary": "Get insights about user latency", - "operationId": "get-insights-about-user-latency", - "parameters": [ - { - "type": "string", - "format": "date-time", - "description": "Start time", - "name": "start_time", - "in": "query", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "End time", - "name": "end_time", - "in": "query", - "required": true - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "csv", - "description": "Template IDs", - "name": "template_ids", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UserLatencyInsightsResponse" - } - } - } - } - }, - "/insights/user-status-counts": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Insights"], - "summary": "Get insights about user status counts", - "operationId": "get-insights-about-user-status-counts", - "parameters": [ - { - "type": "integer", - "description": "Time-zone offset (e.g. -2)", - "name": "tz_offset", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GetUserStatusCountsResponse" - } - } - } - } - }, - "/licenses": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get licenses", - "operationId": "get-licenses", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.License" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Add new license", - "operationId": "add-new-license", - "parameters": [ - { - "description": "Add license request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.AddLicenseRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.License" - } - } - } - } - }, - "/licenses/refresh-entitlements": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Update license entitlements", - "operationId": "update-license-entitlements", - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/licenses/{id}": { - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Delete license", - "operationId": "delete-license", - "parameters": [ - { - "type": "string", - "format": "number", - "description": "License ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/notifications/dispatch-methods": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Get notification dispatch methods", - "operationId": "get-notification-dispatch-methods", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.NotificationMethodsResponse" - } - } - } - } - } - }, - "/notifications/inbox": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "List inbox notifications", - "operationId": "list-inbox-notifications", - "parameters": [ - { - "type": "string", - "description": "Comma-separated list of target IDs to filter notifications", - "name": "targets", - "in": "query" - }, - { - "type": "string", - "description": "Comma-separated list of template IDs to filter notifications", - "name": "templates", - "in": "query" - }, - { - "type": "string", - "description": "Filter notifications by read status. Possible values: read, unread, all", - "name": "read_status", - "in": "query" - }, - { - "type": "string", - "format": "uuid", - "description": "ID of the last notification from the current page. Notifications returned will be older than the associated one", - "name": "starting_before", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ListInboxNotificationsResponse" - } - } - } - } - }, - "/notifications/inbox/mark-all-as-read": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Notifications"], - "summary": "Mark all unread notifications as read", - "operationId": "mark-all-unread-notifications-as-read", - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/notifications/inbox/watch": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Watch for new inbox notifications", - "operationId": "watch-for-new-inbox-notifications", - "parameters": [ - { - "type": "string", - "description": "Comma-separated list of target IDs to filter notifications", - "name": "targets", - "in": "query" - }, - { - "type": "string", - "description": "Comma-separated list of template IDs to filter notifications", - "name": "templates", - "in": "query" - }, - { - "type": "string", - "description": "Filter notifications by read status. Possible values: read, unread, all", - "name": "read_status", - "in": "query" - }, - { - "enum": ["plaintext", "markdown"], - "type": "string", - "description": "Define the output format for notifications title and body.", - "name": "format", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GetInboxNotificationResponse" - } - } - } - } - }, - "/notifications/inbox/{id}/read-status": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Update read status of a notification", - "operationId": "update-read-status-of-a-notification", - "parameters": [ - { - "type": "string", - "description": "id of the notification", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/notifications/settings": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Get notifications settings", - "operationId": "get-notifications-settings", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.NotificationsSettings" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Update notifications settings", - "operationId": "update-notifications-settings", - "parameters": [ - { - "description": "Notifications settings request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.NotificationsSettings" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.NotificationsSettings" - } - }, - "304": { - "description": "Not Modified" - } - } - } - }, - "/notifications/templates/system": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Get system notification templates", - "operationId": "get-system-notification-templates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.NotificationTemplate" - } - } - } - } - } - }, - "/notifications/templates/{notification_template}/method": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update notification template dispatch method", - "operationId": "update-notification-template-dispatch-method", - "parameters": [ - { - "type": "string", - "description": "Notification template UUID", - "name": "notification_template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Success" - }, - "304": { - "description": "Not modified" - } - } - } - }, - "/notifications/test": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Notifications"], - "summary": "Send a test notification", - "operationId": "send-a-test-notification", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/oauth2-provider/apps": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get OAuth2 applications.", - "operationId": "get-oauth2-applications", - "parameters": [ - { - "type": "string", - "description": "Filter by applications authorized for a user", - "name": "user_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.OAuth2ProviderApp" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Create OAuth2 application.", - "operationId": "create-oauth2-application", - "parameters": [ - { - "description": "The OAuth2 application to create.", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PostOAuth2ProviderAppRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ProviderApp" - } - } - } - } - }, - "/oauth2-provider/apps/{app}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get OAuth2 application.", - "operationId": "get-oauth2-application", - "parameters": [ - { - "type": "string", - "description": "App ID", - "name": "app", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ProviderApp" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update OAuth2 application.", - "operationId": "update-oauth2-application", - "parameters": [ - { - "type": "string", - "description": "App ID", - "name": "app", - "in": "path", - "required": true - }, - { - "description": "Update an OAuth2 application.", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PutOAuth2ProviderAppRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ProviderApp" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "Delete OAuth2 application.", - "operationId": "delete-oauth2-application", - "parameters": [ - { - "type": "string", - "description": "App ID", - "name": "app", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/oauth2-provider/apps/{app}/secrets": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get OAuth2 application secrets.", - "operationId": "get-oauth2-application-secrets", - "parameters": [ - { - "type": "string", - "description": "App ID", - "name": "app", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.OAuth2ProviderAppSecret" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Create OAuth2 application secret.", - "operationId": "create-oauth2-application-secret", - "parameters": [ - { - "type": "string", - "description": "App ID", - "name": "app", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.OAuth2ProviderAppSecretFull" - } - } - } - } - } - }, - "/oauth2-provider/apps/{app}/secrets/{secretID}": { - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "Delete OAuth2 application secret.", - "operationId": "delete-oauth2-application-secret", - "parameters": [ - { - "type": "string", - "description": "App ID", - "name": "app", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Secret ID", - "name": "secretID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/oauth2/authorize": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "OAuth2 authorization request (GET - show authorization page).", - "operationId": "oauth2-authorization-request-get", - "parameters": [ - { - "type": "string", - "description": "Client ID", - "name": "client_id", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "A random unguessable string", - "name": "state", - "in": "query", - "required": true - }, - { - "enum": ["code"], - "type": "string", - "description": "Response type", - "name": "response_type", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Redirect here after authorization", - "name": "redirect_uri", - "in": "query" - }, - { - "type": "string", - "description": "Token scopes (currently ignored)", - "name": "scope", - "in": "query" - } - ], - "responses": { - "200": { - "description": "Returns HTML authorization page" - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "OAuth2 authorization request (POST - process authorization).", - "operationId": "oauth2-authorization-request-post", - "parameters": [ - { - "type": "string", - "description": "Client ID", - "name": "client_id", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "A random unguessable string", - "name": "state", - "in": "query", - "required": true - }, - { - "enum": ["code"], - "type": "string", - "description": "Response type", - "name": "response_type", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Redirect here after authorization", - "name": "redirect_uri", - "in": "query" - }, - { - "type": "string", - "description": "Token scopes (currently ignored)", - "name": "scope", - "in": "query" - } - ], - "responses": { - "302": { - "description": "Returns redirect with authorization code" - } - } - } - }, - "/oauth2/clients/{client_id}": { - "get": { - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get OAuth2 client configuration (RFC 7592)", - "operationId": "get-oauth2-client-configuration", - "parameters": [ - { - "type": "string", - "description": "Client ID", - "name": "client_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ClientConfiguration" - } - } - } - }, - "put": { - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update OAuth2 client configuration (RFC 7592)", - "operationId": "put-oauth2-client-configuration", - "parameters": [ - { - "type": "string", - "description": "Client ID", - "name": "client_id", - "in": "path", - "required": true - }, - { - "description": "Client update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ClientRegistrationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ClientConfiguration" - } - } - } - }, - "delete": { - "tags": ["Enterprise"], - "summary": "Delete OAuth2 client registration (RFC 7592)", - "operationId": "delete-oauth2-client-configuration", - "parameters": [ - { - "type": "string", - "description": "Client ID", - "name": "client_id", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/oauth2/register": { - "post": { - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "OAuth2 dynamic client registration (RFC 7591)", - "operationId": "oauth2-dynamic-client-registration", - "parameters": [ - { - "description": "Client registration request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ClientRegistrationRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.OAuth2ClientRegistrationResponse" - } - } - } - } - }, - "/oauth2/tokens": { - "post": { - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "OAuth2 token exchange.", - "operationId": "oauth2-token-exchange", - "parameters": [ - { - "type": "string", - "description": "Client ID, required if grant_type=authorization_code", - "name": "client_id", - "in": "formData" - }, - { - "type": "string", - "description": "Client secret, required if grant_type=authorization_code", - "name": "client_secret", - "in": "formData" - }, - { - "type": "string", - "description": "Authorization code, required if grant_type=authorization_code", - "name": "code", - "in": "formData" - }, - { - "type": "string", - "description": "Refresh token, required if grant_type=refresh_token", - "name": "refresh_token", - "in": "formData" - }, - { - "enum": ["authorization_code", "refresh_token"], - "type": "string", - "description": "Grant type", - "name": "grant_type", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/oauth2.Token" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "Delete OAuth2 application tokens.", - "operationId": "delete-oauth2-application-tokens", - "parameters": [ - { - "type": "string", - "description": "Client ID", - "name": "client_id", - "in": "query", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/organizations": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Get organizations", - "operationId": "get-organizations", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Organization" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Create organization", - "operationId": "create-organization", - "parameters": [ - { - "description": "Create organization request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateOrganizationRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.Organization" - } - } - } - } - }, - "/organizations/{organization}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Get organization by ID", - "operationId": "get-organization-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Organization" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Delete organization", - "operationId": "delete-organization", - "parameters": [ - { - "type": "string", - "description": "Organization ID or name", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Update organization", - "operationId": "update-organization", - "parameters": [ - { - "type": "string", - "description": "Organization ID or name", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "Patch organization request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateOrganizationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Organization" - } - } - } - } - }, - "/organizations/{organization}/groups": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get groups by organization", - "operationId": "get-groups-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Create group for organization", - "operationId": "create-group-for-organization", - "parameters": [ - { - "description": "Create group request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateGroupRequest" - } - }, - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - } - }, - "/organizations/{organization}/groups/{groupName}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get group by organization and group name", - "operationId": "get-group-by-organization-and-group-name", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Group name", - "name": "groupName", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Group" - } - } - } - } - }, - "/organizations/{organization}/members": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "List organization members", - "operationId": "list-organization-members", - "deprecated": true, - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.OrganizationMemberWithUserData" - } - } - } - } - } - }, - "/organizations/{organization}/members/roles": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Get member roles by organization", - "operationId": "get-member-roles-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.AssignableRoles" - } - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Upsert a custom organization role", - "operationId": "upsert-a-custom-organization-role", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "Upsert role request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CustomRoleRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Role" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Insert a custom organization role", - "operationId": "insert-a-custom-organization-role", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "Insert role request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CustomRoleRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Role" - } - } - } - } - } - }, - "/organizations/{organization}/members/roles/{roleName}": { - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Delete a custom organization role", - "operationId": "delete-a-custom-organization-role", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Role name", - "name": "roleName", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Role" - } - } - } - } - } - }, - "/organizations/{organization}/members/{user}": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Add organization member", - "operationId": "add-organization-member", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OrganizationMember" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Members"], - "summary": "Remove organization member", - "operationId": "remove-organization-member", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/organizations/{organization}/members/{user}/roles": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Assign role to organization member", - "operationId": "assign-role-to-organization-member", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Update roles request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateRoles" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OrganizationMember" - } - } - } - } - }, - "/organizations/{organization}/members/{user}/workspace-quota": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get workspace quota by user", - "operationId": "get-workspace-quota-by-user", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceQuota" - } - } - } - } - }, - "/organizations/{organization}/members/{user}/workspaces": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "description": "Create a new workspace using a template. The request must\nspecify either the Template ID or the Template Version ID,\nnot both. If the Template ID is specified, the active version\nof the template will be used.", - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Create user workspace by organization", - "operationId": "create-user-workspace-by-organization", - "deprecated": true, - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Username, UUID, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Create workspace request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateWorkspaceRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Workspace" - } - } - } - } - }, - "/organizations/{organization}/paginated-members": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Paginated organization members", - "operationId": "paginated-organization-members", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Page limit, if 0 returns all members", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.PaginatedMembersResponse" - } - } - } - } - } - }, - "/organizations/{organization}/provisionerdaemons": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Provisioning"], - "summary": "Get provisioner daemons", - "operationId": "get-provisioner-daemons", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query" - }, - { - "type": "array", - "format": "uuid", - "items": { - "type": "string" - }, - "description": "Filter results by job IDs", - "name": "ids", - "in": "query" - }, - { - "enum": [ - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed", - "unknown", - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed" - ], - "type": "string", - "description": "Filter results by status", - "name": "status", - "in": "query" - }, - { - "type": "object", - "description": "Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})", - "name": "tags", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerDaemon" - } - } - } - } - } - }, - "/organizations/{organization}/provisionerdaemons/serve": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "Serve provisioner daemon", - "operationId": "serve-provisioner-daemon", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "101": { - "description": "Switching Protocols" - } - } - } - }, - "/organizations/{organization}/provisionerjobs": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Get provisioner jobs", - "operationId": "get-provisioner-jobs", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query" - }, - { - "type": "array", - "format": "uuid", - "items": { - "type": "string" - }, - "description": "Filter results by job IDs", - "name": "ids", - "in": "query" - }, - { - "enum": [ - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed", - "unknown", - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed" - ], - "type": "string", - "description": "Filter results by status", - "name": "status", - "in": "query" - }, - { - "type": "object", - "description": "Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})", - "name": "tags", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerJob" - } - } - } - } - } - }, - "/organizations/{organization}/provisionerjobs/{job}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Organizations"], - "summary": "Get provisioner job", - "operationId": "get-provisioner-job", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Job ID", - "name": "job", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ProvisionerJob" - } - } - } - } - }, - "/organizations/{organization}/provisionerkeys": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "List provisioner key", - "operationId": "list-provisioner-key", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerKey" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Create provisioner key", - "operationId": "create-provisioner-key", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.CreateProvisionerKeyResponse" - } - } - } - } - }, - "/organizations/{organization}/provisionerkeys/daemons": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "List provisioner key daemons", - "operationId": "list-provisioner-key-daemons", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerKeyDaemons" - } - } - } - } - } - }, - "/organizations/{organization}/provisionerkeys/{provisionerkey}": { - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "Delete provisioner key", - "operationId": "delete-provisioner-key", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Provisioner key name", - "name": "provisionerkey", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/organizations/{organization}/settings/idpsync/available-fields": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get the available organization idp sync claim fields", - "operationId": "get-the-available-organization-idp-sync-claim-fields", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/field-values": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get the organization idp sync claim field values", - "operationId": "get-the-organization-idp-sync-claim-field-values", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "string", - "description": "Claim Field", - "name": "claimField", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/groups": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get group IdP Sync settings by organization", - "operationId": "get-group-idp-sync-settings-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GroupSyncSettings" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update group IdP Sync settings by organization", - "operationId": "update-group-idp-sync-settings-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "New settings", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.GroupSyncSettings" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GroupSyncSettings" - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/groups/config": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update group IdP Sync config", - "operationId": "update-group-idp-sync-config", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID or name", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "New config values", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchGroupIDPSyncConfigRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GroupSyncSettings" - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/groups/mapping": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update group IdP Sync mapping", - "operationId": "update-group-idp-sync-mapping", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID or name", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "Description of the mappings to add and remove", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchGroupIDPSyncMappingRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GroupSyncSettings" - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/roles": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get role IdP Sync settings by organization", - "operationId": "get-role-idp-sync-settings-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.RoleSyncSettings" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update role IdP Sync settings by organization", - "operationId": "update-role-idp-sync-settings-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "New settings", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.RoleSyncSettings" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.RoleSyncSettings" - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/roles/config": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update role IdP Sync config", - "operationId": "update-role-idp-sync-config", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID or name", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "New config values", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchRoleIDPSyncConfigRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.RoleSyncSettings" - } - } - } - } - }, - "/organizations/{organization}/settings/idpsync/roles/mapping": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update role IdP Sync mapping", - "operationId": "update-role-idp-sync-mapping", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID or name", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "Description of the mappings to add and remove", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchRoleIDPSyncMappingRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.RoleSyncSettings" - } - } - } - } - }, - "/organizations/{organization}/templates": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "description": "Returns a list of templates for the specified organization.\nBy default, only non-deprecated templates are returned.\nTo include deprecated templates, specify `deprecated:true` in the search query.", - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get templates by organization", - "operationId": "get-templates-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Template" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Create template by organization", - "operationId": "create-template-by-organization", - "parameters": [ - { - "description": "Request body", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateTemplateRequest" - } - }, - { - "type": "string", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Template" - } - } - } - } - }, - "/organizations/{organization}/templates/examples": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template examples by organization", - "operationId": "get-template-examples-by-organization", - "deprecated": true, - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateExample" - } - } - } - } - } - }, - "/organizations/{organization}/templates/{templatename}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get templates by organization and template name", - "operationId": "get-templates-by-organization-and-template-name", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template name", - "name": "templatename", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Template" - } - } - } - } - }, - "/organizations/{organization}/templates/{templatename}/versions/{templateversionname}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version by organization, template, and name", - "operationId": "get-template-version-by-organization-template-and-name", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template name", - "name": "templatename", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template version name", - "name": "templateversionname", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - } - }, - "/organizations/{organization}/templates/{templatename}/versions/{templateversionname}/previous": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get previous template version by organization, template, and name", - "operationId": "get-previous-template-version-by-organization-template-and-name", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template name", - "name": "templatename", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template version name", - "name": "templateversionname", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - } - }, - "/organizations/{organization}/templateversions": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Create template version by organization", - "operationId": "create-template-version-by-organization", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "description": "Create template version request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateTemplateVersionRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - } - }, - "/prebuilds/settings": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Prebuilds"], - "summary": "Get prebuilds settings", - "operationId": "get-prebuilds-settings", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.PrebuildsSettings" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Prebuilds"], - "summary": "Update prebuilds settings", - "operationId": "update-prebuilds-settings", - "parameters": [ - { - "description": "Prebuilds settings request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PrebuildsSettings" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.PrebuildsSettings" - } - }, - "304": { - "description": "Not Modified" - } - } - } - }, - "/provisionerkeys/{provisionerkey}": { - "get": { - "security": [ - { - "CoderProvisionerKey": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Fetch provisioner key details", - "operationId": "fetch-provisioner-key-details", - "parameters": [ - { - "type": "string", - "description": "Provisioner Key", - "name": "provisionerkey", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ProvisionerKey" - } - } - } - } - }, - "/regions": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["WorkspaceProxies"], - "summary": "Get site-wide regions for workspace connections", - "operationId": "get-site-wide-regions-for-workspace-connections", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.RegionsResponse-codersdk_Region" - } - } - } - } - }, - "/replicas": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get active replicas", - "operationId": "get-active-replicas", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Replica" - } - } - } - } - } - }, - "/scim/v2/ServiceProviderConfig": { - "get": { - "produces": ["application/scim+json"], - "tags": ["Enterprise"], - "summary": "SCIM 2.0: Service Provider Config", - "operationId": "scim-get-service-provider-config", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/scim/v2/Users": { - "get": { - "security": [ - { - "Authorization": [] - } - ], - "produces": ["application/scim+json"], - "tags": ["Enterprise"], - "summary": "SCIM 2.0: Get users", - "operationId": "scim-get-users", - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "Authorization": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "SCIM 2.0: Create new user", - "operationId": "scim-create-new-user", - "parameters": [ - { - "description": "New user", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/coderd.SCIMUser" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/coderd.SCIMUser" - } - } - } - } - }, - "/scim/v2/Users/{id}": { - "get": { - "security": [ - { - "Authorization": [] - } - ], - "produces": ["application/scim+json"], - "tags": ["Enterprise"], - "summary": "SCIM 2.0: Get user by ID", - "operationId": "scim-get-user-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "User ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "404": { - "description": "Not Found" - } - } - }, - "put": { - "security": [ - { - "Authorization": [] - } - ], - "produces": ["application/scim+json"], - "tags": ["Enterprise"], - "summary": "SCIM 2.0: Replace user account", - "operationId": "scim-replace-user-status", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "User ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Replace user request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/coderd.SCIMUser" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - }, - "patch": { - "security": [ - { - "Authorization": [] - } - ], - "produces": ["application/scim+json"], - "tags": ["Enterprise"], - "summary": "SCIM 2.0: Update user account", - "operationId": "scim-update-user-status", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "User ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Update user request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/coderd.SCIMUser" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - } - }, - "/settings/idpsync/available-fields": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get the available idp sync claim fields", - "operationId": "get-the-available-idp-sync-claim-fields", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/idpsync/field-values": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get the idp sync claim field values", - "operationId": "get-the-idp-sync-claim-field-values", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Organization ID", - "name": "organization", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "string", - "description": "Claim Field", - "name": "claimField", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/idpsync/organization": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get organization IdP Sync settings", - "operationId": "get-organization-idp-sync-settings", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OrganizationSyncSettings" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update organization IdP Sync settings", - "operationId": "update-organization-idp-sync-settings", - "parameters": [ - { - "description": "New settings", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.OrganizationSyncSettings" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OrganizationSyncSettings" - } - } - } - } - }, - "/settings/idpsync/organization/config": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update organization IdP Sync config", - "operationId": "update-organization-idp-sync-config", - "parameters": [ - { - "description": "New config values", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchOrganizationIDPSyncConfigRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OrganizationSyncSettings" - } - } - } - } - }, - "/settings/idpsync/organization/mapping": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update organization IdP Sync mapping", - "operationId": "update-organization-idp-sync-mapping", - "parameters": [ - { - "description": "Description of the mappings to add and remove", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchOrganizationIDPSyncMappingRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.OrganizationSyncSettings" - } - } - } - } - }, - "/tailnet": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "User-scoped tailnet RPC connection", - "operationId": "user-scoped-tailnet-rpc-connection", - "responses": { - "101": { - "description": "Switching Protocols" - } - } - } - }, - "/templates": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "description": "Returns a list of templates.\nBy default, only non-deprecated templates are returned.\nTo include deprecated templates, specify `deprecated:true` in the search query.", - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get all templates", - "operationId": "get-all-templates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Template" - } - } - } - } - } - }, - "/templates/examples": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template examples", - "operationId": "get-template-examples", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateExample" - } - } - } - } - } - }, - "/templates/{template}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template metadata by ID", - "operationId": "get-template-metadata-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Template" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Delete template by ID", - "operationId": "delete-template-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Update template metadata by ID", - "operationId": "update-template-metadata-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Template" - } - } - } - } - }, - "/templates/{template}/acl": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get template ACLs", - "operationId": "get-template-acls", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TemplateACL" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update template ACL", - "operationId": "update-template-acl", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - }, - { - "description": "Update template request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateTemplateACL" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templates/{template}/acl/available": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get template available acl users/groups", - "operationId": "get-template-available-acl-usersgroups", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ACLAvailable" - } - } - } - } - } - }, - "/templates/{template}/daus": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template DAUs by ID", - "operationId": "get-template-daus-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.DAUsResponse" - } - } - } - } - }, - "/templates/{template}/versions": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "List template versions by template ID", - "operationId": "list-template-versions-by-template-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "After ID", - "name": "after_id", - "in": "query" - }, - { - "type": "boolean", - "description": "Include archived versions in the list", - "name": "include_archived", - "in": "query" - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Update active template version by template ID", - "operationId": "update-active-template-version-by-template-id", - "parameters": [ - { - "description": "Modified template version", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateActiveTemplateVersion" - } - }, - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templates/{template}/versions/archive": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Archive template unused versions by template id", - "operationId": "archive-template-unused-versions-by-template-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - }, - { - "description": "Archive request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.ArchiveTemplateVersionsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templates/{template}/versions/{templateversionname}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version by template ID and name", - "operationId": "get-template-version-by-template-id-and-name", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template ID", - "name": "template", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template version name", - "name": "templateversionname", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - } - } - }, - "/templateversions/{templateversion}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version by ID", - "operationId": "get-template-version-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Patch template version by ID", - "operationId": "patch-template-version-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "description": "Patch template version request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchTemplateVersionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TemplateVersion" - } - } - } - } - }, - "/templateversions/{templateversion}/archive": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Archive template version", - "operationId": "archive-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templateversions/{templateversion}/cancel": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Cancel template version by ID", - "operationId": "cancel-template-version-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templateversions/{templateversion}/dry-run": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Create template version dry-run", - "operationId": "create-template-version-dry-run", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "description": "Dry-run request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateTemplateVersionDryRunRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.ProvisionerJob" - } - } - } - } - }, - "/templateversions/{templateversion}/dry-run/{jobID}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version dry-run by job ID", - "operationId": "get-template-version-dry-run-by-job-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Job ID", - "name": "jobID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ProvisionerJob" - } - } - } - } - }, - "/templateversions/{templateversion}/dry-run/{jobID}/cancel": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Cancel template version dry-run by job ID", - "operationId": "cancel-template-version-dry-run-by-job-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Job ID", - "name": "jobID", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templateversions/{templateversion}/dry-run/{jobID}/logs": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version dry-run logs by job ID", - "operationId": "get-template-version-dry-run-logs-by-job-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Job ID", - "name": "jobID", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Before Unix timestamp", - "name": "before", - "in": "query" - }, - { - "type": "integer", - "description": "After Unix timestamp", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Follow log stream", - "name": "follow", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerJobLog" - } - } - } - } - } - }, - "/templateversions/{templateversion}/dry-run/{jobID}/matched-provisioners": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version dry-run matched provisioners", - "operationId": "get-template-version-dry-run-matched-provisioners", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Job ID", - "name": "jobID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.MatchedProvisioners" - } - } - } - } - }, - "/templateversions/{templateversion}/dry-run/{jobID}/resources": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version dry-run resources by job ID", - "operationId": "get-template-version-dry-run-resources-by-job-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Job ID", - "name": "jobID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceResource" - } - } - } - } - } - }, - "/templateversions/{templateversion}/dynamic-parameters": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Templates"], - "summary": "Open dynamic parameters WebSocket by template version", - "operationId": "open-dynamic-parameters-websocket-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "101": { - "description": "Switching Protocols" - } - } - } - }, - "/templateversions/{templateversion}/dynamic-parameters/evaluate": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Evaluate dynamic parameters for template version", - "operationId": "evaluate-dynamic-parameters-for-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "description": "Initial parameter values", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.DynamicParametersRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.DynamicParametersResponse" - } - } - } - } - }, - "/templateversions/{templateversion}/external-auth": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get external auth by template version", - "operationId": "get-external-auth-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersionExternalAuth" - } - } - } - } - } - }, - "/templateversions/{templateversion}/logs": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get logs by template version", - "operationId": "get-logs-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Before log id", - "name": "before", - "in": "query" - }, - { - "type": "integer", - "description": "After log id", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Follow log stream", - "name": "follow", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerJobLog" - } - } - } - } - } - }, - "/templateversions/{templateversion}/parameters": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Templates"], - "summary": "Removed: Get parameters by template version", - "operationId": "removed-get-parameters-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/templateversions/{templateversion}/presets": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template version presets", - "operationId": "get-template-version-presets", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Preset" - } - } - } - } - } - }, - "/templateversions/{templateversion}/resources": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get resources by template version", - "operationId": "get-resources-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceResource" - } - } - } - } - } - }, - "/templateversions/{templateversion}/rich-parameters": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get rich parameters by template version", - "operationId": "get-rich-parameters-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersionParameter" - } - } - } - } - } - }, - "/templateversions/{templateversion}/schema": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Templates"], - "summary": "Removed: Get schema by template version", - "operationId": "removed-get-schema-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/templateversions/{templateversion}/unarchive": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Unarchive template version", - "operationId": "unarchive-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/templateversions/{templateversion}/variables": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Templates"], - "summary": "Get template variables by template version", - "operationId": "get-template-variables-by-template-version", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Template version ID", - "name": "templateversion", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersionVariable" - } - } - } - } - } - }, - "/updatecheck": { - "get": { - "produces": ["application/json"], - "tags": ["General"], - "summary": "Update check", - "operationId": "update-check", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UpdateCheckResponse" - } - } - } - } - }, - "/users": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get users", - "operationId": "get-users", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "q", - "in": "query" - }, - { - "type": "string", - "format": "uuid", - "description": "After ID", - "name": "after_id", - "in": "query" - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GetUsersResponse" - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Create new user", - "operationId": "create-new-user", - "parameters": [ - { - "description": "Create user request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateUserRequestWithOrgs" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - } - }, - "/users/authmethods": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get authentication methods", - "operationId": "get-authentication-methods", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.AuthMethods" - } - } - } - } - }, - "/users/first": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Check initial user created", - "operationId": "check-initial-user-created", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Create initial user", - "operationId": "create-initial-user", - "parameters": [ - { - "description": "First user request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateFirstUserRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.CreateFirstUserResponse" - } - } - } - } - }, - "/users/login": { - "post": { - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Authorization"], - "summary": "Log in user", - "operationId": "log-in-user", - "parameters": [ - { - "description": "Login request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.LoginWithPasswordRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.LoginWithPasswordResponse" - } - } - } - } - }, - "/users/logout": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Log out user", - "operationId": "log-out-user", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/users/oauth2/github/callback": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Users"], - "summary": "OAuth 2.0 GitHub Callback", - "operationId": "oauth-20-github-callback", - "responses": { - "307": { - "description": "Temporary Redirect" - } - } - } - }, - "/users/oauth2/github/device": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get Github device auth.", - "operationId": "get-github-device-auth", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ExternalAuthDevice" - } - } - } - } - }, - "/users/oidc/callback": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Users"], - "summary": "OpenID Connect Callback", - "operationId": "openid-connect-callback", - "responses": { - "307": { - "description": "Temporary Redirect" - } - } - } - }, - "/users/otp/change-password": { - "post": { - "consumes": ["application/json"], - "tags": ["Authorization"], - "summary": "Change password with a one-time passcode", - "operationId": "change-password-with-a-one-time-passcode", - "parameters": [ - { - "description": "Change password request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.ChangePasswordWithOneTimePasscodeRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/users/otp/request": { - "post": { - "consumes": ["application/json"], - "tags": ["Authorization"], - "summary": "Request one-time passcode", - "operationId": "request-one-time-passcode", - "parameters": [ - { - "description": "One-time passcode request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.RequestOneTimePasscodeRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/users/roles": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Members"], - "summary": "Get site member roles", - "operationId": "get-site-member-roles", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.AssignableRoles" - } - } - } - } - } - }, - "/users/validate-password": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Authorization"], - "summary": "Validate user password", - "operationId": "validate-user-password", - "parameters": [ - { - "description": "Validate user password request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.ValidateUserPasswordRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ValidateUserPasswordResponse" - } - } - } - } - }, - "/users/{user}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get user by name", - "operationId": "get-user-by-name", - "parameters": [ - { - "type": "string", - "description": "User ID, username, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Users"], - "summary": "Delete user", - "operationId": "delete-user", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/users/{user}/appearance": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get user appearance settings", - "operationId": "get-user-appearance-settings", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UserAppearanceSettings" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Update user appearance settings", - "operationId": "update-user-appearance-settings", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "New appearance settings", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateUserAppearanceSettingsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UserAppearanceSettings" - } - } - } - } - }, - "/users/{user}/autofill-parameters": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get autofill build parameters for user", - "operationId": "get-autofill-build-parameters-for-user", - "parameters": [ - { - "type": "string", - "description": "User ID, username, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Template ID", - "name": "template_id", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.UserParameter" - } - } - } - } - } - }, - "/users/{user}/convert-login": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Authorization"], - "summary": "Convert user from password to oauth authentication", - "operationId": "convert-user-from-password-to-oauth-authentication", - "parameters": [ - { - "description": "Convert request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.ConvertLoginRequest" - } - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.OAuthConversionResponse" - } - } - } - } - }, - "/users/{user}/gitsshkey": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get user Git SSH key", - "operationId": "get-user-git-ssh-key", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GitSSHKey" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Regenerate user SSH key", - "operationId": "regenerate-user-ssh-key", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.GitSSHKey" - } - } - } - } - }, - "/users/{user}/keys": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Create new session key", - "operationId": "create-new-session-key", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.GenerateAPIKeyResponse" - } - } - } - } - }, - "/users/{user}/keys/tokens": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get user tokens", - "operationId": "get-user-tokens", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.APIKey" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Create token API key", - "operationId": "create-token-api-key", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Create token request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateTokenRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.GenerateAPIKeyResponse" - } - } - } - } - }, - "/users/{user}/keys/tokens/tokenconfig": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["General"], - "summary": "Get token config", - "operationId": "get-token-config", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.TokenConfig" - } - } - } - } - }, - "/users/{user}/keys/tokens/{keyname}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get API key by token name", - "operationId": "get-api-key-by-token-name", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "string", - "description": "Key Name", - "name": "keyname", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.APIKey" - } - } - } - } - }, - "/users/{user}/keys/{keyid}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get API key by ID", - "operationId": "get-api-key-by-id", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Key ID", - "name": "keyid", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.APIKey" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Users"], - "summary": "Delete API key", - "operationId": "delete-api-key", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "Key ID", - "name": "keyid", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/users/{user}/login-type": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get user login type", - "operationId": "get-user-login-type", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.UserLoginType" - } - } - } - } - }, - "/users/{user}/notifications/preferences": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Get user notification preferences", - "operationId": "get-user-notification-preferences", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.NotificationPreference" - } - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Notifications"], - "summary": "Update user notification preferences", - "operationId": "update-user-notification-preferences", - "parameters": [ - { - "description": "Preferences", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateUserNotificationPreferences" - } - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.NotificationPreference" - } - } - } - } - } - }, - "/users/{user}/organizations": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get organizations by user", - "operationId": "get-organizations-by-user", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Organization" - } - } - } - } - } - }, - "/users/{user}/organizations/{organizationname}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get organization by user and organization name", - "operationId": "get-organization-by-user-and-organization-name", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Organization name", - "name": "organizationname", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Organization" - } - } - } - } - }, - "/users/{user}/password": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Users"], - "summary": "Update user password", - "operationId": "update-user-password", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Update password request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateUserPasswordRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/users/{user}/profile": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Update user profile", - "operationId": "update-user-profile", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Updated profile", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateUserProfileRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - } - }, - "/users/{user}/quiet-hours": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get user quiet hours schedule", - "operationId": "get-user-quiet-hours-schedule", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "User ID", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.UserQuietHoursScheduleResponse" - } - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update user quiet hours schedule", - "operationId": "update-user-quiet-hours-schedule", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "User ID", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Update schedule request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateUserQuietHoursScheduleRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.UserQuietHoursScheduleResponse" - } - } - } - } - } - }, - "/users/{user}/roles": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Get user roles", - "operationId": "get-user-roles", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - }, - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Assign role to user", - "operationId": "assign-role-to-user", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Update roles request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateRoles" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - } - }, - "/users/{user}/status/activate": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Activate user account", - "operationId": "activate-user-account", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - } - }, - "/users/{user}/status/suspend": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Users"], - "summary": "Suspend user account", - "operationId": "suspend-user-account", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.User" - } - } - } - } - }, - "/users/{user}/webpush/subscription": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Notifications"], - "summary": "Create user webpush subscription", - "operationId": "create-user-webpush-subscription", - "parameters": [ - { - "description": "Webpush subscription", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.WebpushSubscription" - } - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - }, - "x-apidocgen": { - "skip": true - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Notifications"], - "summary": "Delete user webpush subscription", - "operationId": "delete-user-webpush-subscription", - "parameters": [ - { - "description": "Webpush subscription", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.DeleteWebpushSubscription" - } - }, - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/users/{user}/webpush/test": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Notifications"], - "summary": "Send a test push notification", - "operationId": "send-a-test-push-notification", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/users/{user}/workspace/{workspacename}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Get workspace metadata by user and workspace name", - "operationId": "get-workspace-metadata-by-user-and-workspace-name", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Workspace name", - "name": "workspacename", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Return data instead of HTTP 404 if the workspace is deleted", - "name": "include_deleted", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Workspace" - } - } - } - } - }, - "/users/{user}/workspace/{workspacename}/builds/{buildnumber}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get workspace build by user, workspace name, and build number", - "operationId": "get-workspace-build-by-user-workspace-name-and-build-number", - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Workspace name", - "name": "workspacename", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "number", - "description": "Build number", - "name": "buildnumber", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceBuild" - } - } - } - } - }, - "/users/{user}/workspaces": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "description": "Create a new workspace using a template. The request must\nspecify either the Template ID or the Template Version ID,\nnot both. If the Template ID is specified, the active version\nof the template will be used.", - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Create user workspace", - "operationId": "create-user-workspace", - "parameters": [ - { - "type": "string", - "description": "Username, UUID, or me", - "name": "user", - "in": "path", - "required": true - }, - { - "description": "Create workspace request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateWorkspaceRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Workspace" - } - } - } - } - }, - "/workspace-quota/{user}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get workspace quota by user deprecated", - "operationId": "get-workspace-quota-by-user-deprecated", - "deprecated": true, - "parameters": [ - { - "type": "string", - "description": "User ID, name, or me", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceQuota" - } - } - } - } - }, - "/workspaceagents/aws-instance-identity": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Authenticate agent on AWS instance", - "operationId": "authenticate-agent-on-aws-instance", - "parameters": [ - { - "description": "Instance identity token", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/agentsdk.AWSInstanceIdentityToken" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.AuthenticateResponse" - } - } - } - } - }, - "/workspaceagents/azure-instance-identity": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Authenticate agent on Azure instance", - "operationId": "authenticate-agent-on-azure-instance", - "parameters": [ - { - "description": "Instance identity token", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/agentsdk.AzureInstanceIdentityToken" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.AuthenticateResponse" - } - } - } - } - }, - "/workspaceagents/connection": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get connection info for workspace agent generic", - "operationId": "get-connection-info-for-workspace-agent-generic", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/workspacesdk.AgentConnectionInfo" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceagents/google-instance-identity": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Authenticate agent on Google Cloud instance", - "operationId": "authenticate-agent-on-google-cloud-instance", - "parameters": [ - { - "description": "Instance identity token", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/agentsdk.GoogleInstanceIdentityToken" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.AuthenticateResponse" - } - } - } - } - }, - "/workspaceagents/me/app-status": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Patch workspace agent app status", - "operationId": "patch-workspace-agent-app-status", - "parameters": [ - { - "description": "app status", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/agentsdk.PatchAppStatus" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/workspaceagents/me/external-auth": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get workspace agent external auth", - "operationId": "get-workspace-agent-external-auth", - "parameters": [ - { - "type": "string", - "description": "Match", - "name": "match", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Provider ID", - "name": "id", - "in": "query", - "required": true - }, - { - "type": "boolean", - "description": "Wait for a new token to be issued", - "name": "listen", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.ExternalAuthResponse" - } - } - } - } - }, - "/workspaceagents/me/gitauth": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Removed: Get workspace agent git auth", - "operationId": "removed-get-workspace-agent-git-auth", - "parameters": [ - { - "type": "string", - "description": "Match", - "name": "match", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Provider ID", - "name": "id", - "in": "query", - "required": true - }, - { - "type": "boolean", - "description": "Wait for a new token to be issued", - "name": "listen", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.ExternalAuthResponse" - } - } - } - } - }, - "/workspaceagents/me/gitsshkey": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get workspace agent Git SSH key", - "operationId": "get-workspace-agent-git-ssh-key", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.GitSSHKey" - } - } - } - } - }, - "/workspaceagents/me/log-source": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Post workspace agent log source", - "operationId": "post-workspace-agent-log-source", - "parameters": [ - { - "description": "Log source request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/agentsdk.PostLogSourceRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgentLogSource" - } - } - } - } - }, - "/workspaceagents/me/logs": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Patch workspace agent logs", - "operationId": "patch-workspace-agent-logs", - "parameters": [ - { - "description": "logs", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/agentsdk.PatchLogs" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/workspaceagents/me/reinit": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get workspace agent reinitialization", - "operationId": "get-workspace-agent-reinitialization", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/agentsdk.ReinitializationEvent" - } - } - } - } - }, - "/workspaceagents/me/rpc": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "Workspace agent RPC API", - "operationId": "workspace-agent-rpc-api", - "responses": { - "101": { - "description": "Switching Protocols" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceagents/{workspaceagent}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get workspace agent by ID", - "operationId": "get-workspace-agent-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgent" - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/connection": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get connection info for workspace agent", - "operationId": "get-connection-info-for-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/workspacesdk.AgentConnectionInfo" - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/containers": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get running containers for workspace agent", - "operationId": "get-running-containers-for-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "key=value", - "description": "Labels", - "name": "label", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgentListContainersResponse" - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/containers/devcontainers/{devcontainer}/recreate": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Recreate devcontainer for workspace agent", - "operationId": "recreate-devcontainer-for-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Devcontainer ID", - "name": "devcontainer", - "in": "path", - "required": true - } - ], - "responses": { - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/containers/watch": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Watch workspace agent for container updates.", - "operationId": "watch-workspace-agent-for-container-updates", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgentListContainersResponse" - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/coordinate": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "Coordinate workspace agent", - "operationId": "coordinate-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "101": { - "description": "Switching Protocols" - } - } - } - }, - "/workspaceagents/{workspaceagent}/listening-ports": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get listening ports for workspace agent", - "operationId": "get-listening-ports-for-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgentListeningPortsResponse" - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/logs": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Get logs by workspace agent", - "operationId": "get-logs-by-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Before log id", - "name": "before", - "in": "query" - }, - { - "type": "integer", - "description": "After log id", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Follow log stream", - "name": "follow", - "in": "query" - }, - { - "type": "boolean", - "description": "Disable compression for WebSocket connection", - "name": "no_compression", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentLog" - } - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/pty": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "Open PTY to workspace agent", - "operationId": "open-pty-to-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "101": { - "description": "Switching Protocols" - } - } - } - }, - "/workspaceagents/{workspaceagent}/startup-logs": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Removed: Get logs by workspace agent", - "operationId": "removed-get-logs-by-workspace-agent", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Before log id", - "name": "before", - "in": "query" - }, - { - "type": "integer", - "description": "After log id", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Follow log stream", - "name": "follow", - "in": "query" - }, - { - "type": "boolean", - "description": "Disable compression for WebSocket connection", - "name": "no_compression", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentLog" - } - } - } - } - } - }, - "/workspaceagents/{workspaceagent}/watch-metadata": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Agents"], - "summary": "Watch for workspace agent metadata updates", - "operationId": "watch-for-workspace-agent-metadata-updates", - "deprecated": true, - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Success" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceagents/{workspaceagent}/watch-metadata-ws": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Agents"], - "summary": "Watch for workspace agent metadata updates via WebSockets", - "operationId": "watch-for-workspace-agent-metadata-updates-via-websockets", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace agent ID", - "name": "workspaceagent", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ServerSentEvent" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspacebuilds/{workspacebuild}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get workspace build", - "operationId": "get-workspace-build", - "parameters": [ - { - "type": "string", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceBuild" - } - } - } - } - }, - "/workspacebuilds/{workspacebuild}/cancel": { - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Cancel workspace build", - "operationId": "cancel-workspace-build", - "parameters": [ - { - "type": "string", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - }, - { - "enum": ["running", "pending"], - "type": "string", - "description": "Expected status of the job. If expect_status is supplied, the request will be rejected with 412 Precondition Failed if the job doesn't match the state when performing the cancellation.", - "name": "expect_status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/workspacebuilds/{workspacebuild}/logs": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get workspace build logs", - "operationId": "get-workspace-build-logs", - "parameters": [ - { - "type": "string", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Before log id", - "name": "before", - "in": "query" - }, - { - "type": "integer", - "description": "After log id", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Follow log stream", - "name": "follow", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerJobLog" - } - } - } - } - } - }, - "/workspacebuilds/{workspacebuild}/parameters": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get build parameters for workspace build", - "operationId": "get-build-parameters-for-workspace-build", - "parameters": [ - { - "type": "string", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" - } - } - } - } - } - }, - "/workspacebuilds/{workspacebuild}/resources": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Removed: Get workspace resources for workspace build", - "operationId": "removed-get-workspace-resources-for-workspace-build", - "deprecated": true, - "parameters": [ - { - "type": "string", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceResource" - } - } - } - } - } - }, - "/workspacebuilds/{workspacebuild}/state": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get provisioner state for workspace build", - "operationId": "get-provisioner-state-for-workspace-build", - "parameters": [ - { - "type": "string", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceBuild" - } - } - } - } - }, - "/workspacebuilds/{workspacebuild}/timings": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get workspace build timings by ID", - "operationId": "get-workspace-build-timings-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace build ID", - "name": "workspacebuild", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceBuildTimings" - } - } - } - } - }, - "/workspaceproxies": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get workspace proxies", - "operationId": "get-workspace-proxies", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.RegionsResponse-codersdk_WorkspaceProxy" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Create workspace proxy", - "operationId": "create-workspace-proxy", - "parameters": [ - { - "description": "Create workspace proxy request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateWorkspaceProxyRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceProxy" - } - } - } - } - }, - "/workspaceproxies/me/app-stats": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Enterprise"], - "summary": "Report workspace app stats", - "operationId": "report-workspace-app-stats", - "parameters": [ - { - "description": "Report app stats request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/wsproxysdk.ReportAppStatsRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceproxies/me/coordinate": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Enterprise"], - "summary": "Workspace Proxy Coordinate", - "operationId": "workspace-proxy-coordinate", - "responses": { - "101": { - "description": "Switching Protocols" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceproxies/me/crypto-keys": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get workspace proxy crypto keys", - "operationId": "get-workspace-proxy-crypto-keys", - "parameters": [ - { - "type": "string", - "description": "Feature key", - "name": "feature", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/wsproxysdk.CryptoKeysResponse" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceproxies/me/deregister": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Enterprise"], - "summary": "Deregister workspace proxy", - "operationId": "deregister-workspace-proxy", - "parameters": [ - { - "description": "Deregister workspace proxy request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/wsproxysdk.DeregisterWorkspaceProxyRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceproxies/me/issue-signed-app-token": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Issue signed workspace app token", - "operationId": "issue-signed-workspace-app-token", - "parameters": [ - { - "description": "Issue signed app token request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/workspaceapps.IssueTokenRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/wsproxysdk.IssueSignedAppTokenResponse" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceproxies/me/register": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Register workspace proxy", - "operationId": "register-workspace-proxy", - "parameters": [ - { - "description": "Register workspace proxy request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/wsproxysdk.RegisterWorkspaceProxyRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/wsproxysdk.RegisterWorkspaceProxyResponse" - } - } - }, - "x-apidocgen": { - "skip": true - } - } - }, - "/workspaceproxies/{workspaceproxy}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Get workspace proxy", - "operationId": "get-workspace-proxy", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Proxy ID or name", - "name": "workspaceproxy", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceProxy" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Delete workspace proxy", - "operationId": "delete-workspace-proxy", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Proxy ID or name", - "name": "workspaceproxy", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Enterprise"], - "summary": "Update workspace proxy", - "operationId": "update-workspace-proxy", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Proxy ID or name", - "name": "workspaceproxy", - "in": "path", - "required": true - }, - { - "description": "Update workspace proxy request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PatchWorkspaceProxy" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceProxy" - } - } - } - } - }, - "/workspaces": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "List workspaces", - "operationId": "list-workspaces", - "parameters": [ - { - "type": "string", - "description": "Search query in the format `key:value`. Available keys are: owner, template, name, status, has-agent, dormant, last_used_after, last_used_before, has-ai-task.", - "name": "q", - "in": "query" - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspacesResponse" - } - } - } - } - }, - "/workspaces/{workspace}": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Get workspace metadata by ID", - "operationId": "get-workspace-metadata-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Return data instead of HTTP 404 if the workspace is deleted", - "name": "include_deleted", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Workspace" - } - } - } - }, - "patch": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Workspaces"], - "summary": "Update workspace metadata by ID", - "operationId": "update-workspace-metadata-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Metadata update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateWorkspaceRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/workspaces/{workspace}/autostart": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Workspaces"], - "summary": "Update workspace autostart schedule by ID", - "operationId": "update-workspace-autostart-schedule-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Schedule update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateWorkspaceAutostartRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/workspaces/{workspace}/autoupdates": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Workspaces"], - "summary": "Update workspace automatic updates by ID", - "operationId": "update-workspace-automatic-updates-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Automatic updates request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateWorkspaceAutomaticUpdatesRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/workspaces/{workspace}/builds": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Get workspace builds by workspace ID", - "operationId": "get-workspace-builds-by-workspace-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "uuid", - "description": "After ID", - "name": "after_id", - "in": "query" - }, - { - "type": "integer", - "description": "Page limit", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "format": "date-time", - "description": "Since timestamp", - "name": "since", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceBuild" - } - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Builds"], - "summary": "Create workspace build", - "operationId": "create-workspace-build", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Create workspace build request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.CreateWorkspaceBuildRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceBuild" - } - } - } - } - }, - "/workspaces/{workspace}/dormant": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Update workspace dormancy status by id.", - "operationId": "update-workspace-dormancy-status-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Make a workspace dormant or active", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateWorkspaceDormancy" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Workspace" - } - } - } - } - }, - "/workspaces/{workspace}/extend": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Extend workspace deadline by ID", - "operationId": "extend-workspace-deadline-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Extend deadline update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.PutExtendWorkspaceRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/workspaces/{workspace}/favorite": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Workspaces"], - "summary": "Favorite workspace by ID.", - "operationId": "favorite-workspace-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "tags": ["Workspaces"], - "summary": "Unfavorite workspace by ID.", - "operationId": "unfavorite-workspace-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/workspaces/{workspace}/port-share": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["PortSharing"], - "summary": "Get workspace agent port shares", - "operationId": "get-workspace-agent-port-shares", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShares" - } - } - } - }, - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "produces": ["application/json"], - "tags": ["PortSharing"], - "summary": "Upsert workspace agent port share", - "operationId": "upsert-workspace-agent-port-share", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Upsert port sharing level request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpsertWorkspaceAgentPortShareRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShare" - } - } - } - }, - "delete": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["PortSharing"], - "summary": "Delete workspace agent port share", - "operationId": "delete-workspace-agent-port-share", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Delete port sharing level request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.DeleteWorkspaceAgentPortShareRequest" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/workspaces/{workspace}/resolve-autostart": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Resolve workspace autostart by id.", - "operationId": "resolve-workspace-autostart-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ResolveAutostartResponse" - } - } - } - } - }, - "/workspaces/{workspace}/timings": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Get workspace timings by ID", - "operationId": "get-workspace-timings-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.WorkspaceBuildTimings" - } - } - } - } - }, - "/workspaces/{workspace}/ttl": { - "put": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Workspaces"], - "summary": "Update workspace TTL by ID", - "operationId": "update-workspace-ttl-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Workspace TTL update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/codersdk.UpdateWorkspaceTTLRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/workspaces/{workspace}/usage": { - "post": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "consumes": ["application/json"], - "tags": ["Workspaces"], - "summary": "Post Workspace Usage by ID", - "operationId": "post-workspace-usage-by-id", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - }, - { - "description": "Post workspace usage request", - "name": "request", - "in": "body", - "schema": { - "$ref": "#/definitions/codersdk.PostWorkspaceUsageRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/workspaces/{workspace}/watch": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["text/event-stream"], - "tags": ["Workspaces"], - "summary": "Watch workspace by ID", - "operationId": "watch-workspace-by-id", - "deprecated": true, - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.Response" - } - } - } - } - }, - "/workspaces/{workspace}/watch-ws": { - "get": { - "security": [ - { - "CoderSessionToken": [] - } - ], - "produces": ["application/json"], - "tags": ["Workspaces"], - "summary": "Watch workspace by ID via WebSockets", - "operationId": "watch-workspace-by-id-via-websockets", - "parameters": [ - { - "type": "string", - "format": "uuid", - "description": "Workspace ID", - "name": "workspace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/codersdk.ServerSentEvent" - } - } - } - } - } - }, - "definitions": { - "agentsdk.AWSInstanceIdentityToken": { - "type": "object", - "required": ["document", "signature"], - "properties": { - "document": { - "type": "string" - }, - "signature": { - "type": "string" - } - } - }, - "agentsdk.AuthenticateResponse": { - "type": "object", - "properties": { - "session_token": { - "type": "string" - } - } - }, - "agentsdk.AzureInstanceIdentityToken": { - "type": "object", - "required": ["encoding", "signature"], - "properties": { - "encoding": { - "type": "string" - }, - "signature": { - "type": "string" - } - } - }, - "agentsdk.ExternalAuthResponse": { - "type": "object", - "properties": { - "access_token": { - "type": "string" - }, - "password": { - "type": "string" - }, - "token_extra": { - "type": "object", - "additionalProperties": true - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "username": { - "description": "Deprecated: Only supported on `/workspaceagents/me/gitauth`\nfor backwards compatibility.", - "type": "string" - } - } - }, - "agentsdk.GitSSHKey": { - "type": "object", - "properties": { - "private_key": { - "type": "string" - }, - "public_key": { - "type": "string" - } - } - }, - "agentsdk.GoogleInstanceIdentityToken": { - "type": "object", - "required": ["json_web_token"], - "properties": { - "json_web_token": { - "type": "string" - } - } - }, - "agentsdk.Log": { - "type": "object", - "properties": { - "created_at": { - "type": "string" - }, - "level": { - "$ref": "#/definitions/codersdk.LogLevel" - }, - "output": { - "type": "string" - } - } - }, - "agentsdk.PatchAppStatus": { - "type": "object", - "properties": { - "app_slug": { - "type": "string" - }, - "icon": { - "description": "Deprecated: this field is unused and will be removed in a future version.", - "type": "string" - }, - "message": { - "type": "string" - }, - "needs_user_attention": { - "description": "Deprecated: this field is unused and will be removed in a future version.", - "type": "boolean" - }, - "state": { - "$ref": "#/definitions/codersdk.WorkspaceAppStatusState" - }, - "uri": { - "type": "string" - } - } - }, - "agentsdk.PatchLogs": { - "type": "object", - "properties": { - "log_source_id": { - "type": "string" - }, - "logs": { - "type": "array", - "items": { - "$ref": "#/definitions/agentsdk.Log" - } - } - } - }, - "agentsdk.PostLogSourceRequest": { - "type": "object", - "properties": { - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "description": "ID is a unique identifier for the log source.\nIt is scoped to a workspace agent, and can be statically\ndefined inside code to prevent duplicate sources from being\ncreated for the same agent.", - "type": "string" - } - } - }, - "agentsdk.ReinitializationEvent": { - "type": "object", - "properties": { - "reason": { - "$ref": "#/definitions/agentsdk.ReinitializationReason" - }, - "workspaceID": { - "type": "string" - } - } - }, - "agentsdk.ReinitializationReason": { - "type": "string", - "enum": ["prebuild_claimed"], - "x-enum-varnames": ["ReinitializeReasonPrebuildClaimed"] - }, - "coderd.SCIMUser": { - "type": "object", - "properties": { - "active": { - "description": "Active is a ptr to prevent the empty value from being interpreted as false.", - "type": "boolean" - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "display": { - "type": "string" - }, - "primary": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": { - "type": "string", - "format": "email" - } - } - } - }, - "groups": { - "type": "array", - "items": {} - }, - "id": { - "type": "string" - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { - "type": "string" - } - } - }, - "name": { - "type": "object", - "properties": { - "familyName": { - "type": "string" - }, - "givenName": { - "type": "string" - } - } - }, - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "userName": { - "type": "string" - } - } - }, - "coderd.cspViolation": { - "type": "object", - "properties": { - "csp-report": { - "type": "object", - "additionalProperties": true - } - } - }, - "codersdk.ACLAvailable": { - "type": "object", - "properties": { - "groups": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Group" - } - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ReducedUser" - } - } - } - }, - "codersdk.APIKey": { - "type": "object", - "required": [ - "created_at", - "expires_at", - "id", - "last_used", - "lifetime_seconds", - "login_type", - "scope", - "token_name", - "updated_at", - "user_id" - ], - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "expires_at": { - "type": "string", - "format": "date-time" - }, - "id": { - "type": "string" - }, - "last_used": { - "type": "string", - "format": "date-time" - }, - "lifetime_seconds": { - "type": "integer" - }, - "login_type": { - "enum": ["password", "github", "oidc", "token"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.LoginType" - } - ] - }, - "scope": { - "enum": ["all", "application_connect"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.APIKeyScope" - } - ] - }, - "token_name": { - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "user_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.APIKeyScope": { - "type": "string", - "enum": ["all", "application_connect"], - "x-enum-varnames": ["APIKeyScopeAll", "APIKeyScopeApplicationConnect"] - }, - "codersdk.AddLicenseRequest": { - "type": "object", - "required": ["license"], - "properties": { - "license": { - "type": "string" - } - } - }, - "codersdk.AgentConnectionTiming": { - "type": "object", - "properties": { - "ended_at": { - "type": "string", - "format": "date-time" - }, - "stage": { - "$ref": "#/definitions/codersdk.TimingStage" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "workspace_agent_id": { - "type": "string" - }, - "workspace_agent_name": { - "type": "string" - } - } - }, - "codersdk.AgentScriptTiming": { - "type": "object", - "properties": { - "display_name": { - "type": "string" - }, - "ended_at": { - "type": "string", - "format": "date-time" - }, - "exit_code": { - "type": "integer" - }, - "stage": { - "$ref": "#/definitions/codersdk.TimingStage" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "status": { - "type": "string" - }, - "workspace_agent_id": { - "type": "string" - }, - "workspace_agent_name": { - "type": "string" - } - } - }, - "codersdk.AgentSubsystem": { - "type": "string", - "enum": ["envbox", "envbuilder", "exectrace"], - "x-enum-varnames": [ - "AgentSubsystemEnvbox", - "AgentSubsystemEnvbuilder", - "AgentSubsystemExectrace" - ] - }, - "codersdk.AppHostResponse": { - "type": "object", - "properties": { - "host": { - "description": "Host is the externally accessible URL for the Coder instance.", - "type": "string" - } - } - }, - "codersdk.AppearanceConfig": { - "type": "object", - "properties": { - "announcement_banners": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.BannerConfig" - } - }, - "application_name": { - "type": "string" - }, - "docs_url": { - "type": "string" - }, - "logo_url": { - "type": "string" - }, - "service_banner": { - "description": "Deprecated: ServiceBanner has been replaced by AnnouncementBanners.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.BannerConfig" - } - ] - }, - "support_links": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.LinkConfig" - } - } - } - }, - "codersdk.ArchiveTemplateVersionsRequest": { - "type": "object", - "properties": { - "all": { - "description": "By default, only failed versions are archived. Set this to true\nto archive all unused versions regardless of job status.", - "type": "boolean" - } - } - }, - "codersdk.AssignableRoles": { - "type": "object", - "properties": { - "assignable": { - "type": "boolean" - }, - "built_in": { - "description": "BuiltIn roles are immutable", - "type": "boolean" - }, - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "organization_permissions": { - "description": "OrganizationPermissions are specific for the organization in the field 'OrganizationID' above.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - }, - "site_permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - }, - "user_permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - } - } - }, - "codersdk.AuditAction": { - "type": "string", - "enum": [ - "create", - "write", - "delete", - "start", - "stop", - "login", - "logout", - "register", - "request_password_reset", - "connect", - "disconnect", - "open", - "close" - ], - "x-enum-varnames": [ - "AuditActionCreate", - "AuditActionWrite", - "AuditActionDelete", - "AuditActionStart", - "AuditActionStop", - "AuditActionLogin", - "AuditActionLogout", - "AuditActionRegister", - "AuditActionRequestPasswordReset", - "AuditActionConnect", - "AuditActionDisconnect", - "AuditActionOpen", - "AuditActionClose" - ] - }, - "codersdk.AuditDiff": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.AuditDiffField" - } - }, - "codersdk.AuditDiffField": { - "type": "object", - "properties": { - "new": {}, - "old": {}, - "secret": { - "type": "boolean" - } - } - }, - "codersdk.AuditLog": { - "type": "object", - "properties": { - "action": { - "$ref": "#/definitions/codersdk.AuditAction" - }, - "additional_fields": { - "type": "object" - }, - "description": { - "type": "string" - }, - "diff": { - "$ref": "#/definitions/codersdk.AuditDiff" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "ip": { - "type": "string" - }, - "is_deleted": { - "type": "boolean" - }, - "organization": { - "$ref": "#/definitions/codersdk.MinimalOrganization" - }, - "organization_id": { - "description": "Deprecated: Use 'organization.id' instead.", - "type": "string", - "format": "uuid" - }, - "request_id": { - "type": "string", - "format": "uuid" - }, - "resource_icon": { - "type": "string" - }, - "resource_id": { - "type": "string", - "format": "uuid" - }, - "resource_link": { - "type": "string" - }, - "resource_target": { - "description": "ResourceTarget is the name of the resource.", - "type": "string" - }, - "resource_type": { - "$ref": "#/definitions/codersdk.ResourceType" - }, - "status_code": { - "type": "integer" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "user": { - "$ref": "#/definitions/codersdk.User" - }, - "user_agent": { - "type": "string" - } - } - }, - "codersdk.AuditLogResponse": { - "type": "object", - "properties": { - "audit_logs": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.AuditLog" - } - }, - "count": { - "type": "integer" - } - } - }, - "codersdk.AuthMethod": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "codersdk.AuthMethods": { - "type": "object", - "properties": { - "github": { - "$ref": "#/definitions/codersdk.GithubAuthMethod" - }, - "oidc": { - "$ref": "#/definitions/codersdk.OIDCAuthMethod" - }, - "password": { - "$ref": "#/definitions/codersdk.AuthMethod" - }, - "terms_of_service_url": { - "type": "string" - } - } - }, - "codersdk.AuthorizationCheck": { - "description": "AuthorizationCheck is used to check if the currently authenticated user (or the specified user) can do a given action to a given set of objects.", - "type": "object", - "properties": { - "action": { - "enum": ["create", "read", "update", "delete"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.RBACAction" - } - ] - }, - "object": { - "description": "Object can represent a \"set\" of objects, such as: all workspaces in an organization, all workspaces owned by me, and all workspaces across the entire product.\nWhen defining an object, use the most specific language when possible to\nproduce the smallest set. Meaning to set as many fields on 'Object' as\nyou can. Example, if you want to check if you can update all workspaces\nowned by 'me', try to also add an 'OrganizationID' to the settings.\nOmitting the 'OrganizationID' could produce the incorrect value, as\nworkspaces have both `user` and `organization` owners.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.AuthorizationObject" - } - ] - } - } - }, - "codersdk.AuthorizationObject": { - "description": "AuthorizationObject can represent a \"set\" of objects, such as: all workspaces in an organization, all workspaces owned by me, all workspaces across the entire product.", - "type": "object", - "properties": { - "any_org": { - "description": "AnyOrgOwner (optional) will disregard the org_owner when checking for permissions.\nThis cannot be set to true if the OrganizationID is set.", - "type": "boolean" - }, - "organization_id": { - "description": "OrganizationID (optional) adds the set constraint to all resources owned by a given organization.", - "type": "string" - }, - "owner_id": { - "description": "OwnerID (optional) adds the set constraint to all resources owned by a given user.", - "type": "string" - }, - "resource_id": { - "description": "ResourceID (optional) reduces the set to a singular resource. This assigns\na resource ID to the resource type, eg: a single workspace.\nThe rbac library will not fetch the resource from the database, so if you\nare using this option, you should also set the owner ID and organization ID\nif possible. Be as specific as possible using all the fields relevant.", - "type": "string" - }, - "resource_type": { - "description": "ResourceType is the name of the resource.\n`./coderd/rbac/object.go` has the list of valid resource types.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.RBACResource" - } - ] - } - } - }, - "codersdk.AuthorizationRequest": { - "type": "object", - "properties": { - "checks": { - "description": "Checks is a map keyed with an arbitrary string to a permission check.\nThe key can be any string that is helpful to the caller, and allows\nmultiple permission checks to be run in a single request.\nThe key ensures that each permission check has the same key in the\nresponse.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.AuthorizationCheck" - } - } - } - }, - "codersdk.AuthorizationResponse": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - }, - "codersdk.AutomaticUpdates": { - "type": "string", - "enum": ["always", "never"], - "x-enum-varnames": ["AutomaticUpdatesAlways", "AutomaticUpdatesNever"] - }, - "codersdk.BannerConfig": { - "type": "object", - "properties": { - "background_color": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "message": { - "type": "string" - } - } - }, - "codersdk.BuildInfoResponse": { - "type": "object", - "properties": { - "agent_api_version": { - "description": "AgentAPIVersion is the current version of the Agent API (back versions\nMAY still be supported).", - "type": "string" - }, - "dashboard_url": { - "description": "DashboardURL is the URL to hit the deployment's dashboard.\nFor external workspace proxies, this is the coderd they are connected\nto.", - "type": "string" - }, - "deployment_id": { - "description": "DeploymentID is the unique identifier for this deployment.", - "type": "string" - }, - "external_url": { - "description": "ExternalURL references the current Coder version.\nFor production builds, this will link directly to a release. For development builds, this will link to a commit.", - "type": "string" - }, - "provisioner_api_version": { - "description": "ProvisionerAPIVersion is the current version of the Provisioner API", - "type": "string" - }, - "telemetry": { - "description": "Telemetry is a boolean that indicates whether telemetry is enabled.", - "type": "boolean" - }, - "upgrade_message": { - "description": "UpgradeMessage is the message displayed to users when an outdated client\nis detected.", - "type": "string" - }, - "version": { - "description": "Version returns the semantic version of the build.", - "type": "string" - }, - "webpush_public_key": { - "description": "WebPushPublicKey is the public key for push notifications via Web Push.", - "type": "string" - }, - "workspace_proxy": { - "type": "boolean" - } - } - }, - "codersdk.BuildReason": { - "type": "string", - "enum": [ - "initiator", - "autostart", - "autostop", - "dormancy", - "dashboard", - "cli", - "ssh_connection", - "vscode_connection", - "jetbrains_connection" - ], - "x-enum-varnames": [ - "BuildReasonInitiator", - "BuildReasonAutostart", - "BuildReasonAutostop", - "BuildReasonDormancy", - "BuildReasonDashboard", - "BuildReasonCLI", - "BuildReasonSSHConnection", - "BuildReasonVSCodeConnection", - "BuildReasonJetbrainsConnection" - ] - }, - "codersdk.ChangePasswordWithOneTimePasscodeRequest": { - "type": "object", - "required": ["email", "one_time_passcode", "password"], - "properties": { - "email": { - "type": "string", - "format": "email" - }, - "one_time_passcode": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "codersdk.ConnectionLatency": { - "type": "object", - "properties": { - "p50": { - "type": "number", - "example": 31.312 - }, - "p95": { - "type": "number", - "example": 119.832 - } - } - }, - "codersdk.ConnectionLog": { - "type": "object", - "properties": { - "agent_name": { - "type": "string" - }, - "connect_time": { - "type": "string", - "format": "date-time" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "ip": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/codersdk.MinimalOrganization" - }, - "ssh_info": { - "description": "SSHInfo is only set when `type` is one of:\n- `ConnectionTypeSSH`\n- `ConnectionTypeReconnectingPTY`\n- `ConnectionTypeVSCode`\n- `ConnectionTypeJetBrains`", - "allOf": [ - { - "$ref": "#/definitions/codersdk.ConnectionLogSSHInfo" - } - ] - }, - "type": { - "$ref": "#/definitions/codersdk.ConnectionType" - }, - "web_info": { - "description": "WebInfo is only set when `type` is one of:\n- `ConnectionTypePortForwarding`\n- `ConnectionTypeWorkspaceApp`", - "allOf": [ - { - "$ref": "#/definitions/codersdk.ConnectionLogWebInfo" - } - ] - }, - "workspace_id": { - "type": "string", - "format": "uuid" - }, - "workspace_name": { - "type": "string" - }, - "workspace_owner_id": { - "type": "string", - "format": "uuid" - }, - "workspace_owner_username": { - "type": "string" - } - } - }, - "codersdk.ConnectionLogResponse": { - "type": "object", - "properties": { - "connection_logs": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ConnectionLog" - } - }, - "count": { - "type": "integer" - } - } - }, - "codersdk.ConnectionLogSSHInfo": { - "type": "object", - "properties": { - "connection_id": { - "type": "string", - "format": "uuid" - }, - "disconnect_reason": { - "description": "DisconnectReason is omitted if a disconnect event with the same connection ID\nhas not yet been seen.", - "type": "string" - }, - "disconnect_time": { - "description": "DisconnectTime is omitted if a disconnect event with the same connection ID\nhas not yet been seen.", - "type": "string", - "format": "date-time" - }, - "exit_code": { - "description": "ExitCode is the exit code of the SSH session. It is omitted if a\ndisconnect event with the same connection ID has not yet been seen.", - "type": "integer" - } - } - }, - "codersdk.ConnectionLogWebInfo": { - "type": "object", - "properties": { - "slug_or_port": { - "type": "string" - }, - "status_code": { - "description": "StatusCode is the HTTP status code of the request.", - "type": "integer" - }, - "user": { - "description": "User is omitted if the connection event was from an unauthenticated user.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.User" - } - ] - }, - "user_agent": { - "type": "string" - } - } - }, - "codersdk.ConnectionType": { - "type": "string", - "enum": [ - "ssh", - "vscode", - "jetbrains", - "reconnecting_pty", - "workspace_app", - "port_forwarding" - ], - "x-enum-varnames": [ - "ConnectionTypeSSH", - "ConnectionTypeVSCode", - "ConnectionTypeJetBrains", - "ConnectionTypeReconnectingPTY", - "ConnectionTypeWorkspaceApp", - "ConnectionTypePortForwarding" - ] - }, - "codersdk.ConvertLoginRequest": { - "type": "object", - "required": ["password", "to_type"], - "properties": { - "password": { - "type": "string" - }, - "to_type": { - "description": "ToType is the login type to convert to.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.LoginType" - } - ] - } - } - }, - "codersdk.CreateFirstUserRequest": { - "type": "object", - "required": ["email", "password", "username"], - "properties": { - "email": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "trial": { - "type": "boolean" - }, - "trial_info": { - "$ref": "#/definitions/codersdk.CreateFirstUserTrialInfo" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.CreateFirstUserResponse": { - "type": "object", - "properties": { - "organization_id": { - "type": "string", - "format": "uuid" - }, - "user_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.CreateFirstUserTrialInfo": { - "type": "object", - "properties": { - "company_name": { - "type": "string" - }, - "country": { - "type": "string" - }, - "developers": { - "type": "string" - }, - "first_name": { - "type": "string" - }, - "job_title": { - "type": "string" - }, - "last_name": { - "type": "string" - }, - "phone_number": { - "type": "string" - } - } - }, - "codersdk.CreateGroupRequest": { - "type": "object", - "required": ["name"], - "properties": { - "avatar_url": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quota_allowance": { - "type": "integer" - } - } - }, - "codersdk.CreateOrganizationRequest": { - "type": "object", - "required": ["name"], - "properties": { - "description": { - "type": "string" - }, - "display_name": { - "description": "DisplayName will default to the same value as `Name` if not provided.", - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.CreateProvisionerKeyResponse": { - "type": "object", - "properties": { - "key": { - "type": "string" - } - } - }, - "codersdk.CreateTemplateRequest": { - "type": "object", - "required": ["name", "template_version_id"], - "properties": { - "activity_bump_ms": { - "description": "ActivityBumpMillis allows optionally specifying the activity bump\nduration for all workspaces created from this template. Defaults to 1h\nbut can be set to 0 to disable activity bumping.", - "type": "integer" - }, - "allow_user_autostart": { - "description": "AllowUserAutostart allows users to set a schedule for autostarting their\nworkspace. By default this is true. This can only be disabled when using\nan enterprise license.", - "type": "boolean" - }, - "allow_user_autostop": { - "description": "AllowUserAutostop allows users to set a custom workspace TTL to use in\nplace of the template's DefaultTTL field. By default this is true. If\nfalse, the DefaultTTL will always be used. This can only be disabled when\nusing an enterprise license.", - "type": "boolean" - }, - "allow_user_cancel_workspace_jobs": { - "description": "Allow users to cancel in-progress workspace jobs.\n*bool as the default value is \"true\".", - "type": "boolean" - }, - "autostart_requirement": { - "description": "AutostartRequirement allows optionally specifying the autostart allowed days\nfor workspaces created from this template. This is an enterprise feature.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.TemplateAutostartRequirement" - } - ] - }, - "autostop_requirement": { - "description": "AutostopRequirement allows optionally specifying the autostop requirement\nfor workspaces created from this template. This is an enterprise feature.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.TemplateAutostopRequirement" - } - ] - }, - "default_ttl_ms": { - "description": "DefaultTTLMillis allows optionally specifying the default TTL\nfor all workspaces created from this template.", - "type": "integer" - }, - "delete_ttl_ms": { - "description": "TimeTilDormantAutoDeleteMillis allows optionally specifying the max lifetime before Coder\npermanently deletes dormant workspaces created from this template.", - "type": "integer" - }, - "description": { - "description": "Description is a description of what the template contains. It must be\nless than 128 bytes.", - "type": "string" - }, - "disable_everyone_group_access": { - "description": "DisableEveryoneGroupAccess allows optionally disabling the default\nbehavior of granting the 'everyone' group access to use the template.\nIf this is set to true, the template will not be available to all users,\nand must be explicitly granted to users or groups in the permissions settings\nof the template.", - "type": "boolean" - }, - "display_name": { - "description": "DisplayName is the displayed name of the template.", - "type": "string" - }, - "dormant_ttl_ms": { - "description": "TimeTilDormantMillis allows optionally specifying the max lifetime before Coder\nlocks inactive workspaces created from this template.", - "type": "integer" - }, - "failure_ttl_ms": { - "description": "FailureTTLMillis allows optionally specifying the max lifetime before Coder\nstops all resources for failed workspaces created from this template.", - "type": "integer" - }, - "icon": { - "description": "Icon is a relative path or external URL that specifies\nan icon to be displayed in the dashboard.", - "type": "string" - }, - "max_port_share_level": { - "description": "MaxPortShareLevel allows optionally specifying the maximum port share level\nfor workspaces created from the template.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" - } - ] - }, - "name": { - "description": "Name is the name of the template.", - "type": "string" - }, - "require_active_version": { - "description": "RequireActiveVersion mandates that workspaces are built with the active\ntemplate version.", - "type": "boolean" - }, - "template_use_classic_parameter_flow": { - "description": "UseClassicParameterFlow allows optionally specifying whether\nthe template should use the classic parameter flow. The default if unset is\ntrue, and is why `*bool` is used here. When dynamic parameters becomes\nthe default, this will default to false.", - "type": "boolean" - }, - "template_version_id": { - "description": "VersionID is an in-progress or completed job to use as an initial version\nof the template.\n\nThis is required on creation to enable a user-flow of validating a\ntemplate works. There is no reason the data-model cannot support empty\ntemplates, but it doesn't make sense for users.", - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.CreateTemplateVersionDryRunRequest": { - "type": "object", - "properties": { - "rich_parameter_values": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" - } - }, - "user_variable_values": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.VariableValue" - } - }, - "workspace_name": { - "type": "string" - } - } - }, - "codersdk.CreateTemplateVersionRequest": { - "type": "object", - "required": ["provisioner", "storage_method"], - "properties": { - "example_id": { - "type": "string" - }, - "file_id": { - "type": "string", - "format": "uuid" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "provisioner": { - "type": "string", - "enum": ["terraform", "echo"] - }, - "storage_method": { - "enum": ["file"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ProvisionerStorageMethod" - } - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "template_id": { - "description": "TemplateID optionally associates a version with a template.", - "type": "string", - "format": "uuid" - }, - "user_variable_values": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.VariableValue" - } - } - } - }, - "codersdk.CreateTestAuditLogRequest": { - "type": "object", - "properties": { - "action": { - "enum": ["create", "write", "delete", "start", "stop"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.AuditAction" - } - ] - }, - "additional_fields": { - "type": "array", - "items": { - "type": "integer" - } - }, - "build_reason": { - "enum": ["autostart", "autostop", "initiator"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.BuildReason" - } - ] - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "request_id": { - "type": "string", - "format": "uuid" - }, - "resource_id": { - "type": "string", - "format": "uuid" - }, - "resource_type": { - "enum": [ - "template", - "template_version", - "user", - "workspace", - "workspace_build", - "git_ssh_key", - "auditable_group" - ], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ResourceType" - } - ] - }, - "time": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.CreateTokenRequest": { - "type": "object", - "properties": { - "lifetime": { - "type": "integer" - }, - "scope": { - "enum": ["all", "application_connect"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.APIKeyScope" - } - ] - }, - "token_name": { - "type": "string" - } - } - }, - "codersdk.CreateUserRequestWithOrgs": { - "type": "object", - "required": ["email", "username"], - "properties": { - "email": { - "type": "string", - "format": "email" - }, - "login_type": { - "description": "UserLoginType defaults to LoginTypePassword.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.LoginType" - } - ] - }, - "name": { - "type": "string" - }, - "organization_ids": { - "description": "OrganizationIDs is a list of organization IDs that the user should be a member of.", - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "password": { - "type": "string" - }, - "user_status": { - "description": "UserStatus defaults to UserStatusDormant.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.UserStatus" - } - ] - }, - "username": { - "type": "string" - } - } - }, - "codersdk.CreateWorkspaceBuildReason": { - "type": "string", - "enum": [ - "dashboard", - "cli", - "ssh_connection", - "vscode_connection", - "jetbrains_connection" - ], - "x-enum-varnames": [ - "CreateWorkspaceBuildReasonDashboard", - "CreateWorkspaceBuildReasonCLI", - "CreateWorkspaceBuildReasonSSHConnection", - "CreateWorkspaceBuildReasonVSCodeConnection", - "CreateWorkspaceBuildReasonJetbrainsConnection" - ] - }, - "codersdk.CreateWorkspaceBuildRequest": { - "type": "object", - "required": ["transition"], - "properties": { - "dry_run": { - "type": "boolean" - }, - "log_level": { - "description": "Log level changes the default logging verbosity of a provider (\"info\" if empty).", - "enum": ["debug"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ProvisionerLogLevel" - } - ] - }, - "orphan": { - "description": "Orphan may be set for the Destroy transition.", - "type": "boolean" - }, - "reason": { - "description": "Reason sets the reason for the workspace build.", - "enum": [ - "dashboard", - "cli", - "ssh_connection", - "vscode_connection", - "jetbrains_connection" - ], - "allOf": [ - { - "$ref": "#/definitions/codersdk.CreateWorkspaceBuildReason" - } - ] - }, - "rich_parameter_values": { - "description": "ParameterValues are optional. It will write params to the 'workspace' scope.\nThis will overwrite any existing parameters with the same name.\nThis will not delete old params not included in this list.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" - } - }, - "state": { - "type": "array", - "items": { - "type": "integer" - } - }, - "template_version_id": { - "type": "string", - "format": "uuid" - }, - "template_version_preset_id": { - "description": "TemplateVersionPresetID is the ID of the template version preset to use for the build.", - "type": "string", - "format": "uuid" - }, - "transition": { - "enum": ["start", "stop", "delete"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceTransition" - } - ] - } - } - }, - "codersdk.CreateWorkspaceProxyRequest": { - "type": "object", - "required": ["name"], - "properties": { - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.CreateWorkspaceRequest": { - "description": "CreateWorkspaceRequest provides options for creating a new workspace. Only one of TemplateID or TemplateVersionID can be specified, not both. If TemplateID is specified, the active version of the template will be used. Workspace names: - Must start with a letter or number - Can only contain letters, numbers, and hyphens - Cannot contain spaces or special characters - Cannot be named `new` or `create` - Must be unique within your workspaces - Maximum length of 32 characters", - "type": "object", - "required": ["name"], - "properties": { - "automatic_updates": { - "$ref": "#/definitions/codersdk.AutomaticUpdates" - }, - "autostart_schedule": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rich_parameter_values": { - "description": "RichParameterValues allows for additional parameters to be provided\nduring the initial provision.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" - } - }, - "template_id": { - "description": "TemplateID specifies which template should be used for creating the workspace.", - "type": "string", - "format": "uuid" - }, - "template_version_id": { - "description": "TemplateVersionID can be used to specify a specific version of a template for creating the workspace.", - "type": "string", - "format": "uuid" - }, - "template_version_preset_id": { - "type": "string", - "format": "uuid" - }, - "ttl_ms": { - "type": "integer" - } - } - }, - "codersdk.CryptoKey": { - "type": "object", - "properties": { - "deletes_at": { - "type": "string", - "format": "date-time" - }, - "feature": { - "$ref": "#/definitions/codersdk.CryptoKeyFeature" - }, - "secret": { - "type": "string" - }, - "sequence": { - "type": "integer" - }, - "starts_at": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.CryptoKeyFeature": { - "type": "string", - "enum": [ - "workspace_apps_api_key", - "workspace_apps_token", - "oidc_convert", - "tailnet_resume" - ], - "x-enum-varnames": [ - "CryptoKeyFeatureWorkspaceAppsAPIKey", - "CryptoKeyFeatureWorkspaceAppsToken", - "CryptoKeyFeatureOIDCConvert", - "CryptoKeyFeatureTailnetResume" - ] - }, - "codersdk.CustomRoleRequest": { - "type": "object", - "properties": { - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_permissions": { - "description": "OrganizationPermissions are specific to the organization the role belongs to.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - }, - "site_permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - }, - "user_permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - } - } - }, - "codersdk.DAUEntry": { - "type": "object", - "properties": { - "amount": { - "type": "integer" - }, - "date": { - "description": "Date is a string formatted as 2024-01-31.\nTimezone and time information is not included.", - "type": "string" - } - } - }, - "codersdk.DAUsResponse": { - "type": "object", - "properties": { - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.DAUEntry" - } - }, - "tz_hour_offset": { - "type": "integer" - } - } - }, - "codersdk.DERP": { - "type": "object", - "properties": { - "config": { - "$ref": "#/definitions/codersdk.DERPConfig" - }, - "server": { - "$ref": "#/definitions/codersdk.DERPServerConfig" - } - } - }, - "codersdk.DERPConfig": { - "type": "object", - "properties": { - "block_direct": { - "type": "boolean" - }, - "force_websockets": { - "type": "boolean" - }, - "path": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "codersdk.DERPRegion": { - "type": "object", - "properties": { - "latency_ms": { - "type": "number" - }, - "preferred": { - "type": "boolean" - } - } - }, - "codersdk.DERPServerConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - }, - "region_code": { - "type": "string" - }, - "region_id": { - "type": "integer" - }, - "region_name": { - "type": "string" - }, - "relay_url": { - "$ref": "#/definitions/serpent.URL" - }, - "stun_addresses": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.DangerousConfig": { - "type": "object", - "properties": { - "allow_all_cors": { - "type": "boolean" - }, - "allow_path_app_sharing": { - "type": "boolean" - }, - "allow_path_app_site_owner_access": { - "type": "boolean" - } - } - }, - "codersdk.DeleteWebpushSubscription": { - "type": "object", - "properties": { - "endpoint": { - "type": "string" - } - } - }, - "codersdk.DeleteWorkspaceAgentPortShareRequest": { - "type": "object", - "properties": { - "agent_name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "codersdk.DeploymentConfig": { - "type": "object", - "properties": { - "config": { - "$ref": "#/definitions/codersdk.DeploymentValues" - }, - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/serpent.Option" - } - } - } - }, - "codersdk.DeploymentStats": { - "type": "object", - "properties": { - "aggregated_from": { - "description": "AggregatedFrom is the time in which stats are aggregated from.\nThis might be back in time a specific duration or interval.", - "type": "string", - "format": "date-time" - }, - "collected_at": { - "description": "CollectedAt is the time in which stats are collected at.", - "type": "string", - "format": "date-time" - }, - "next_update_at": { - "description": "NextUpdateAt is the time when the next batch of stats will\nbe updated.", - "type": "string", - "format": "date-time" - }, - "session_count": { - "$ref": "#/definitions/codersdk.SessionCountDeploymentStats" - }, - "workspaces": { - "$ref": "#/definitions/codersdk.WorkspaceDeploymentStats" - } - } - }, - "codersdk.DeploymentValues": { - "type": "object", - "properties": { - "access_url": { - "$ref": "#/definitions/serpent.URL" - }, - "additional_csp_policy": { - "type": "array", - "items": { - "type": "string" - } - }, - "address": { - "description": "Deprecated: Use HTTPAddress or TLS.Address instead.", - "allOf": [ - { - "$ref": "#/definitions/serpent.HostPort" - } - ] - }, - "agent_fallback_troubleshooting_url": { - "$ref": "#/definitions/serpent.URL" - }, - "agent_stat_refresh_interval": { - "type": "integer" - }, - "allow_workspace_renames": { - "type": "boolean" - }, - "autobuild_poll_interval": { - "type": "integer" - }, - "browser_only": { - "type": "boolean" - }, - "cache_directory": { - "type": "string" - }, - "cli_upgrade_message": { - "type": "string" - }, - "config": { - "type": "string" - }, - "config_ssh": { - "$ref": "#/definitions/codersdk.SSHConfig" - }, - "dangerous": { - "$ref": "#/definitions/codersdk.DangerousConfig" - }, - "derp": { - "$ref": "#/definitions/codersdk.DERP" - }, - "disable_owner_workspace_exec": { - "type": "boolean" - }, - "disable_password_auth": { - "type": "boolean" - }, - "disable_path_apps": { - "type": "boolean" - }, - "docs_url": { - "$ref": "#/definitions/serpent.URL" - }, - "enable_terraform_debug_mode": { - "type": "boolean" - }, - "ephemeral_deployment": { - "type": "boolean" - }, - "experiments": { - "type": "array", - "items": { - "type": "string" - } - }, - "external_auth": { - "$ref": "#/definitions/serpent.Struct-array_codersdk_ExternalAuthConfig" - }, - "external_token_encryption_keys": { - "type": "array", - "items": { - "type": "string" - } - }, - "healthcheck": { - "$ref": "#/definitions/codersdk.HealthcheckConfig" - }, - "hide_ai_tasks": { - "type": "boolean" - }, - "http_address": { - "description": "HTTPAddress is a string because it may be set to zero to disable.", - "type": "string" - }, - "http_cookies": { - "$ref": "#/definitions/codersdk.HTTPCookieConfig" - }, - "job_hang_detector_interval": { - "type": "integer" - }, - "logging": { - "$ref": "#/definitions/codersdk.LoggingConfig" - }, - "metrics_cache_refresh_interval": { - "type": "integer" - }, - "notifications": { - "$ref": "#/definitions/codersdk.NotificationsConfig" - }, - "oauth2": { - "$ref": "#/definitions/codersdk.OAuth2Config" - }, - "oidc": { - "$ref": "#/definitions/codersdk.OIDCConfig" - }, - "pg_auth": { - "type": "string" - }, - "pg_connection_url": { - "type": "string" - }, - "pprof": { - "$ref": "#/definitions/codersdk.PprofConfig" - }, - "prometheus": { - "$ref": "#/definitions/codersdk.PrometheusConfig" - }, - "provisioner": { - "$ref": "#/definitions/codersdk.ProvisionerConfig" - }, - "proxy_health_status_interval": { - "type": "integer" - }, - "proxy_trusted_headers": { - "type": "array", - "items": { - "type": "string" - } - }, - "proxy_trusted_origins": { - "type": "array", - "items": { - "type": "string" - } - }, - "rate_limit": { - "$ref": "#/definitions/codersdk.RateLimitConfig" - }, - "redirect_to_access_url": { - "type": "boolean" - }, - "scim_api_key": { - "type": "string" - }, - "session_lifetime": { - "$ref": "#/definitions/codersdk.SessionLifetime" - }, - "ssh_keygen_algorithm": { - "type": "string" - }, - "strict_transport_security": { - "type": "integer" - }, - "strict_transport_security_options": { - "type": "array", - "items": { - "type": "string" - } - }, - "support": { - "$ref": "#/definitions/codersdk.SupportConfig" - }, - "swagger": { - "$ref": "#/definitions/codersdk.SwaggerConfig" - }, - "telemetry": { - "$ref": "#/definitions/codersdk.TelemetryConfig" - }, - "terms_of_service_url": { - "type": "string" - }, - "tls": { - "$ref": "#/definitions/codersdk.TLSConfig" - }, - "trace": { - "$ref": "#/definitions/codersdk.TraceConfig" - }, - "update_check": { - "type": "boolean" - }, - "user_quiet_hours_schedule": { - "$ref": "#/definitions/codersdk.UserQuietHoursScheduleConfig" - }, - "verbose": { - "type": "boolean" - }, - "web_terminal_renderer": { - "type": "string" - }, - "wgtunnel_host": { - "type": "string" - }, - "wildcard_access_url": { - "type": "string" - }, - "workspace_hostname_suffix": { - "type": "string" - }, - "workspace_prebuilds": { - "$ref": "#/definitions/codersdk.PrebuildsConfig" - }, - "write_config": { - "type": "boolean" - } - } - }, - "codersdk.DiagnosticExtra": { - "type": "object", - "properties": { - "code": { - "type": "string" - } - } - }, - "codersdk.DiagnosticSeverityString": { - "type": "string", - "enum": ["error", "warning"], - "x-enum-varnames": [ - "DiagnosticSeverityError", - "DiagnosticSeverityWarning" - ] - }, - "codersdk.DisplayApp": { - "type": "string", - "enum": [ - "vscode", - "vscode_insiders", - "web_terminal", - "port_forwarding_helper", - "ssh_helper" - ], - "x-enum-varnames": [ - "DisplayAppVSCodeDesktop", - "DisplayAppVSCodeInsiders", - "DisplayAppWebTerminal", - "DisplayAppPortForward", - "DisplayAppSSH" - ] - }, - "codersdk.DynamicParametersRequest": { - "type": "object", - "properties": { - "id": { - "description": "ID identifies the request. The response contains the same\nID so that the client can match it to the request.", - "type": "integer" - }, - "inputs": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "owner_id": { - "description": "OwnerID if uuid.Nil, it defaults to `codersdk.Me`", - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.DynamicParametersResponse": { - "type": "object", - "properties": { - "diagnostics": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.FriendlyDiagnostic" - } - }, - "id": { - "type": "integer" - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.PreviewParameter" - } - } - } - }, - "codersdk.Entitlement": { - "type": "string", - "enum": ["entitled", "grace_period", "not_entitled"], - "x-enum-varnames": [ - "EntitlementEntitled", - "EntitlementGracePeriod", - "EntitlementNotEntitled" - ] - }, - "codersdk.Entitlements": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "type": "string" - } - }, - "features": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.Feature" - } - }, - "has_license": { - "type": "boolean" - }, - "refreshed_at": { - "type": "string", - "format": "date-time" - }, - "require_telemetry": { - "type": "boolean" - }, - "trial": { - "type": "boolean" - }, - "warnings": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.Experiment": { - "type": "string", - "enum": [ - "example", - "auto-fill-parameters", - "notifications", - "workspace-usage", - "web-push", - "oauth2", - "mcp-server-http" - ], - "x-enum-comments": { - "ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.", - "ExperimentExample": "This isn't used for anything.", - "ExperimentMCPServerHTTP": "Enables the MCP HTTP server functionality.", - "ExperimentNotifications": "Sends notifications via SMTP and webhooks following certain events.", - "ExperimentOAuth2": "Enables OAuth2 provider functionality.", - "ExperimentWebPush": "Enables web push notifications through the browser.", - "ExperimentWorkspaceUsage": "Enables the new workspace usage tracking." - }, - "x-enum-varnames": [ - "ExperimentExample", - "ExperimentAutoFillParameters", - "ExperimentNotifications", - "ExperimentWorkspaceUsage", - "ExperimentWebPush", - "ExperimentOAuth2", - "ExperimentMCPServerHTTP" - ] - }, - "codersdk.ExternalAuth": { - "type": "object", - "properties": { - "app_install_url": { - "description": "AppInstallURL is the URL to install the app.", - "type": "string" - }, - "app_installable": { - "description": "AppInstallable is true if the request for app installs was successful.", - "type": "boolean" - }, - "authenticated": { - "type": "boolean" - }, - "device": { - "type": "boolean" - }, - "display_name": { - "type": "string" - }, - "installations": { - "description": "AppInstallations are the installations that the user has access to.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ExternalAuthAppInstallation" - } - }, - "user": { - "description": "User is the user that authenticated with the provider.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.ExternalAuthUser" - } - ] - } - } - }, - "codersdk.ExternalAuthAppInstallation": { - "type": "object", - "properties": { - "account": { - "$ref": "#/definitions/codersdk.ExternalAuthUser" - }, - "configure_url": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "codersdk.ExternalAuthConfig": { - "type": "object", - "properties": { - "app_install_url": { - "type": "string" - }, - "app_installations_url": { - "type": "string" - }, - "auth_url": { - "type": "string" - }, - "client_id": { - "type": "string" - }, - "device_code_url": { - "type": "string" - }, - "device_flow": { - "type": "boolean" - }, - "display_icon": { - "description": "DisplayIcon is a URL to an icon to display in the UI.", - "type": "string" - }, - "display_name": { - "description": "DisplayName is shown in the UI to identify the auth config.", - "type": "string" - }, - "id": { - "description": "ID is a unique identifier for the auth config.\nIt defaults to `type` when not provided.", - "type": "string" - }, - "no_refresh": { - "type": "boolean" - }, - "regex": { - "description": "Regex allows API requesters to match an auth config by\na string (e.g. coder.com) instead of by it's type.\n\nGit clone makes use of this by parsing the URL from:\n'Username for \"https://github.com\":'\nAnd sending it to the Coder server to match against the Regex.", - "type": "string" - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "token_url": { - "type": "string" - }, - "type": { - "description": "Type is the type of external auth config.", - "type": "string" - }, - "validate_url": { - "type": "string" - } - } - }, - "codersdk.ExternalAuthDevice": { - "type": "object", - "properties": { - "device_code": { - "type": "string" - }, - "expires_in": { - "type": "integer" - }, - "interval": { - "type": "integer" - }, - "user_code": { - "type": "string" - }, - "verification_uri": { - "type": "string" - } - } - }, - "codersdk.ExternalAuthLink": { - "type": "object", - "properties": { - "authenticated": { - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "expires": { - "type": "string", - "format": "date-time" - }, - "has_refresh_token": { - "type": "boolean" - }, - "provider_id": { - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "validate_error": { - "type": "string" - } - } - }, - "codersdk.ExternalAuthUser": { - "type": "object", - "properties": { - "avatar_url": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "login": { - "type": "string" - }, - "name": { - "type": "string" - }, - "profile_url": { - "type": "string" - } - } - }, - "codersdk.Feature": { - "type": "object", - "properties": { - "actual": { - "type": "integer" - }, - "enabled": { - "type": "boolean" - }, - "entitlement": { - "$ref": "#/definitions/codersdk.Entitlement" - }, - "limit": { - "type": "integer" - }, - "soft_limit": { - "description": "SoftLimit is the soft limit of the feature, and is only used for showing\nincluded limits in the dashboard. No license validation or warnings are\ngenerated from this value.", - "type": "integer" - }, - "usage_period": { - "description": "UsagePeriod denotes that the usage is a counter that accumulates over\nthis period (and most likely resets with the issuance of the next\nlicense).\n\nThese dates are determined from the license that this entitlement comes\nfrom, see enterprise/coderd/license/license.go.\n\nOnly certain features set these fields:\n- FeatureManagedAgentLimit", - "allOf": [ - { - "$ref": "#/definitions/codersdk.UsagePeriod" - } - ] - } - } - }, - "codersdk.FriendlyDiagnostic": { - "type": "object", - "properties": { - "detail": { - "type": "string" - }, - "extra": { - "$ref": "#/definitions/codersdk.DiagnosticExtra" - }, - "severity": { - "$ref": "#/definitions/codersdk.DiagnosticSeverityString" - }, - "summary": { - "type": "string" - } - } - }, - "codersdk.GenerateAPIKeyResponse": { - "type": "object", - "properties": { - "key": { - "type": "string" - } - } - }, - "codersdk.GetInboxNotificationResponse": { - "type": "object", - "properties": { - "notification": { - "$ref": "#/definitions/codersdk.InboxNotification" - }, - "unread_count": { - "type": "integer" - } - } - }, - "codersdk.GetUserStatusCountsResponse": { - "type": "object", - "properties": { - "status_counts": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.UserStatusChangeCount" - } - } - } - } - }, - "codersdk.GetUsersResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.User" - } - } - } - }, - "codersdk.GitSSHKey": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "public_key": { - "description": "PublicKey is the SSH public key in OpenSSH format.\nExample: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3OmYJvT7q1cF1azbybYy0OZ9yrXfA+M6Lr4vzX5zlp\\n\"\nNote: The key includes a trailing newline (\\n).", - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "user_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.GithubAuthMethod": { - "type": "object", - "properties": { - "default_provider_configured": { - "type": "boolean" - }, - "enabled": { - "type": "boolean" - } - } - }, - "codersdk.Group": { - "type": "object", - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "display_name": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ReducedUser" - } - }, - "name": { - "type": "string" - }, - "organization_display_name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "organization_name": { - "type": "string" - }, - "quota_allowance": { - "type": "integer" - }, - "source": { - "$ref": "#/definitions/codersdk.GroupSource" - }, - "total_member_count": { - "description": "How many members are in this group. Shows the total count,\neven if the user is not authorized to read group member details.\nMay be greater than `len(Group.Members)`.", - "type": "integer" - } - } - }, - "codersdk.GroupSource": { - "type": "string", - "enum": ["user", "oidc"], - "x-enum-varnames": ["GroupSourceUser", "GroupSourceOIDC"] - }, - "codersdk.GroupSyncSettings": { - "type": "object", - "properties": { - "auto_create_missing_groups": { - "description": "AutoCreateMissing controls whether groups returned by the OIDC provider\nare automatically created in Coder if they are missing.", - "type": "boolean" - }, - "field": { - "description": "Field is the name of the claim field that specifies what groups a user\nshould be in. If empty, no groups will be synced.", - "type": "string" - }, - "legacy_group_name_mapping": { - "description": "LegacyNameMapping is deprecated. It remaps an IDP group name to\na Coder group name. Since configuration is now done at runtime,\ngroup IDs are used to account for group renames.\nFor legacy configurations, this config option has to remain.\nDeprecated: Use Mapping instead.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "mapping": { - "description": "Mapping is a map from OIDC groups to Coder group IDs", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "regex_filter": { - "description": "RegexFilter is a regular expression that filters the groups returned by\nthe OIDC provider. Any group not matched by this regex will be ignored.\nIf the group filter is nil, then no group filtering will occur.", - "allOf": [ - { - "$ref": "#/definitions/regexp.Regexp" - } - ] - } - } - }, - "codersdk.HTTPCookieConfig": { - "type": "object", - "properties": { - "same_site": { - "type": "string" - }, - "secure_auth_cookie": { - "type": "boolean" - } - } - }, - "codersdk.Healthcheck": { - "type": "object", - "properties": { - "interval": { - "description": "Interval specifies the seconds between each health check.", - "type": "integer" - }, - "threshold": { - "description": "Threshold specifies the number of consecutive failed health checks before returning \"unhealthy\".", - "type": "integer" - }, - "url": { - "description": "URL specifies the endpoint to check for the app health.", - "type": "string" - } - } - }, - "codersdk.HealthcheckConfig": { - "type": "object", - "properties": { - "refresh": { - "type": "integer" - }, - "threshold_database": { - "type": "integer" - } - } - }, - "codersdk.InboxNotification": { - "type": "object", - "properties": { - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.InboxNotificationAction" - } - }, - "content": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "read_at": { - "type": "string" - }, - "targets": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "template_id": { - "type": "string", - "format": "uuid" - }, - "title": { - "type": "string" - }, - "user_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.InboxNotificationAction": { - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "codersdk.InsightsReportInterval": { - "type": "string", - "enum": ["day", "week"], - "x-enum-varnames": [ - "InsightsReportIntervalDay", - "InsightsReportIntervalWeek" - ] - }, - "codersdk.IssueReconnectingPTYSignedTokenRequest": { - "type": "object", - "required": ["agentID", "url"], - "properties": { - "agentID": { - "type": "string", - "format": "uuid" - }, - "url": { - "description": "URL is the URL of the reconnecting-pty endpoint you are connecting to.", - "type": "string" - } - } - }, - "codersdk.IssueReconnectingPTYSignedTokenResponse": { - "type": "object", - "properties": { - "signed_token": { - "type": "string" - } - } - }, - "codersdk.JobErrorCode": { - "type": "string", - "enum": ["REQUIRED_TEMPLATE_VARIABLES"], - "x-enum-varnames": ["RequiredTemplateVariables"] - }, - "codersdk.License": { - "type": "object", - "properties": { - "claims": { - "description": "Claims are the JWT claims asserted by the license. Here we use\na generic string map to ensure that all data from the server is\nparsed verbatim, not just the fields this version of Coder\nunderstands.", - "type": "object", - "additionalProperties": true - }, - "id": { - "type": "integer" - }, - "uploaded_at": { - "type": "string", - "format": "date-time" - }, - "uuid": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.LinkConfig": { - "type": "object", - "properties": { - "icon": { - "type": "string", - "enum": ["bug", "chat", "docs"] - }, - "name": { - "type": "string" - }, - "target": { - "type": "string" - } - } - }, - "codersdk.ListInboxNotificationsResponse": { - "type": "object", - "properties": { - "notifications": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.InboxNotification" - } - }, - "unread_count": { - "type": "integer" - } - } - }, - "codersdk.LogLevel": { - "type": "string", - "enum": ["trace", "debug", "info", "warn", "error"], - "x-enum-varnames": [ - "LogLevelTrace", - "LogLevelDebug", - "LogLevelInfo", - "LogLevelWarn", - "LogLevelError" - ] - }, - "codersdk.LogSource": { - "type": "string", - "enum": ["provisioner_daemon", "provisioner"], - "x-enum-varnames": ["LogSourceProvisionerDaemon", "LogSourceProvisioner"] - }, - "codersdk.LoggingConfig": { - "type": "object", - "properties": { - "human": { - "type": "string" - }, - "json": { - "type": "string" - }, - "log_filter": { - "type": "array", - "items": { - "type": "string" - } - }, - "stackdriver": { - "type": "string" - } - } - }, - "codersdk.LoginType": { - "type": "string", - "enum": ["", "password", "github", "oidc", "token", "none"], - "x-enum-varnames": [ - "LoginTypeUnknown", - "LoginTypePassword", - "LoginTypeGithub", - "LoginTypeOIDC", - "LoginTypeToken", - "LoginTypeNone" - ] - }, - "codersdk.LoginWithPasswordRequest": { - "type": "object", - "required": ["email", "password"], - "properties": { - "email": { - "type": "string", - "format": "email" - }, - "password": { - "type": "string" - } - } - }, - "codersdk.LoginWithPasswordResponse": { - "type": "object", - "required": ["session_token"], - "properties": { - "session_token": { - "type": "string" - } - } - }, - "codersdk.MatchedProvisioners": { - "type": "object", - "properties": { - "available": { - "description": "Available is the number of provisioner daemons that are available to\ntake jobs. This may be less than the count if some provisioners are\nbusy or have been stopped.", - "type": "integer" - }, - "count": { - "description": "Count is the number of provisioner daemons that matched the given\ntags. If the count is 0, it means no provisioner daemons matched the\nrequested tags.", - "type": "integer" - }, - "most_recently_seen": { - "description": "MostRecentlySeen is the most recently seen time of the set of matched\nprovisioners. If no provisioners matched, this field will be null.", - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.MinimalOrganization": { - "type": "object", - "required": ["id"], - "properties": { - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.MinimalUser": { - "type": "object", - "required": ["id", "username"], - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.NotificationMethodsResponse": { - "type": "object", - "properties": { - "available": { - "type": "array", - "items": { - "type": "string" - } - }, - "default": { - "type": "string" - } - } - }, - "codersdk.NotificationPreference": { - "type": "object", - "properties": { - "disabled": { - "type": "boolean" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.NotificationTemplate": { - "type": "object", - "properties": { - "actions": { - "type": "string" - }, - "body_template": { - "type": "string" - }, - "enabled_by_default": { - "type": "boolean" - }, - "group": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "kind": { - "type": "string" - }, - "method": { - "type": "string" - }, - "name": { - "type": "string" - }, - "title_template": { - "type": "string" - } - } - }, - "codersdk.NotificationsConfig": { - "type": "object", - "properties": { - "dispatch_timeout": { - "description": "How long to wait while a notification is being sent before giving up.", - "type": "integer" - }, - "email": { - "description": "SMTP settings.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.NotificationsEmailConfig" - } - ] - }, - "fetch_interval": { - "description": "How often to query the database for queued notifications.", - "type": "integer" - }, - "inbox": { - "description": "Inbox settings.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.NotificationsInboxConfig" - } - ] - }, - "lease_count": { - "description": "How many notifications a notifier should lease per fetch interval.", - "type": "integer" - }, - "lease_period": { - "description": "How long a notifier should lease a message. This is effectively how long a notification is 'owned'\nby a notifier, and once this period expires it will be available for lease by another notifier. Leasing\nis important in order for multiple running notifiers to not pick the same messages to deliver concurrently.\nThis lease period will only expire if a notifier shuts down ungracefully; a dispatch of the notification\nreleases the lease.", - "type": "integer" - }, - "max_send_attempts": { - "description": "The upper limit of attempts to send a notification.", - "type": "integer" - }, - "method": { - "description": "Which delivery method to use (available options: 'smtp', 'webhook').", - "type": "string" - }, - "retry_interval": { - "description": "The minimum time between retries.", - "type": "integer" - }, - "sync_buffer_size": { - "description": "The notifications system buffers message updates in memory to ease pressure on the database.\nThis option controls how many updates are kept in memory. The lower this value the\nlower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the\ndatabase. It is recommended to keep this option at its default value.", - "type": "integer" - }, - "sync_interval": { - "description": "The notifications system buffers message updates in memory to ease pressure on the database.\nThis option controls how often it synchronizes its state with the database. The shorter this value the\nlower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the\ndatabase. It is recommended to keep this option at its default value.", - "type": "integer" - }, - "webhook": { - "description": "Webhook settings.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.NotificationsWebhookConfig" - } - ] - } - } - }, - "codersdk.NotificationsEmailAuthConfig": { - "type": "object", - "properties": { - "identity": { - "description": "Identity for PLAIN auth.", - "type": "string" - }, - "password": { - "description": "Password for LOGIN/PLAIN auth.", - "type": "string" - }, - "password_file": { - "description": "File from which to load the password for LOGIN/PLAIN auth.", - "type": "string" - }, - "username": { - "description": "Username for LOGIN/PLAIN auth.", - "type": "string" - } - } - }, - "codersdk.NotificationsEmailConfig": { - "type": "object", - "properties": { - "auth": { - "description": "Authentication details.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.NotificationsEmailAuthConfig" - } - ] - }, - "force_tls": { - "description": "ForceTLS causes a TLS connection to be attempted.", - "type": "boolean" - }, - "from": { - "description": "The sender's address.", - "type": "string" - }, - "hello": { - "description": "The hostname identifying the SMTP server.", - "type": "string" - }, - "smarthost": { - "description": "The intermediary SMTP host through which emails are sent (host:port).", - "type": "string" - }, - "tls": { - "description": "TLS details.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.NotificationsEmailTLSConfig" - } - ] - } - } - }, - "codersdk.NotificationsEmailTLSConfig": { - "type": "object", - "properties": { - "ca_file": { - "description": "CAFile specifies the location of the CA certificate to use.", - "type": "string" - }, - "cert_file": { - "description": "CertFile specifies the location of the certificate to use.", - "type": "string" - }, - "insecure_skip_verify": { - "description": "InsecureSkipVerify skips target certificate validation.", - "type": "boolean" - }, - "key_file": { - "description": "KeyFile specifies the location of the key to use.", - "type": "string" - }, - "server_name": { - "description": "ServerName to verify the hostname for the targets.", - "type": "string" - }, - "start_tls": { - "description": "StartTLS attempts to upgrade plain connections to TLS.", - "type": "boolean" - } - } - }, - "codersdk.NotificationsInboxConfig": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "codersdk.NotificationsSettings": { - "type": "object", - "properties": { - "notifier_paused": { - "type": "boolean" - } - } - }, - "codersdk.NotificationsWebhookConfig": { - "type": "object", - "properties": { - "endpoint": { - "description": "The URL to which the payload will be sent with an HTTP POST request.", - "allOf": [ - { - "$ref": "#/definitions/serpent.URL" - } - ] - } - } - }, - "codersdk.NullHCLString": { - "type": "object", - "properties": { - "valid": { - "type": "boolean" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.OAuth2AppEndpoints": { - "type": "object", - "properties": { - "authorization": { - "type": "string" - }, - "device_authorization": { - "description": "DeviceAuth is optional.", - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "codersdk.OAuth2AuthorizationServerMetadata": { - "type": "object", - "properties": { - "authorization_endpoint": { - "type": "string" - }, - "code_challenge_methods_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "grant_types_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "issuer": { - "type": "string" - }, - "registration_endpoint": { - "type": "string" - }, - "response_types_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "scopes_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "token_endpoint": { - "type": "string" - }, - "token_endpoint_auth_methods_supported": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.OAuth2ClientConfiguration": { - "type": "object", - "properties": { - "client_id": { - "type": "string" - }, - "client_id_issued_at": { - "type": "integer" - }, - "client_name": { - "type": "string" - }, - "client_secret_expires_at": { - "type": "integer" - }, - "client_uri": { - "type": "string" - }, - "contacts": { - "type": "array", - "items": { - "type": "string" - } - }, - "grant_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "jwks": { - "type": "object" - }, - "jwks_uri": { - "type": "string" - }, - "logo_uri": { - "type": "string" - }, - "policy_uri": { - "type": "string" - }, - "redirect_uris": { - "type": "array", - "items": { - "type": "string" - } - }, - "registration_access_token": { - "type": "string" - }, - "registration_client_uri": { - "type": "string" - }, - "response_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "software_id": { - "type": "string" - }, - "software_version": { - "type": "string" - }, - "token_endpoint_auth_method": { - "type": "string" - }, - "tos_uri": { - "type": "string" - } - } - }, - "codersdk.OAuth2ClientRegistrationRequest": { - "type": "object", - "properties": { - "client_name": { - "type": "string" - }, - "client_uri": { - "type": "string" - }, - "contacts": { - "type": "array", - "items": { - "type": "string" - } - }, - "grant_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "jwks": { - "type": "object" - }, - "jwks_uri": { - "type": "string" - }, - "logo_uri": { - "type": "string" - }, - "policy_uri": { - "type": "string" - }, - "redirect_uris": { - "type": "array", - "items": { - "type": "string" - } - }, - "response_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "software_id": { - "type": "string" - }, - "software_statement": { - "type": "string" - }, - "software_version": { - "type": "string" - }, - "token_endpoint_auth_method": { - "type": "string" - }, - "tos_uri": { - "type": "string" - } - } - }, - "codersdk.OAuth2ClientRegistrationResponse": { - "type": "object", - "properties": { - "client_id": { - "type": "string" - }, - "client_id_issued_at": { - "type": "integer" - }, - "client_name": { - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "client_secret_expires_at": { - "type": "integer" - }, - "client_uri": { - "type": "string" - }, - "contacts": { - "type": "array", - "items": { - "type": "string" - } - }, - "grant_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "jwks": { - "type": "object" - }, - "jwks_uri": { - "type": "string" - }, - "logo_uri": { - "type": "string" - }, - "policy_uri": { - "type": "string" - }, - "redirect_uris": { - "type": "array", - "items": { - "type": "string" - } - }, - "registration_access_token": { - "type": "string" - }, - "registration_client_uri": { - "type": "string" - }, - "response_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "software_id": { - "type": "string" - }, - "software_version": { - "type": "string" - }, - "token_endpoint_auth_method": { - "type": "string" - }, - "tos_uri": { - "type": "string" - } - } - }, - "codersdk.OAuth2Config": { - "type": "object", - "properties": { - "github": { - "$ref": "#/definitions/codersdk.OAuth2GithubConfig" - } - } - }, - "codersdk.OAuth2GithubConfig": { - "type": "object", - "properties": { - "allow_everyone": { - "type": "boolean" - }, - "allow_signups": { - "type": "boolean" - }, - "allowed_orgs": { - "type": "array", - "items": { - "type": "string" - } - }, - "allowed_teams": { - "type": "array", - "items": { - "type": "string" - } - }, - "client_id": { - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "default_provider_enable": { - "type": "boolean" - }, - "device_flow": { - "type": "boolean" - }, - "enterprise_base_url": { - "type": "string" - } - } - }, - "codersdk.OAuth2ProtectedResourceMetadata": { - "type": "object", - "properties": { - "authorization_servers": { - "type": "array", - "items": { - "type": "string" - } - }, - "bearer_methods_supported": { - "type": "array", - "items": { - "type": "string" - } - }, - "resource": { - "type": "string" - }, - "scopes_supported": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.OAuth2ProviderApp": { - "type": "object", - "properties": { - "callback_url": { - "type": "string" - }, - "endpoints": { - "description": "Endpoints are included in the app response for easier discovery. The OAuth2\nspec does not have a defined place to find these (for comparison, OIDC has\na '/.well-known/openid-configuration' endpoint).", - "allOf": [ - { - "$ref": "#/definitions/codersdk.OAuth2AppEndpoints" - } - ] - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.OAuth2ProviderAppSecret": { - "type": "object", - "properties": { - "client_secret_truncated": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "last_used_at": { - "type": "string" - } - } - }, - "codersdk.OAuth2ProviderAppSecretFull": { - "type": "object", - "properties": { - "client_secret_full": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.OAuthConversionResponse": { - "type": "object", - "properties": { - "expires_at": { - "type": "string", - "format": "date-time" - }, - "state_string": { - "type": "string" - }, - "to_type": { - "$ref": "#/definitions/codersdk.LoginType" - }, - "user_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.OIDCAuthMethod": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "iconUrl": { - "type": "string" - }, - "signInText": { - "type": "string" - } - } - }, - "codersdk.OIDCConfig": { - "type": "object", - "properties": { - "allow_signups": { - "type": "boolean" - }, - "auth_url_params": { - "type": "object" - }, - "client_cert_file": { - "type": "string" - }, - "client_id": { - "type": "string" - }, - "client_key_file": { - "description": "ClientKeyFile \u0026 ClientCertFile are used in place of ClientSecret for PKI auth.", - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "email_domain": { - "type": "array", - "items": { - "type": "string" - } - }, - "email_field": { - "type": "string" - }, - "group_allow_list": { - "type": "array", - "items": { - "type": "string" - } - }, - "group_auto_create": { - "type": "boolean" - }, - "group_mapping": { - "type": "object" - }, - "group_regex_filter": { - "$ref": "#/definitions/serpent.Regexp" - }, - "groups_field": { - "type": "string" - }, - "icon_url": { - "$ref": "#/definitions/serpent.URL" - }, - "ignore_email_verified": { - "type": "boolean" - }, - "ignore_user_info": { - "description": "IgnoreUserInfo \u0026 UserInfoFromAccessToken are mutually exclusive. Only 1\ncan be set to true. Ideally this would be an enum with 3 states, ['none',\n'userinfo', 'access_token']. However, for backward compatibility,\n`ignore_user_info` must remain. And `access_token` is a niche, non-spec\ncompliant edge case. So it's use is rare, and should not be advised.", - "type": "boolean" - }, - "issuer_url": { - "type": "string" - }, - "name_field": { - "type": "string" - }, - "organization_assign_default": { - "type": "boolean" - }, - "organization_field": { - "type": "string" - }, - "organization_mapping": { - "type": "object" - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "sign_in_text": { - "type": "string" - }, - "signups_disabled_text": { - "type": "string" - }, - "skip_issuer_checks": { - "type": "boolean" - }, - "source_user_info_from_access_token": { - "description": "UserInfoFromAccessToken as mentioned above is an edge case. This allows\nsourcing the user_info from the access token itself instead of a user_info\nendpoint. This assumes the access token is a valid JWT with a set of claims to\nbe merged with the id_token.", - "type": "boolean" - }, - "user_role_field": { - "type": "string" - }, - "user_role_mapping": { - "type": "object" - }, - "user_roles_default": { - "type": "array", - "items": { - "type": "string" - } - }, - "username_field": { - "type": "string" - } - } - }, - "codersdk.OptionType": { - "type": "string", - "enum": ["string", "number", "bool", "list(string)"], - "x-enum-varnames": [ - "OptionTypeString", - "OptionTypeNumber", - "OptionTypeBoolean", - "OptionTypeListString" - ] - }, - "codersdk.Organization": { - "type": "object", - "required": ["created_at", "id", "is_default", "updated_at"], - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "description": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "is_default": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.OrganizationMember": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.SlimRole" - } - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "user_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.OrganizationMemberWithUserData": { - "type": "object", - "properties": { - "avatar_url": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "email": { - "type": "string" - }, - "global_roles": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.SlimRole" - } - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.SlimRole" - } - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "user_id": { - "type": "string", - "format": "uuid" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.OrganizationSyncSettings": { - "type": "object", - "properties": { - "field": { - "description": "Field selects the claim field to be used as the created user's\norganizations. If the field is the empty string, then no organization\nupdates will ever come from the OIDC provider.", - "type": "string" - }, - "mapping": { - "description": "Mapping maps from an OIDC claim --\u003e Coder organization uuid", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "organization_assign_default": { - "description": "AssignDefault will ensure the default org is always included\nfor every user, regardless of their claims. This preserves legacy behavior.", - "type": "boolean" - } - } - }, - "codersdk.PaginatedMembersResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.OrganizationMemberWithUserData" - } - } - } - }, - "codersdk.ParameterFormType": { - "type": "string", - "enum": [ - "", - "radio", - "slider", - "input", - "dropdown", - "checkbox", - "switch", - "multi-select", - "tag-select", - "textarea", - "error" - ], - "x-enum-varnames": [ - "ParameterFormTypeDefault", - "ParameterFormTypeRadio", - "ParameterFormTypeSlider", - "ParameterFormTypeInput", - "ParameterFormTypeDropdown", - "ParameterFormTypeCheckbox", - "ParameterFormTypeSwitch", - "ParameterFormTypeMultiSelect", - "ParameterFormTypeTagSelect", - "ParameterFormTypeTextArea", - "ParameterFormTypeError" - ] - }, - "codersdk.PatchGroupIDPSyncConfigRequest": { - "type": "object", - "properties": { - "auto_create_missing_groups": { - "type": "boolean" - }, - "field": { - "type": "string" - }, - "regex_filter": { - "$ref": "#/definitions/regexp.Regexp" - } - } - }, - "codersdk.PatchGroupIDPSyncMappingRequest": { - "type": "object", - "properties": { - "add": { - "type": "array", - "items": { - "type": "object", - "properties": { - "gets": { - "description": "The ID of the Coder resource the user should be added to", - "type": "string" - }, - "given": { - "description": "The IdP claim the user has", - "type": "string" - } - } - } - }, - "remove": { - "type": "array", - "items": { - "type": "object", - "properties": { - "gets": { - "description": "The ID of the Coder resource the user should be added to", - "type": "string" - }, - "given": { - "description": "The IdP claim the user has", - "type": "string" - } - } - } - } - } - }, - "codersdk.PatchGroupRequest": { - "type": "object", - "properties": { - "add_users": { - "type": "array", - "items": { - "type": "string" - } - }, - "avatar_url": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quota_allowance": { - "type": "integer" - }, - "remove_users": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.PatchOrganizationIDPSyncConfigRequest": { - "type": "object", - "properties": { - "assign_default": { - "type": "boolean" - }, - "field": { - "type": "string" - } - } - }, - "codersdk.PatchOrganizationIDPSyncMappingRequest": { - "type": "object", - "properties": { - "add": { - "type": "array", - "items": { - "type": "object", - "properties": { - "gets": { - "description": "The ID of the Coder resource the user should be added to", - "type": "string" - }, - "given": { - "description": "The IdP claim the user has", - "type": "string" - } - } - } - }, - "remove": { - "type": "array", - "items": { - "type": "object", - "properties": { - "gets": { - "description": "The ID of the Coder resource the user should be added to", - "type": "string" - }, - "given": { - "description": "The IdP claim the user has", - "type": "string" - } - } - } - } - } - }, - "codersdk.PatchRoleIDPSyncConfigRequest": { - "type": "object", - "properties": { - "field": { - "type": "string" - } - } - }, - "codersdk.PatchRoleIDPSyncMappingRequest": { - "type": "object", - "properties": { - "add": { - "type": "array", - "items": { - "type": "object", - "properties": { - "gets": { - "description": "The ID of the Coder resource the user should be added to", - "type": "string" - }, - "given": { - "description": "The IdP claim the user has", - "type": "string" - } - } - } - }, - "remove": { - "type": "array", - "items": { - "type": "object", - "properties": { - "gets": { - "description": "The ID of the Coder resource the user should be added to", - "type": "string" - }, - "given": { - "description": "The IdP claim the user has", - "type": "string" - } - } - } - } - } - }, - "codersdk.PatchTemplateVersionRequest": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.PatchWorkspaceProxy": { - "type": "object", - "required": ["display_name", "icon", "id", "name"], - "properties": { - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - }, - "regenerate_token": { - "type": "boolean" - } - } - }, - "codersdk.Permission": { - "type": "object", - "properties": { - "action": { - "$ref": "#/definitions/codersdk.RBACAction" - }, - "negate": { - "description": "Negate makes this a negative permission", - "type": "boolean" - }, - "resource_type": { - "$ref": "#/definitions/codersdk.RBACResource" - } - } - }, - "codersdk.PostOAuth2ProviderAppRequest": { - "type": "object", - "required": ["callback_url", "name"], - "properties": { - "callback_url": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.PostWorkspaceUsageRequest": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "format": "uuid" - }, - "app_name": { - "$ref": "#/definitions/codersdk.UsageAppName" - } - } - }, - "codersdk.PprofConfig": { - "type": "object", - "properties": { - "address": { - "$ref": "#/definitions/serpent.HostPort" - }, - "enable": { - "type": "boolean" - } - } - }, - "codersdk.PrebuildsConfig": { - "type": "object", - "properties": { - "failure_hard_limit": { - "description": "FailureHardLimit defines the maximum number of consecutive failed prebuild attempts allowed\nbefore a preset is considered to be in a hard limit state. When a preset hits this limit,\nno new prebuilds will be created until the limit is reset.\nFailureHardLimit is disabled when set to zero.", - "type": "integer" - }, - "reconciliation_backoff_interval": { - "description": "ReconciliationBackoffInterval specifies the amount of time to increase the backoff interval\nwhen errors occur during reconciliation.", - "type": "integer" - }, - "reconciliation_backoff_lookback": { - "description": "ReconciliationBackoffLookback determines the time window to look back when calculating\nthe number of failed prebuilds, which influences the backoff strategy.", - "type": "integer" - }, - "reconciliation_interval": { - "description": "ReconciliationInterval defines how often the workspace prebuilds state should be reconciled.", - "type": "integer" - } - } - }, - "codersdk.PrebuildsSettings": { - "type": "object", - "properties": { - "reconciliation_paused": { - "type": "boolean" - } - } - }, - "codersdk.Preset": { - "type": "object", - "properties": { - "default": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.PresetParameter" - } - } - } - }, - "codersdk.PresetParameter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.PreviewParameter": { - "type": "object", - "properties": { - "default_value": { - "$ref": "#/definitions/codersdk.NullHCLString" - }, - "description": { - "type": "string" - }, - "diagnostics": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.FriendlyDiagnostic" - } - }, - "display_name": { - "type": "string" - }, - "ephemeral": { - "type": "boolean" - }, - "form_type": { - "$ref": "#/definitions/codersdk.ParameterFormType" - }, - "icon": { - "type": "string" - }, - "mutable": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.PreviewParameterOption" - } - }, - "order": { - "description": "legacy_variable_name was removed (= 14)", - "type": "integer" - }, - "required": { - "type": "boolean" - }, - "styling": { - "$ref": "#/definitions/codersdk.PreviewParameterStyling" - }, - "type": { - "$ref": "#/definitions/codersdk.OptionType" - }, - "validations": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.PreviewParameterValidation" - } - }, - "value": { - "$ref": "#/definitions/codersdk.NullHCLString" - } - } - }, - "codersdk.PreviewParameterOption": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "value": { - "$ref": "#/definitions/codersdk.NullHCLString" - } - } - }, - "codersdk.PreviewParameterStyling": { - "type": "object", - "properties": { - "disabled": { - "type": "boolean" - }, - "label": { - "type": "string" - }, - "mask_input": { - "type": "boolean" - }, - "placeholder": { - "type": "string" - } - } - }, - "codersdk.PreviewParameterValidation": { - "type": "object", - "properties": { - "validation_error": { - "type": "string" - }, - "validation_max": { - "type": "integer" - }, - "validation_min": { - "type": "integer" - }, - "validation_monotonic": { - "type": "string" - }, - "validation_regex": { - "description": "All validation attributes are optional.", - "type": "string" - } - } - }, - "codersdk.PrometheusConfig": { - "type": "object", - "properties": { - "address": { - "$ref": "#/definitions/serpent.HostPort" - }, - "aggregate_agent_stats_by": { - "type": "array", - "items": { - "type": "string" - } - }, - "collect_agent_stats": { - "type": "boolean" - }, - "collect_db_metrics": { - "type": "boolean" - }, - "enable": { - "type": "boolean" - } - } - }, - "codersdk.ProvisionerConfig": { - "type": "object", - "properties": { - "daemon_poll_interval": { - "type": "integer" - }, - "daemon_poll_jitter": { - "type": "integer" - }, - "daemon_psk": { - "type": "string" - }, - "daemon_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "daemons": { - "description": "Daemons is the number of built-in terraform provisioners.", - "type": "integer" - }, - "force_cancel_interval": { - "type": "integer" - } - } - }, - "codersdk.ProvisionerDaemon": { - "type": "object", - "properties": { - "api_version": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "current_job": { - "$ref": "#/definitions/codersdk.ProvisionerDaemonJob" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "key_id": { - "type": "string", - "format": "uuid" - }, - "key_name": { - "description": "Optional fields.", - "type": "string" - }, - "last_seen_at": { - "type": "string", - "format": "date-time" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "previous_job": { - "$ref": "#/definitions/codersdk.ProvisionerDaemonJob" - }, - "provisioners": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "enum": ["offline", "idle", "busy"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ProvisionerDaemonStatus" - } - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "version": { - "type": "string" - } - } - }, - "codersdk.ProvisionerDaemonJob": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "status": { - "enum": [ - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed" - ], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ProvisionerJobStatus" - } - ] - }, - "template_display_name": { - "type": "string" - }, - "template_icon": { - "type": "string" - }, - "template_name": { - "type": "string" - } - } - }, - "codersdk.ProvisionerDaemonStatus": { - "type": "string", - "enum": ["offline", "idle", "busy"], - "x-enum-varnames": [ - "ProvisionerDaemonOffline", - "ProvisionerDaemonIdle", - "ProvisionerDaemonBusy" - ] - }, - "codersdk.ProvisionerJob": { - "type": "object", - "properties": { - "available_workers": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "canceled_at": { - "type": "string", - "format": "date-time" - }, - "completed_at": { - "type": "string", - "format": "date-time" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "error": { - "type": "string" - }, - "error_code": { - "enum": ["REQUIRED_TEMPLATE_VARIABLES"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.JobErrorCode" - } - ] - }, - "file_id": { - "type": "string", - "format": "uuid" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "input": { - "$ref": "#/definitions/codersdk.ProvisionerJobInput" - }, - "metadata": { - "$ref": "#/definitions/codersdk.ProvisionerJobMetadata" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "queue_position": { - "type": "integer" - }, - "queue_size": { - "type": "integer" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "status": { - "enum": [ - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed" - ], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ProvisionerJobStatus" - } - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "type": { - "$ref": "#/definitions/codersdk.ProvisionerJobType" - }, - "worker_id": { - "type": "string", - "format": "uuid" - }, - "worker_name": { - "type": "string" - } - } - }, - "codersdk.ProvisionerJobInput": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "template_version_id": { - "type": "string", - "format": "uuid" - }, - "workspace_build_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.ProvisionerJobLog": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "id": { - "type": "integer" - }, - "log_level": { - "enum": ["trace", "debug", "info", "warn", "error"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.LogLevel" - } - ] - }, - "log_source": { - "$ref": "#/definitions/codersdk.LogSource" - }, - "output": { - "type": "string" - }, - "stage": { - "type": "string" - } - } - }, - "codersdk.ProvisionerJobMetadata": { - "type": "object", - "properties": { - "template_display_name": { - "type": "string" - }, - "template_icon": { - "type": "string" - }, - "template_id": { - "type": "string", - "format": "uuid" - }, - "template_name": { - "type": "string" - }, - "template_version_name": { - "type": "string" - }, - "workspace_id": { - "type": "string", - "format": "uuid" - }, - "workspace_name": { - "type": "string" - } - } - }, - "codersdk.ProvisionerJobStatus": { - "type": "string", - "enum": [ - "pending", - "running", - "succeeded", - "canceling", - "canceled", - "failed", - "unknown" - ], - "x-enum-varnames": [ - "ProvisionerJobPending", - "ProvisionerJobRunning", - "ProvisionerJobSucceeded", - "ProvisionerJobCanceling", - "ProvisionerJobCanceled", - "ProvisionerJobFailed", - "ProvisionerJobUnknown" - ] - }, - "codersdk.ProvisionerJobType": { - "type": "string", - "enum": [ - "template_version_import", - "workspace_build", - "template_version_dry_run" - ], - "x-enum-varnames": [ - "ProvisionerJobTypeTemplateVersionImport", - "ProvisionerJobTypeWorkspaceBuild", - "ProvisionerJobTypeTemplateVersionDryRun" - ] - }, - "codersdk.ProvisionerKey": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string", - "format": "uuid" - }, - "tags": { - "$ref": "#/definitions/codersdk.ProvisionerKeyTags" - } - } - }, - "codersdk.ProvisionerKeyDaemons": { - "type": "object", - "properties": { - "daemons": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerDaemon" - } - }, - "key": { - "$ref": "#/definitions/codersdk.ProvisionerKey" - } - } - }, - "codersdk.ProvisionerKeyTags": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "codersdk.ProvisionerLogLevel": { - "type": "string", - "enum": ["debug"], - "x-enum-varnames": ["ProvisionerLogLevelDebug"] - }, - "codersdk.ProvisionerStorageMethod": { - "type": "string", - "enum": ["file"], - "x-enum-varnames": ["ProvisionerStorageMethodFile"] - }, - "codersdk.ProvisionerTiming": { - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "ended_at": { - "type": "string", - "format": "date-time" - }, - "job_id": { - "type": "string", - "format": "uuid" - }, - "resource": { - "type": "string" - }, - "source": { - "type": "string" - }, - "stage": { - "$ref": "#/definitions/codersdk.TimingStage" - }, - "started_at": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.ProxyHealthReport": { - "type": "object", - "properties": { - "errors": { - "description": "Errors are problems that prevent the workspace proxy from being healthy", - "type": "array", - "items": { - "type": "string" - } - }, - "warnings": { - "description": "Warnings do not prevent the workspace proxy from being healthy, but\nshould be addressed.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.ProxyHealthStatus": { - "type": "string", - "enum": ["ok", "unreachable", "unhealthy", "unregistered"], - "x-enum-varnames": [ - "ProxyHealthy", - "ProxyUnreachable", - "ProxyUnhealthy", - "ProxyUnregistered" - ] - }, - "codersdk.PutExtendWorkspaceRequest": { - "type": "object", - "required": ["deadline"], - "properties": { - "deadline": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.PutOAuth2ProviderAppRequest": { - "type": "object", - "required": ["callback_url", "name"], - "properties": { - "callback_url": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.RBACAction": { - "type": "string", - "enum": [ - "application_connect", - "assign", - "create", - "create_agent", - "delete", - "delete_agent", - "read", - "read_personal", - "ssh", - "unassign", - "update", - "update_personal", - "use", - "view_insights", - "start", - "stop" - ], - "x-enum-varnames": [ - "ActionApplicationConnect", - "ActionAssign", - "ActionCreate", - "ActionCreateAgent", - "ActionDelete", - "ActionDeleteAgent", - "ActionRead", - "ActionReadPersonal", - "ActionSSH", - "ActionUnassign", - "ActionUpdate", - "ActionUpdatePersonal", - "ActionUse", - "ActionViewInsights", - "ActionWorkspaceStart", - "ActionWorkspaceStop" - ] - }, - "codersdk.RBACResource": { - "type": "string", - "enum": [ - "*", - "api_key", - "assign_org_role", - "assign_role", - "audit_log", - "connection_log", - "crypto_key", - "debug_info", - "deployment_config", - "deployment_stats", - "file", - "group", - "group_member", - "idpsync_settings", - "inbox_notification", - "license", - "notification_message", - "notification_preference", - "notification_template", - "oauth2_app", - "oauth2_app_code_token", - "oauth2_app_secret", - "organization", - "organization_member", - "prebuilt_workspace", - "provisioner_daemon", - "provisioner_jobs", - "replicas", - "system", - "tailnet_coordinator", - "template", - "user", - "webpush_subscription", - "workspace", - "workspace_agent_devcontainers", - "workspace_agent_resource_monitor", - "workspace_dormant", - "workspace_proxy" - ], - "x-enum-varnames": [ - "ResourceWildcard", - "ResourceApiKey", - "ResourceAssignOrgRole", - "ResourceAssignRole", - "ResourceAuditLog", - "ResourceConnectionLog", - "ResourceCryptoKey", - "ResourceDebugInfo", - "ResourceDeploymentConfig", - "ResourceDeploymentStats", - "ResourceFile", - "ResourceGroup", - "ResourceGroupMember", - "ResourceIdpsyncSettings", - "ResourceInboxNotification", - "ResourceLicense", - "ResourceNotificationMessage", - "ResourceNotificationPreference", - "ResourceNotificationTemplate", - "ResourceOauth2App", - "ResourceOauth2AppCodeToken", - "ResourceOauth2AppSecret", - "ResourceOrganization", - "ResourceOrganizationMember", - "ResourcePrebuiltWorkspace", - "ResourceProvisionerDaemon", - "ResourceProvisionerJobs", - "ResourceReplicas", - "ResourceSystem", - "ResourceTailnetCoordinator", - "ResourceTemplate", - "ResourceUser", - "ResourceWebpushSubscription", - "ResourceWorkspace", - "ResourceWorkspaceAgentDevcontainers", - "ResourceWorkspaceAgentResourceMonitor", - "ResourceWorkspaceDormant", - "ResourceWorkspaceProxy" - ] - }, - "codersdk.RateLimitConfig": { - "type": "object", - "properties": { - "api": { - "type": "integer" - }, - "disable_all": { - "type": "boolean" - } - } - }, - "codersdk.ReducedUser": { - "type": "object", - "required": ["created_at", "email", "id", "username"], - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "email": { - "type": "string", - "format": "email" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "last_seen_at": { - "type": "string", - "format": "date-time" - }, - "login_type": { - "$ref": "#/definitions/codersdk.LoginType" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["active", "suspended"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.UserStatus" - } - ] - }, - "theme_preference": { - "description": "Deprecated: this value should be retrieved from\n`codersdk.UserPreferenceSettings` instead.", - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.Region": { - "type": "object", - "properties": { - "display_name": { - "type": "string" - }, - "healthy": { - "type": "boolean" - }, - "icon_url": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - }, - "path_app_url": { - "description": "PathAppURL is the URL to the base path for path apps. Optional\nunless wildcard_hostname is set.\nE.g. https://us.example.com", - "type": "string" - }, - "wildcard_hostname": { - "description": "WildcardHostname is the wildcard hostname for subdomain apps.\nE.g. *.us.example.com\nE.g. *--suffix.au.example.com\nOptional. Does not need to be on the same domain as PathAppURL.", - "type": "string" - } - } - }, - "codersdk.RegionsResponse-codersdk_Region": { - "type": "object", - "properties": { - "regions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Region" - } - } - } - }, - "codersdk.RegionsResponse-codersdk_WorkspaceProxy": { - "type": "object", - "properties": { - "regions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceProxy" - } - } - } - }, - "codersdk.Replica": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt is the timestamp when the replica was first seen.", - "type": "string", - "format": "date-time" - }, - "database_latency": { - "description": "DatabaseLatency is the latency in microseconds to the database.", - "type": "integer" - }, - "error": { - "description": "Error is the replica error.", - "type": "string" - }, - "hostname": { - "description": "Hostname is the hostname of the replica.", - "type": "string" - }, - "id": { - "description": "ID is the unique identifier for the replica.", - "type": "string", - "format": "uuid" - }, - "region_id": { - "description": "RegionID is the region of the replica.", - "type": "integer" - }, - "relay_address": { - "description": "RelayAddress is the accessible address to relay DERP connections.", - "type": "string" - } - } - }, - "codersdk.RequestOneTimePasscodeRequest": { - "type": "object", - "required": ["email"], - "properties": { - "email": { - "type": "string", - "format": "email" - } - } - }, - "codersdk.ResolveAutostartResponse": { - "type": "object", - "properties": { - "parameter_mismatch": { - "type": "boolean" - } - } - }, - "codersdk.ResourceType": { - "type": "string", - "enum": [ - "template", - "template_version", - "user", - "workspace", - "workspace_build", - "git_ssh_key", - "api_key", - "group", - "license", - "convert_login", - "health_settings", - "notifications_settings", - "prebuilds_settings", - "workspace_proxy", - "organization", - "oauth2_provider_app", - "oauth2_provider_app_secret", - "custom_role", - "organization_member", - "notification_template", - "idp_sync_settings_organization", - "idp_sync_settings_group", - "idp_sync_settings_role", - "workspace_agent", - "workspace_app" - ], - "x-enum-varnames": [ - "ResourceTypeTemplate", - "ResourceTypeTemplateVersion", - "ResourceTypeUser", - "ResourceTypeWorkspace", - "ResourceTypeWorkspaceBuild", - "ResourceTypeGitSSHKey", - "ResourceTypeAPIKey", - "ResourceTypeGroup", - "ResourceTypeLicense", - "ResourceTypeConvertLogin", - "ResourceTypeHealthSettings", - "ResourceTypeNotificationsSettings", - "ResourceTypePrebuildsSettings", - "ResourceTypeWorkspaceProxy", - "ResourceTypeOrganization", - "ResourceTypeOAuth2ProviderApp", - "ResourceTypeOAuth2ProviderAppSecret", - "ResourceTypeCustomRole", - "ResourceTypeOrganizationMember", - "ResourceTypeNotificationTemplate", - "ResourceTypeIdpSyncSettingsOrganization", - "ResourceTypeIdpSyncSettingsGroup", - "ResourceTypeIdpSyncSettingsRole", - "ResourceTypeWorkspaceAgent", - "ResourceTypeWorkspaceApp" - ] - }, - "codersdk.Response": { - "type": "object", - "properties": { - "detail": { - "description": "Detail is a debug message that provides further insight into why the\naction failed. This information can be technical and a regular golang\nerr.Error() text.\n- \"database: too many open connections\"\n- \"stat: too many open files\"", - "type": "string" - }, - "message": { - "description": "Message is an actionable message that depicts actions the request took.\nThese messages should be fully formed sentences with proper punctuation.\nExamples:\n- \"A user has been created.\"\n- \"Failed to create a user.\"", - "type": "string" - }, - "validations": { - "description": "Validations are form field-specific friendly error messages. They will be\nshown on a form field in the UI. These can also be used to add additional\ncontext if there is a set of errors in the primary 'Message'.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ValidationError" - } - } - } - }, - "codersdk.Role": { - "type": "object", - "properties": { - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "organization_permissions": { - "description": "OrganizationPermissions are specific for the organization in the field 'OrganizationID' above.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - }, - "site_permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - }, - "user_permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Permission" - } - } - } - }, - "codersdk.RoleSyncSettings": { - "type": "object", - "properties": { - "field": { - "description": "Field is the name of the claim field that specifies what organization roles\na user should be given. If empty, no roles will be synced.", - "type": "string" - }, - "mapping": { - "description": "Mapping is a map from OIDC groups to Coder organization roles.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "codersdk.SSHConfig": { - "type": "object", - "properties": { - "deploymentName": { - "description": "DeploymentName is the config-ssh Hostname prefix", - "type": "string" - }, - "sshconfigOptions": { - "description": "SSHConfigOptions are additional options to add to the ssh config file.\nThis will override defaults.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.SSHConfigResponse": { - "type": "object", - "properties": { - "hostname_prefix": { - "description": "HostnamePrefix is the prefix we append to workspace names for SSH hostnames.\nDeprecated: use HostnameSuffix instead.", - "type": "string" - }, - "hostname_suffix": { - "description": "HostnameSuffix is the suffix to append to workspace names for SSH hostnames.", - "type": "string" - }, - "ssh_config_options": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "codersdk.ServerSentEvent": { - "type": "object", - "properties": { - "data": {}, - "type": { - "$ref": "#/definitions/codersdk.ServerSentEventType" - } - } - }, - "codersdk.ServerSentEventType": { - "type": "string", - "enum": ["ping", "data", "error"], - "x-enum-varnames": [ - "ServerSentEventTypePing", - "ServerSentEventTypeData", - "ServerSentEventTypeError" - ] - }, - "codersdk.SessionCountDeploymentStats": { - "type": "object", - "properties": { - "jetbrains": { - "type": "integer" - }, - "reconnecting_pty": { - "type": "integer" - }, - "ssh": { - "type": "integer" - }, - "vscode": { - "type": "integer" - } - } - }, - "codersdk.SessionLifetime": { - "type": "object", - "properties": { - "default_duration": { - "description": "DefaultDuration is only for browser, workspace app and oauth sessions.", - "type": "integer" - }, - "default_token_lifetime": { - "type": "integer" - }, - "disable_expiry_refresh": { - "description": "DisableExpiryRefresh will disable automatically refreshing api\nkeys when they are used from the api. This means the api key lifetime at\ncreation is the lifetime of the api key.", - "type": "boolean" - }, - "max_admin_token_lifetime": { - "type": "integer" - }, - "max_token_lifetime": { - "type": "integer" - } - } - }, - "codersdk.SlimRole": { - "type": "object", - "properties": { - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string" - } - } - }, - "codersdk.SupportConfig": { - "type": "object", - "properties": { - "links": { - "$ref": "#/definitions/serpent.Struct-array_codersdk_LinkConfig" - } - } - }, - "codersdk.SwaggerConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - } - } - }, - "codersdk.TLSConfig": { - "type": "object", - "properties": { - "address": { - "$ref": "#/definitions/serpent.HostPort" - }, - "allow_insecure_ciphers": { - "type": "boolean" - }, - "cert_file": { - "type": "array", - "items": { - "type": "string" - } - }, - "client_auth": { - "type": "string" - }, - "client_ca_file": { - "type": "string" - }, - "client_cert_file": { - "type": "string" - }, - "client_key_file": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "key_file": { - "type": "array", - "items": { - "type": "string" - } - }, - "min_version": { - "type": "string" - }, - "redirect_http": { - "type": "boolean" - }, - "supported_ciphers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.TelemetryConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - }, - "trace": { - "type": "boolean" - }, - "url": { - "$ref": "#/definitions/serpent.URL" - } - } - }, - "codersdk.Template": { - "type": "object", - "properties": { - "active_user_count": { - "description": "ActiveUserCount is set to -1 when loading.", - "type": "integer" - }, - "active_version_id": { - "type": "string", - "format": "uuid" - }, - "activity_bump_ms": { - "type": "integer" - }, - "allow_user_autostart": { - "description": "AllowUserAutostart and AllowUserAutostop are enterprise-only. Their\nvalues are only used if your license is entitled to use the advanced\ntemplate scheduling feature.", - "type": "boolean" - }, - "allow_user_autostop": { - "type": "boolean" - }, - "allow_user_cancel_workspace_jobs": { - "type": "boolean" - }, - "autostart_requirement": { - "$ref": "#/definitions/codersdk.TemplateAutostartRequirement" - }, - "autostop_requirement": { - "description": "AutostopRequirement and AutostartRequirement are enterprise features. Its\nvalue is only used if your license is entitled to use the advanced template\nscheduling feature.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.TemplateAutostopRequirement" - } - ] - }, - "build_time_stats": { - "$ref": "#/definitions/codersdk.TemplateBuildTimeStats" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "created_by_id": { - "type": "string", - "format": "uuid" - }, - "created_by_name": { - "type": "string" - }, - "default_ttl_ms": { - "type": "integer" - }, - "deprecated": { - "type": "boolean" - }, - "deprecation_message": { - "type": "string" - }, - "description": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "failure_ttl_ms": { - "description": "FailureTTLMillis, TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their\nvalues are used if your license is entitled to use the advanced\ntemplate scheduling feature.", - "type": "integer" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "max_port_share_level": { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" - }, - "name": { - "type": "string" - }, - "organization_display_name": { - "type": "string" - }, - "organization_icon": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "organization_name": { - "type": "string", - "format": "url" - }, - "provisioner": { - "type": "string", - "enum": ["terraform"] - }, - "require_active_version": { - "description": "RequireActiveVersion mandates that workspaces are built with the active\ntemplate version.", - "type": "boolean" - }, - "time_til_dormant_autodelete_ms": { - "type": "integer" - }, - "time_til_dormant_ms": { - "type": "integer" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "use_classic_parameter_flow": { - "type": "boolean" - } - } - }, - "codersdk.TemplateACL": { - "type": "object", - "properties": { - "group": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateGroup" - } - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateUser" - } - } - } - }, - "codersdk.TemplateAppUsage": { - "type": "object", - "properties": { - "display_name": { - "type": "string", - "example": "Visual Studio Code" - }, - "icon": { - "type": "string" - }, - "seconds": { - "type": "integer", - "example": 80500 - }, - "slug": { - "type": "string", - "example": "vscode" - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "times_used": { - "type": "integer", - "example": 2 - }, - "type": { - "allOf": [ - { - "$ref": "#/definitions/codersdk.TemplateAppsType" - } - ], - "example": "builtin" - } - } - }, - "codersdk.TemplateAppsType": { - "type": "string", - "enum": ["builtin", "app"], - "x-enum-varnames": ["TemplateAppsTypeBuiltin", "TemplateAppsTypeApp"] - }, - "codersdk.TemplateAutostartRequirement": { - "type": "object", - "properties": { - "days_of_week": { - "description": "DaysOfWeek is a list of days of the week in which autostart is allowed\nto happen. If no days are specified, autostart is not allowed.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "monday", - "tuesday", - "wednesday", - "thursday", - "friday", - "saturday", - "sunday" - ] - } - } - } - }, - "codersdk.TemplateAutostopRequirement": { - "type": "object", - "properties": { - "days_of_week": { - "description": "DaysOfWeek is a list of days of the week on which restarts are required.\nRestarts happen within the user's quiet hours (in their configured\ntimezone). If no days are specified, restarts are not required. Weekdays\ncannot be specified twice.\n\nRestarts will only happen on weekdays in this list on weeks which line up\nwith Weeks.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "monday", - "tuesday", - "wednesday", - "thursday", - "friday", - "saturday", - "sunday" - ] - } - }, - "weeks": { - "description": "Weeks is the number of weeks between required restarts. Weeks are synced\nacross all workspaces (and Coder deployments) using modulo math on a\nhardcoded epoch week of January 2nd, 2023 (the first Monday of 2023).\nValues of 0 or 1 indicate weekly restarts. Values of 2 indicate\nfortnightly restarts, etc.", - "type": "integer" - } - } - }, - "codersdk.TemplateBuildTimeStats": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.TransitionStats" - } - }, - "codersdk.TemplateExample": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "markdown": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "url": { - "type": "string" - } - } - }, - "codersdk.TemplateGroup": { - "type": "object", - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "display_name": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ReducedUser" - } - }, - "name": { - "type": "string" - }, - "organization_display_name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "organization_name": { - "type": "string" - }, - "quota_allowance": { - "type": "integer" - }, - "role": { - "enum": ["admin", "use"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.TemplateRole" - } - ] - }, - "source": { - "$ref": "#/definitions/codersdk.GroupSource" - }, - "total_member_count": { - "description": "How many members are in this group. Shows the total count,\neven if the user is not authorized to read group member details.\nMay be greater than `len(Group.Members)`.", - "type": "integer" - } - } - }, - "codersdk.TemplateInsightsIntervalReport": { - "type": "object", - "properties": { - "active_users": { - "type": "integer", - "example": 14 - }, - "end_time": { - "type": "string", - "format": "date-time" - }, - "interval": { - "allOf": [ - { - "$ref": "#/definitions/codersdk.InsightsReportInterval" - } - ], - "example": "week" - }, - "start_time": { - "type": "string", - "format": "date-time" - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - } - } - }, - "codersdk.TemplateInsightsReport": { - "type": "object", - "properties": { - "active_users": { - "type": "integer", - "example": 22 - }, - "apps_usage": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateAppUsage" - } - }, - "end_time": { - "type": "string", - "format": "date-time" - }, - "parameters_usage": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateParameterUsage" - } - }, - "start_time": { - "type": "string", - "format": "date-time" - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - } - } - }, - "codersdk.TemplateInsightsResponse": { - "type": "object", - "properties": { - "interval_reports": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateInsightsIntervalReport" - } - }, - "report": { - "$ref": "#/definitions/codersdk.TemplateInsightsReport" - } - } - }, - "codersdk.TemplateParameterUsage": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersionParameterOption" - } - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "type": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateParameterValue" - } - } - } - }, - "codersdk.TemplateParameterValue": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.TemplateRole": { - "type": "string", - "enum": ["admin", "use", ""], - "x-enum-varnames": [ - "TemplateRoleAdmin", - "TemplateRoleUse", - "TemplateRoleDeleted" - ] - }, - "codersdk.TemplateUser": { - "type": "object", - "required": ["created_at", "email", "id", "username"], - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "email": { - "type": "string", - "format": "email" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "last_seen_at": { - "type": "string", - "format": "date-time" - }, - "login_type": { - "$ref": "#/definitions/codersdk.LoginType" - }, - "name": { - "type": "string" - }, - "organization_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "role": { - "enum": ["admin", "use"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.TemplateRole" - } - ] - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.SlimRole" - } - }, - "status": { - "enum": ["active", "suspended"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.UserStatus" - } - ] - }, - "theme_preference": { - "description": "Deprecated: this value should be retrieved from\n`codersdk.UserPreferenceSettings` instead.", - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.TemplateVersion": { - "type": "object", - "properties": { - "archived": { - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "created_by": { - "$ref": "#/definitions/codersdk.MinimalUser" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "job": { - "$ref": "#/definitions/codersdk.ProvisionerJob" - }, - "matched_provisioners": { - "$ref": "#/definitions/codersdk.MatchedProvisioners" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "readme": { - "type": "string" - }, - "template_id": { - "type": "string", - "format": "uuid" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "warnings": { - "type": "array", - "items": { - "enum": ["DEPRECATED_PARAMETERS"], - "$ref": "#/definitions/codersdk.TemplateVersionWarning" - } - } - } - }, - "codersdk.TemplateVersionExternalAuth": { - "type": "object", - "properties": { - "authenticate_url": { - "type": "string" - }, - "authenticated": { - "type": "boolean" - }, - "display_icon": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "id": { - "type": "string" - }, - "optional": { - "type": "boolean" - }, - "type": { - "type": "string" - } - } - }, - "codersdk.TemplateVersionParameter": { - "type": "object", - "properties": { - "default_value": { - "type": "string" - }, - "description": { - "type": "string" - }, - "description_plaintext": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "ephemeral": { - "type": "boolean" - }, - "form_type": { - "description": "FormType has an enum value of empty string, `\"\"`.\nKeep the leading comma in the enums struct tag.", - "type": "string", - "enum": [ - "", - "radio", - "dropdown", - "input", - "textarea", - "slider", - "checkbox", - "switch", - "tag-select", - "multi-select", - "error" - ] - }, - "icon": { - "type": "string" - }, - "mutable": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.TemplateVersionParameterOption" - } - }, - "required": { - "type": "boolean" - }, - "type": { - "type": "string", - "enum": ["string", "number", "bool", "list(string)"] - }, - "validation_error": { - "type": "string" - }, - "validation_max": { - "type": "integer" - }, - "validation_min": { - "type": "integer" - }, - "validation_monotonic": { - "enum": ["increasing", "decreasing"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.ValidationMonotonicOrder" - } - ] - }, - "validation_regex": { - "type": "string" - } - } - }, - "codersdk.TemplateVersionParameterOption": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.TemplateVersionVariable": { - "type": "object", - "properties": { - "default_value": { - "type": "string" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "required": { - "type": "boolean" - }, - "sensitive": { - "type": "boolean" - }, - "type": { - "type": "string", - "enum": ["string", "number", "bool"] - }, - "value": { - "type": "string" - } - } - }, - "codersdk.TemplateVersionWarning": { - "type": "string", - "enum": ["UNSUPPORTED_WORKSPACES"], - "x-enum-varnames": ["TemplateVersionWarningUnsupportedWorkspaces"] - }, - "codersdk.TerminalFontName": { - "type": "string", - "enum": [ - "", - "ibm-plex-mono", - "fira-code", - "source-code-pro", - "jetbrains-mono" - ], - "x-enum-varnames": [ - "TerminalFontUnknown", - "TerminalFontIBMPlexMono", - "TerminalFontFiraCode", - "TerminalFontSourceCodePro", - "TerminalFontJetBrainsMono" - ] - }, - "codersdk.TimingStage": { - "type": "string", - "enum": [ - "init", - "plan", - "graph", - "apply", - "start", - "stop", - "cron", - "connect" - ], - "x-enum-varnames": [ - "TimingStageInit", - "TimingStagePlan", - "TimingStageGraph", - "TimingStageApply", - "TimingStageStart", - "TimingStageStop", - "TimingStageCron", - "TimingStageConnect" - ] - }, - "codersdk.TokenConfig": { - "type": "object", - "properties": { - "max_token_lifetime": { - "type": "integer" - } - } - }, - "codersdk.TraceConfig": { - "type": "object", - "properties": { - "capture_logs": { - "type": "boolean" - }, - "data_dog": { - "type": "boolean" - }, - "enable": { - "type": "boolean" - }, - "honeycomb_api_key": { - "type": "string" - } - } - }, - "codersdk.TransitionStats": { - "type": "object", - "properties": { - "p50": { - "type": "integer", - "example": 123 - }, - "p95": { - "type": "integer", - "example": 146 - } - } - }, - "codersdk.UpdateActiveTemplateVersion": { - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.UpdateAppearanceConfig": { - "type": "object", - "properties": { - "announcement_banners": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.BannerConfig" - } - }, - "application_name": { - "type": "string" - }, - "logo_url": { - "type": "string" - }, - "service_banner": { - "description": "Deprecated: ServiceBanner has been replaced by AnnouncementBanners.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.BannerConfig" - } - ] - } - } - }, - "codersdk.UpdateCheckResponse": { - "type": "object", - "properties": { - "current": { - "description": "Current indicates whether the server version is the same as the latest.", - "type": "boolean" - }, - "url": { - "description": "URL to download the latest release of Coder.", - "type": "string" - }, - "version": { - "description": "Version is the semantic version for the latest release of Coder.", - "type": "string" - } - } - }, - "codersdk.UpdateOrganizationRequest": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.UpdateRoles": { - "type": "object", - "properties": { - "roles": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.UpdateTemplateACL": { - "type": "object", - "properties": { - "group_perms": { - "description": "GroupPerms should be a mapping of group id to role.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.TemplateRole" - }, - "example": { - "8bd26b20-f3e8-48be-a903-46bb920cf671": "use", - "\u003cgroup_id\u003e": "admin" - } - }, - "user_perms": { - "description": "UserPerms should be a mapping of user id to role. The user id must be the\nuuid of the user, not a username or email address.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.TemplateRole" - }, - "example": { - "4df59e74-c027-470b-ab4d-cbba8963a5e9": "use", - "\u003cuser_id\u003e": "admin" - } - } - } - }, - "codersdk.UpdateUserAppearanceSettingsRequest": { - "type": "object", - "required": ["terminal_font", "theme_preference"], - "properties": { - "terminal_font": { - "$ref": "#/definitions/codersdk.TerminalFontName" - }, - "theme_preference": { - "type": "string" - } - } - }, - "codersdk.UpdateUserNotificationPreferences": { - "type": "object", - "properties": { - "template_disabled_map": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - } - } - }, - "codersdk.UpdateUserPasswordRequest": { - "type": "object", - "required": ["password"], - "properties": { - "old_password": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "codersdk.UpdateUserProfileRequest": { - "type": "object", - "required": ["username"], - "properties": { - "name": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.UpdateUserQuietHoursScheduleRequest": { - "type": "object", - "required": ["schedule"], - "properties": { - "schedule": { - "description": "Schedule is a cron expression that defines when the user's quiet hours\nwindow is. Schedule must not be empty. For new users, the schedule is set\nto 2am in their browser or computer's timezone. The schedule denotes the\nbeginning of a 4 hour window where the workspace is allowed to\nautomatically stop or restart due to maintenance or template schedule.\n\nThe schedule must be daily with a single time, and should have a timezone\nspecified via a CRON_TZ prefix (otherwise UTC will be used).\n\nIf the schedule is empty, the user will be updated to use the default\nschedule.", - "type": "string" - } - } - }, - "codersdk.UpdateWorkspaceAutomaticUpdatesRequest": { - "type": "object", - "properties": { - "automatic_updates": { - "$ref": "#/definitions/codersdk.AutomaticUpdates" - } - } - }, - "codersdk.UpdateWorkspaceAutostartRequest": { - "type": "object", - "properties": { - "schedule": { - "description": "Schedule is expected to be of the form `CRON_TZ=\u003cIANA Timezone\u003e \u003cmin\u003e \u003chour\u003e * * \u003cdow\u003e`\nExample: `CRON_TZ=US/Central 30 9 * * 1-5` represents 0930 in the timezone US/Central\non weekdays (Mon-Fri). `CRON_TZ` defaults to UTC if not present.", - "type": "string" - } - } - }, - "codersdk.UpdateWorkspaceDormancy": { - "type": "object", - "properties": { - "dormant": { - "type": "boolean" - } - } - }, - "codersdk.UpdateWorkspaceRequest": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - }, - "codersdk.UpdateWorkspaceTTLRequest": { - "type": "object", - "properties": { - "ttl_ms": { - "type": "integer" - } - } - }, - "codersdk.UploadResponse": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.UpsertWorkspaceAgentPortShareRequest": { - "type": "object", - "properties": { - "agent_name": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "protocol": { - "enum": ["http", "https"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareProtocol" - } - ] - }, - "share_level": { - "enum": ["owner", "authenticated", "organization", "public"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" - } - ] - } - } - }, - "codersdk.UsageAppName": { - "type": "string", - "enum": ["vscode", "jetbrains", "reconnecting-pty", "ssh"], - "x-enum-varnames": [ - "UsageAppNameVscode", - "UsageAppNameJetbrains", - "UsageAppNameReconnectingPty", - "UsageAppNameSSH" - ] - }, - "codersdk.UsagePeriod": { - "type": "object", - "properties": { - "end": { - "type": "string", - "format": "date-time" - }, - "issued_at": { - "type": "string", - "format": "date-time" - }, - "start": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.User": { - "type": "object", - "required": ["created_at", "email", "id", "username"], - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "email": { - "type": "string", - "format": "email" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "last_seen_at": { - "type": "string", - "format": "date-time" - }, - "login_type": { - "$ref": "#/definitions/codersdk.LoginType" - }, - "name": { - "type": "string" - }, - "organization_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.SlimRole" - } - }, - "status": { - "enum": ["active", "suspended"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.UserStatus" - } - ] - }, - "theme_preference": { - "description": "Deprecated: this value should be retrieved from\n`codersdk.UserPreferenceSettings` instead.", - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.UserActivity": { - "type": "object", - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "seconds": { - "type": "integer", - "example": 80500 - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "user_id": { - "type": "string", - "format": "uuid" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.UserActivityInsightsReport": { - "type": "object", - "properties": { - "end_time": { - "type": "string", - "format": "date-time" - }, - "start_time": { - "type": "string", - "format": "date-time" - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.UserActivity" - } - } - } - }, - "codersdk.UserActivityInsightsResponse": { - "type": "object", - "properties": { - "report": { - "$ref": "#/definitions/codersdk.UserActivityInsightsReport" - } - } - }, - "codersdk.UserAppearanceSettings": { - "type": "object", - "properties": { - "terminal_font": { - "$ref": "#/definitions/codersdk.TerminalFontName" - }, - "theme_preference": { - "type": "string" - } - } - }, - "codersdk.UserLatency": { - "type": "object", - "properties": { - "avatar_url": { - "type": "string", - "format": "uri" - }, - "latency_ms": { - "$ref": "#/definitions/codersdk.ConnectionLatency" - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "user_id": { - "type": "string", - "format": "uuid" - }, - "username": { - "type": "string" - } - } - }, - "codersdk.UserLatencyInsightsReport": { - "type": "object", - "properties": { - "end_time": { - "type": "string", - "format": "date-time" - }, - "start_time": { - "type": "string", - "format": "date-time" - }, - "template_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.UserLatency" - } - } - } - }, - "codersdk.UserLatencyInsightsResponse": { - "type": "object", - "properties": { - "report": { - "$ref": "#/definitions/codersdk.UserLatencyInsightsReport" - } - } - }, - "codersdk.UserLoginType": { - "type": "object", - "properties": { - "login_type": { - "$ref": "#/definitions/codersdk.LoginType" - } - } - }, - "codersdk.UserParameter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.UserQuietHoursScheduleConfig": { - "type": "object", - "properties": { - "allow_user_custom": { - "type": "boolean" - }, - "default_schedule": { - "type": "string" - } - } - }, - "codersdk.UserQuietHoursScheduleResponse": { - "type": "object", - "properties": { - "next": { - "description": "Next is the next time that the quiet hours window will start.", - "type": "string", - "format": "date-time" - }, - "raw_schedule": { - "type": "string" - }, - "time": { - "description": "Time is the time of day that the quiet hours window starts in the given\nTimezone each day.", - "type": "string" - }, - "timezone": { - "description": "raw format from the cron expression, UTC if unspecified", - "type": "string" - }, - "user_can_set": { - "description": "UserCanSet is true if the user is allowed to set their own quiet hours\nschedule. If false, the user cannot set a custom schedule and the default\nschedule will always be used.", - "type": "boolean" - }, - "user_set": { - "description": "UserSet is true if the user has set their own quiet hours schedule. If\nfalse, the user is using the default schedule.", - "type": "boolean" - } - } - }, - "codersdk.UserStatus": { - "type": "string", - "enum": ["active", "dormant", "suspended"], - "x-enum-varnames": [ - "UserStatusActive", - "UserStatusDormant", - "UserStatusSuspended" - ] - }, - "codersdk.UserStatusChangeCount": { - "type": "object", - "properties": { - "count": { - "type": "integer", - "example": 10 - }, - "date": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.ValidateUserPasswordRequest": { - "type": "object", - "required": ["password"], - "properties": { - "password": { - "type": "string" - } - } - }, - "codersdk.ValidateUserPasswordResponse": { - "type": "object", - "properties": { - "details": { - "type": "string" - }, - "valid": { - "type": "boolean" - } - } - }, - "codersdk.ValidationError": { - "type": "object", - "required": ["detail", "field"], - "properties": { - "detail": { - "type": "string" - }, - "field": { - "type": "string" - } - } - }, - "codersdk.ValidationMonotonicOrder": { - "type": "string", - "enum": ["increasing", "decreasing"], - "x-enum-varnames": [ - "MonotonicOrderIncreasing", - "MonotonicOrderDecreasing" - ] - }, - "codersdk.VariableValue": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.WebpushSubscription": { - "type": "object", - "properties": { - "auth_key": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "p256dh_key": { - "type": "string" - } - } - }, - "codersdk.Workspace": { - "type": "object", - "properties": { - "allow_renames": { - "type": "boolean" - }, - "automatic_updates": { - "enum": ["always", "never"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.AutomaticUpdates" - } - ] - }, - "autostart_schedule": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "deleting_at": { - "description": "DeletingAt indicates the time at which the workspace will be permanently deleted.\nA workspace is eligible for deletion if it is dormant (a non-nil dormant_at value)\nand a value has been specified for time_til_dormant_autodelete on its template.", - "type": "string", - "format": "date-time" - }, - "dormant_at": { - "description": "DormantAt being non-nil indicates a workspace that is dormant.\nA dormant workspace is no longer accessible must be activated.\nIt is subject to deletion if it breaches\nthe duration of the time_til_ field on its template.", - "type": "string", - "format": "date-time" - }, - "favorite": { - "type": "boolean" - }, - "health": { - "description": "Health shows the health of the workspace and information about\nwhat is causing an unhealthy status.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceHealth" - } - ] - }, - "id": { - "type": "string", - "format": "uuid" - }, - "is_prebuild": { - "description": "IsPrebuild indicates whether the workspace is a prebuilt workspace.\nPrebuilt workspaces are owned by the prebuilds system user and have specific behavior,\nsuch as being managed differently from regular workspaces.\nOnce a prebuilt workspace is claimed by a user, it transitions to a regular workspace,\nand IsPrebuild returns false.", - "type": "boolean" - }, - "last_used_at": { - "type": "string", - "format": "date-time" - }, - "latest_app_status": { - "$ref": "#/definitions/codersdk.WorkspaceAppStatus" - }, - "latest_build": { - "$ref": "#/definitions/codersdk.WorkspaceBuild" - }, - "name": { - "type": "string" - }, - "next_start_at": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string", - "format": "uuid" - }, - "organization_name": { - "type": "string" - }, - "outdated": { - "type": "boolean" - }, - "owner_avatar_url": { - "type": "string" - }, - "owner_id": { - "type": "string", - "format": "uuid" - }, - "owner_name": { - "description": "OwnerName is the username of the owner of the workspace.", - "type": "string" - }, - "template_active_version_id": { - "type": "string", - "format": "uuid" - }, - "template_allow_user_cancel_workspace_jobs": { - "type": "boolean" - }, - "template_display_name": { - "type": "string" - }, - "template_icon": { - "type": "string" - }, - "template_id": { - "type": "string", - "format": "uuid" - }, - "template_name": { - "type": "string" - }, - "template_require_active_version": { - "type": "boolean" - }, - "template_use_classic_parameter_flow": { - "type": "boolean" - }, - "ttl_ms": { - "type": "integer" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - } - }, - "codersdk.WorkspaceAgent": { - "type": "object", - "properties": { - "api_version": { - "type": "string" - }, - "apps": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceApp" - } - }, - "architecture": { - "type": "string" - }, - "connection_timeout_seconds": { - "type": "integer" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "directory": { - "type": "string" - }, - "disconnected_at": { - "type": "string", - "format": "date-time" - }, - "display_apps": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.DisplayApp" - } - }, - "environment_variables": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "expanded_directory": { - "type": "string" - }, - "first_connected_at": { - "type": "string", - "format": "date-time" - }, - "health": { - "description": "Health reports the health of the agent.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentHealth" - } - ] - }, - "id": { - "type": "string", - "format": "uuid" - }, - "instance_id": { - "type": "string" - }, - "last_connected_at": { - "type": "string", - "format": "date-time" - }, - "latency": { - "description": "DERPLatency is mapped by region name (e.g. \"New York City\", \"Seattle\").", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/codersdk.DERPRegion" - } - }, - "lifecycle_state": { - "$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle" - }, - "log_sources": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentLogSource" - } - }, - "logs_length": { - "type": "integer" - }, - "logs_overflowed": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "operating_system": { - "type": "string" - }, - "parent_id": { - "format": "uuid", - "allOf": [ - { - "$ref": "#/definitions/uuid.NullUUID" - } - ] - }, - "ready_at": { - "type": "string", - "format": "date-time" - }, - "resource_id": { - "type": "string", - "format": "uuid" - }, - "scripts": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentScript" - } - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "startup_script_behavior": { - "description": "StartupScriptBehavior is a legacy field that is deprecated in favor\nof the `coder_script` resource. It's only referenced by old clients.\nDeprecated: Remove in the future!", - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentStartupScriptBehavior" - } - ] - }, - "status": { - "$ref": "#/definitions/codersdk.WorkspaceAgentStatus" - }, - "subsystems": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.AgentSubsystem" - } - }, - "troubleshooting_url": { - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "version": { - "type": "string" - } - } - }, - "codersdk.WorkspaceAgentContainer": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt is the time the container was created.", - "type": "string", - "format": "date-time" - }, - "id": { - "description": "ID is the unique identifier of the container.", - "type": "string" - }, - "image": { - "description": "Image is the name of the container image.", - "type": "string" - }, - "labels": { - "description": "Labels is a map of key-value pairs of container labels.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "FriendlyName is the human-readable name of the container.", - "type": "string" - }, - "ports": { - "description": "Ports includes ports exposed by the container.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentContainerPort" - } - }, - "running": { - "description": "Running is true if the container is currently running.", - "type": "boolean" - }, - "status": { - "description": "Status is the current status of the container. This is somewhat\nimplementation-dependent, but should generally be a human-readable\nstring.", - "type": "string" - }, - "volumes": { - "description": "Volumes is a map of \"things\" mounted into the container. Again, this\nis somewhat implementation-dependent.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "codersdk.WorkspaceAgentContainerPort": { - "type": "object", - "properties": { - "host_ip": { - "description": "HostIP is the IP address of the host interface to which the port is\nbound. Note that this can be an IPv4 or IPv6 address.", - "type": "string" - }, - "host_port": { - "description": "HostPort is the port number *outside* the container.", - "type": "integer" - }, - "network": { - "description": "Network is the network protocol used by the port (tcp, udp, etc).", - "type": "string" - }, - "port": { - "description": "Port is the port number *inside* the container.", - "type": "integer" - } - } - }, - "codersdk.WorkspaceAgentDevcontainer": { - "type": "object", - "properties": { - "agent": { - "$ref": "#/definitions/codersdk.WorkspaceAgentDevcontainerAgent" - }, - "config_path": { - "type": "string" - }, - "container": { - "$ref": "#/definitions/codersdk.WorkspaceAgentContainer" - }, - "dirty": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - }, - "status": { - "description": "Additional runtime fields.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentDevcontainerStatus" - } - ] - }, - "workspace_folder": { - "type": "string" - } - } - }, - "codersdk.WorkspaceAgentDevcontainerAgent": { - "type": "object", - "properties": { - "directory": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - } - } - }, - "codersdk.WorkspaceAgentDevcontainerStatus": { - "type": "string", - "enum": ["running", "stopped", "starting", "error"], - "x-enum-varnames": [ - "WorkspaceAgentDevcontainerStatusRunning", - "WorkspaceAgentDevcontainerStatusStopped", - "WorkspaceAgentDevcontainerStatusStarting", - "WorkspaceAgentDevcontainerStatusError" - ] - }, - "codersdk.WorkspaceAgentHealth": { - "type": "object", - "properties": { - "healthy": { - "description": "Healthy is true if the agent is healthy.", - "type": "boolean", - "example": false - }, - "reason": { - "description": "Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.", - "type": "string", - "example": "agent has lost connection" - } - } - }, - "codersdk.WorkspaceAgentLifecycle": { - "type": "string", - "enum": [ - "created", - "starting", - "start_timeout", - "start_error", - "ready", - "shutting_down", - "shutdown_timeout", - "shutdown_error", - "off" - ], - "x-enum-varnames": [ - "WorkspaceAgentLifecycleCreated", - "WorkspaceAgentLifecycleStarting", - "WorkspaceAgentLifecycleStartTimeout", - "WorkspaceAgentLifecycleStartError", - "WorkspaceAgentLifecycleReady", - "WorkspaceAgentLifecycleShuttingDown", - "WorkspaceAgentLifecycleShutdownTimeout", - "WorkspaceAgentLifecycleShutdownError", - "WorkspaceAgentLifecycleOff" - ] - }, - "codersdk.WorkspaceAgentListContainersResponse": { - "type": "object", - "properties": { - "containers": { - "description": "Containers is a list of containers visible to the workspace agent.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentContainer" - } - }, - "devcontainers": { - "description": "Devcontainers is a list of devcontainers visible to the workspace agent.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentDevcontainer" - } - }, - "warnings": { - "description": "Warnings is a list of warnings that may have occurred during the\nprocess of listing containers. This should not include fatal errors.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "codersdk.WorkspaceAgentListeningPort": { - "type": "object", - "properties": { - "network": { - "description": "only \"tcp\" at the moment", - "type": "string" - }, - "port": { - "type": "integer" - }, - "process_name": { - "description": "may be empty", - "type": "string" - } - } - }, - "codersdk.WorkspaceAgentListeningPortsResponse": { - "type": "object", - "properties": { - "ports": { - "description": "If there are no ports in the list, nothing should be displayed in the UI.\nThere must not be a \"no ports available\" message or anything similar, as\nthere will always be no ports displayed on platforms where our port\ndetection logic is unsupported.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentListeningPort" - } - } - } - }, - "codersdk.WorkspaceAgentLog": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "id": { - "type": "integer" - }, - "level": { - "$ref": "#/definitions/codersdk.LogLevel" - }, - "output": { - "type": "string" - }, - "source_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.WorkspaceAgentLogSource": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "display_name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "workspace_agent_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.WorkspaceAgentPortShare": { - "type": "object", - "properties": { - "agent_name": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "protocol": { - "enum": ["http", "https"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareProtocol" - } - ] - }, - "share_level": { - "enum": ["owner", "authenticated", "organization", "public"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" - } - ] - }, - "workspace_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.WorkspaceAgentPortShareLevel": { - "type": "string", - "enum": ["owner", "authenticated", "organization", "public"], - "x-enum-varnames": [ - "WorkspaceAgentPortShareLevelOwner", - "WorkspaceAgentPortShareLevelAuthenticated", - "WorkspaceAgentPortShareLevelOrganization", - "WorkspaceAgentPortShareLevelPublic" - ] - }, - "codersdk.WorkspaceAgentPortShareProtocol": { - "type": "string", - "enum": ["http", "https"], - "x-enum-varnames": [ - "WorkspaceAgentPortShareProtocolHTTP", - "WorkspaceAgentPortShareProtocolHTTPS" - ] - }, - "codersdk.WorkspaceAgentPortShares": { - "type": "object", - "properties": { - "shares": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgentPortShare" - } - } - } - }, - "codersdk.WorkspaceAgentScript": { - "type": "object", - "properties": { - "cron": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "log_path": { - "type": "string" - }, - "log_source_id": { - "type": "string", - "format": "uuid" - }, - "run_on_start": { - "type": "boolean" - }, - "run_on_stop": { - "type": "boolean" - }, - "script": { - "type": "string" - }, - "start_blocks_login": { - "type": "boolean" - }, - "timeout": { - "type": "integer" - } - } - }, - "codersdk.WorkspaceAgentStartupScriptBehavior": { - "type": "string", - "enum": ["blocking", "non-blocking"], - "x-enum-varnames": [ - "WorkspaceAgentStartupScriptBehaviorBlocking", - "WorkspaceAgentStartupScriptBehaviorNonBlocking" - ] - }, - "codersdk.WorkspaceAgentStatus": { - "type": "string", - "enum": ["connecting", "connected", "disconnected", "timeout"], - "x-enum-varnames": [ - "WorkspaceAgentConnecting", - "WorkspaceAgentConnected", - "WorkspaceAgentDisconnected", - "WorkspaceAgentTimeout" - ] - }, - "codersdk.WorkspaceApp": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "display_name": { - "description": "DisplayName is a friendly name for the app.", - "type": "string" - }, - "external": { - "description": "External specifies whether the URL should be opened externally on\nthe client or not.", - "type": "boolean" - }, - "group": { - "type": "string" - }, - "health": { - "$ref": "#/definitions/codersdk.WorkspaceAppHealth" - }, - "healthcheck": { - "description": "Healthcheck specifies the configuration for checking app health.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.Healthcheck" - } - ] - }, - "hidden": { - "type": "boolean" - }, - "icon": { - "description": "Icon is a relative path or external URL that specifies\nan icon to be displayed in the dashboard.", - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "open_in": { - "$ref": "#/definitions/codersdk.WorkspaceAppOpenIn" - }, - "sharing_level": { - "enum": ["owner", "authenticated", "organization", "public"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceAppSharingLevel" - } - ] - }, - "slug": { - "description": "Slug is a unique identifier within the agent.", - "type": "string" - }, - "statuses": { - "description": "Statuses is a list of statuses for the app.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAppStatus" - } - }, - "subdomain": { - "description": "Subdomain denotes whether the app should be accessed via a path on the\n`coder server` or via a hostname-based dev URL. If this is set to true\nand there is no app wildcard configured on the server, the app will not\nbe accessible in the UI.", - "type": "boolean" - }, - "subdomain_name": { - "description": "SubdomainName is the application domain exposed on the `coder server`.", - "type": "string" - }, - "url": { - "description": "URL is the address being proxied to inside the workspace.\nIf external is specified, this will be opened on the client.", - "type": "string" - } - } - }, - "codersdk.WorkspaceAppHealth": { - "type": "string", - "enum": ["disabled", "initializing", "healthy", "unhealthy"], - "x-enum-varnames": [ - "WorkspaceAppHealthDisabled", - "WorkspaceAppHealthInitializing", - "WorkspaceAppHealthHealthy", - "WorkspaceAppHealthUnhealthy" - ] - }, - "codersdk.WorkspaceAppOpenIn": { - "type": "string", - "enum": ["slim-window", "tab"], - "x-enum-varnames": [ - "WorkspaceAppOpenInSlimWindow", - "WorkspaceAppOpenInTab" - ] - }, - "codersdk.WorkspaceAppSharingLevel": { - "type": "string", - "enum": ["owner", "authenticated", "organization", "public"], - "x-enum-varnames": [ - "WorkspaceAppSharingLevelOwner", - "WorkspaceAppSharingLevelAuthenticated", - "WorkspaceAppSharingLevelOrganization", - "WorkspaceAppSharingLevelPublic" - ] - }, - "codersdk.WorkspaceAppStatus": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "format": "uuid" - }, - "app_id": { - "type": "string", - "format": "uuid" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "icon": { - "description": "Deprecated: This field is unused and will be removed in a future version.\nIcon is an external URL to an icon that will be rendered in the UI.", - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "message": { - "type": "string" - }, - "needs_user_attention": { - "description": "Deprecated: This field is unused and will be removed in a future version.\nNeedsUserAttention specifies whether the status needs user attention.", - "type": "boolean" - }, - "state": { - "$ref": "#/definitions/codersdk.WorkspaceAppStatusState" - }, - "uri": { - "description": "URI is the URI of the resource that the status is for.\ne.g. https://github.com/org/repo/pull/123\ne.g. file:///path/to/file", - "type": "string" - }, - "workspace_id": { - "type": "string", - "format": "uuid" - } - } - }, - "codersdk.WorkspaceAppStatusState": { - "type": "string", - "enum": ["working", "idle", "complete", "failure"], - "x-enum-varnames": [ - "WorkspaceAppStatusStateWorking", - "WorkspaceAppStatusStateIdle", - "WorkspaceAppStatusStateComplete", - "WorkspaceAppStatusStateFailure" - ] - }, - "codersdk.WorkspaceBuild": { - "type": "object", - "properties": { - "ai_task_sidebar_app_id": { - "type": "string", - "format": "uuid" - }, - "build_number": { - "type": "integer" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "daily_cost": { - "type": "integer" - }, - "deadline": { - "type": "string", - "format": "date-time" - }, - "has_ai_task": { - "type": "boolean" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "initiator_id": { - "type": "string", - "format": "uuid" - }, - "initiator_name": { - "type": "string" - }, - "job": { - "$ref": "#/definitions/codersdk.ProvisionerJob" - }, - "matched_provisioners": { - "$ref": "#/definitions/codersdk.MatchedProvisioners" - }, - "max_deadline": { - "type": "string", - "format": "date-time" - }, - "reason": { - "enum": ["initiator", "autostart", "autostop"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.BuildReason" - } - ] - }, - "resources": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceResource" - } - }, - "status": { - "enum": [ - "pending", - "starting", - "running", - "stopping", - "stopped", - "failed", - "canceling", - "canceled", - "deleting", - "deleted" - ], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceStatus" - } - ] - }, - "template_version_id": { - "type": "string", - "format": "uuid" - }, - "template_version_name": { - "type": "string" - }, - "template_version_preset_id": { - "type": "string", - "format": "uuid" - }, - "transition": { - "enum": ["start", "stop", "delete"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceTransition" - } - ] - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "workspace_id": { - "type": "string", - "format": "uuid" - }, - "workspace_name": { - "type": "string" - }, - "workspace_owner_avatar_url": { - "type": "string" - }, - "workspace_owner_id": { - "type": "string", - "format": "uuid" - }, - "workspace_owner_name": { - "description": "WorkspaceOwnerName is the username of the owner of the workspace.", - "type": "string" - } - } - }, - "codersdk.WorkspaceBuildParameter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.WorkspaceBuildTimings": { - "type": "object", - "properties": { - "agent_connection_timings": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.AgentConnectionTiming" - } - }, - "agent_script_timings": { - "description": "TODO: Consolidate agent-related timing metrics into a single struct when\nupdating the API version", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.AgentScriptTiming" - } - }, - "provisioner_timings": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ProvisionerTiming" - } - } - } - }, - "codersdk.WorkspaceConnectionLatencyMS": { - "type": "object", - "properties": { - "p50": { - "type": "number" - }, - "p95": { - "type": "number" - } - } - }, - "codersdk.WorkspaceDeploymentStats": { - "type": "object", - "properties": { - "building": { - "type": "integer" - }, - "connection_latency_ms": { - "$ref": "#/definitions/codersdk.WorkspaceConnectionLatencyMS" - }, - "failed": { - "type": "integer" - }, - "pending": { - "type": "integer" - }, - "running": { - "type": "integer" - }, - "rx_bytes": { - "type": "integer" - }, - "stopped": { - "type": "integer" - }, - "tx_bytes": { - "type": "integer" - } - } - }, - "codersdk.WorkspaceHealth": { - "type": "object", - "properties": { - "failing_agents": { - "description": "FailingAgents lists the IDs of the agents that are failing, if any.", - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - }, - "healthy": { - "description": "Healthy is true if the workspace is healthy.", - "type": "boolean", - "example": false - } - } - }, - "codersdk.WorkspaceProxy": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "deleted": { - "type": "boolean" - }, - "derp_enabled": { - "type": "boolean" - }, - "derp_only": { - "type": "boolean" - }, - "display_name": { - "type": "string" - }, - "healthy": { - "type": "boolean" - }, - "icon_url": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string" - }, - "path_app_url": { - "description": "PathAppURL is the URL to the base path for path apps. Optional\nunless wildcard_hostname is set.\nE.g. https://us.example.com", - "type": "string" - }, - "status": { - "description": "Status is the latest status check of the proxy. This will be empty for deleted\nproxies. This value can be used to determine if a workspace proxy is healthy\nand ready to use.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceProxyStatus" - } - ] - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "version": { - "type": "string" - }, - "wildcard_hostname": { - "description": "WildcardHostname is the wildcard hostname for subdomain apps.\nE.g. *.us.example.com\nE.g. *--suffix.au.example.com\nOptional. Does not need to be on the same domain as PathAppURL.", - "type": "string" - } - } - }, - "codersdk.WorkspaceProxyStatus": { - "type": "object", - "properties": { - "checked_at": { - "type": "string", - "format": "date-time" - }, - "report": { - "description": "Report provides more information about the health of the workspace proxy.", - "allOf": [ - { - "$ref": "#/definitions/codersdk.ProxyHealthReport" - } - ] - }, - "status": { - "$ref": "#/definitions/codersdk.ProxyHealthStatus" - } - } - }, - "codersdk.WorkspaceQuota": { - "type": "object", - "properties": { - "budget": { - "type": "integer" - }, - "credits_consumed": { - "type": "integer" - } - } - }, - "codersdk.WorkspaceResource": { - "type": "object", - "properties": { - "agents": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceAgent" - } - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "daily_cost": { - "type": "integer" - }, - "hide": { - "type": "boolean" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "string", - "format": "uuid" - }, - "job_id": { - "type": "string", - "format": "uuid" - }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.WorkspaceResourceMetadata" - } - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "workspace_transition": { - "enum": ["start", "stop", "delete"], - "allOf": [ - { - "$ref": "#/definitions/codersdk.WorkspaceTransition" - } - ] - } - } - }, - "codersdk.WorkspaceResourceMetadata": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "sensitive": { - "type": "boolean" - }, - "value": { - "type": "string" - } - } - }, - "codersdk.WorkspaceStatus": { - "type": "string", - "enum": [ - "pending", - "starting", - "running", - "stopping", - "stopped", - "failed", - "canceling", - "canceled", - "deleting", - "deleted" - ], - "x-enum-varnames": [ - "WorkspaceStatusPending", - "WorkspaceStatusStarting", - "WorkspaceStatusRunning", - "WorkspaceStatusStopping", - "WorkspaceStatusStopped", - "WorkspaceStatusFailed", - "WorkspaceStatusCanceling", - "WorkspaceStatusCanceled", - "WorkspaceStatusDeleting", - "WorkspaceStatusDeleted" - ] - }, - "codersdk.WorkspaceTransition": { - "type": "string", - "enum": ["start", "stop", "delete"], - "x-enum-varnames": [ - "WorkspaceTransitionStart", - "WorkspaceTransitionStop", - "WorkspaceTransitionDelete" - ] - }, - "codersdk.WorkspacesResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "workspaces": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Workspace" - } - } - } - }, - "derp.BytesSentRecv": { - "type": "object", - "properties": { - "key": { - "description": "Key is the public key of the client which sent/received these bytes.", - "allOf": [ - { - "$ref": "#/definitions/key.NodePublic" - } - ] - }, - "recv": { - "type": "integer" - }, - "sent": { - "type": "integer" - } - } - }, - "derp.ServerInfoMessage": { - "type": "object", - "properties": { - "tokenBucketBytesBurst": { - "description": "TokenBucketBytesBurst is how many bytes the server will\nallow to burst, temporarily violating\nTokenBucketBytesPerSecond.\n\nZero means unspecified. There might be a limit, but the\nclient need not try to respect it.", - "type": "integer" - }, - "tokenBucketBytesPerSecond": { - "description": "TokenBucketBytesPerSecond is how many bytes per second the\nserver says it will accept, including all framing bytes.\n\nZero means unspecified. There might be a limit, but the\nclient need not try to respect it.", - "type": "integer" - } - } - }, - "health.Code": { - "type": "string", - "enum": [ - "EUNKNOWN", - "EWP01", - "EWP02", - "EWP04", - "EDB01", - "EDB02", - "EWS01", - "EWS02", - "EWS03", - "EACS01", - "EACS02", - "EACS03", - "EACS04", - "EDERP01", - "EDERP02", - "EPD01", - "EPD02", - "EPD03" - ], - "x-enum-varnames": [ - "CodeUnknown", - "CodeProxyUpdate", - "CodeProxyFetch", - "CodeProxyUnhealthy", - "CodeDatabasePingFailed", - "CodeDatabasePingSlow", - "CodeWebsocketDial", - "CodeWebsocketEcho", - "CodeWebsocketMsg", - "CodeAccessURLNotSet", - "CodeAccessURLInvalid", - "CodeAccessURLFetch", - "CodeAccessURLNotOK", - "CodeDERPNodeUsesWebsocket", - "CodeDERPOneNodeUnhealthy", - "CodeProvisionerDaemonsNoProvisionerDaemons", - "CodeProvisionerDaemonVersionMismatch", - "CodeProvisionerDaemonAPIMajorVersionDeprecated" - ] - }, - "health.Message": { - "type": "object", - "properties": { - "code": { - "$ref": "#/definitions/health.Code" - }, - "message": { - "type": "string" - } - } - }, - "health.Severity": { - "type": "string", - "enum": ["ok", "warning", "error"], - "x-enum-varnames": ["SeverityOK", "SeverityWarning", "SeverityError"] - }, - "healthsdk.AccessURLReport": { - "type": "object", - "properties": { - "access_url": { - "type": "string" - }, - "dismissed": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "healthz_response": { - "type": "string" - }, - "reachable": { - "type": "boolean" - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "status_code": { - "type": "integer" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.DERPHealthReport": { - "type": "object", - "properties": { - "dismissed": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "netcheck": { - "$ref": "#/definitions/netcheck.Report" - }, - "netcheck_err": { - "type": "string" - }, - "netcheck_logs": { - "type": "array", - "items": { - "type": "string" - } - }, - "regions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/healthsdk.DERPRegionReport" - } - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.DERPNodeReport": { - "type": "object", - "properties": { - "can_exchange_messages": { - "type": "boolean" - }, - "client_errs": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "client_logs": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "node": { - "$ref": "#/definitions/tailcfg.DERPNode" - }, - "node_info": { - "$ref": "#/definitions/derp.ServerInfoMessage" - }, - "round_trip_ping": { - "type": "string" - }, - "round_trip_ping_ms": { - "type": "integer" - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "stun": { - "$ref": "#/definitions/healthsdk.STUNReport" - }, - "uses_websocket": { - "type": "boolean" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.DERPRegionReport": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "node_reports": { - "type": "array", - "items": { - "$ref": "#/definitions/healthsdk.DERPNodeReport" - } - }, - "region": { - "$ref": "#/definitions/tailcfg.DERPRegion" - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.DatabaseReport": { - "type": "object", - "properties": { - "dismissed": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "latency": { - "type": "string" - }, - "latency_ms": { - "type": "integer" - }, - "reachable": { - "type": "boolean" - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "threshold_ms": { - "type": "integer" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.HealthSection": { - "type": "string", - "enum": [ - "DERP", - "AccessURL", - "Websocket", - "Database", - "WorkspaceProxy", - "ProvisionerDaemons" - ], - "x-enum-varnames": [ - "HealthSectionDERP", - "HealthSectionAccessURL", - "HealthSectionWebsocket", - "HealthSectionDatabase", - "HealthSectionWorkspaceProxy", - "HealthSectionProvisionerDaemons" - ] - }, - "healthsdk.HealthSettings": { - "type": "object", - "properties": { - "dismissed_healthchecks": { - "type": "array", - "items": { - "$ref": "#/definitions/healthsdk.HealthSection" - } - } - } - }, - "healthsdk.HealthcheckReport": { - "type": "object", - "properties": { - "access_url": { - "$ref": "#/definitions/healthsdk.AccessURLReport" - }, - "coder_version": { - "description": "The Coder version of the server that the report was generated on.", - "type": "string" - }, - "database": { - "$ref": "#/definitions/healthsdk.DatabaseReport" - }, - "derp": { - "$ref": "#/definitions/healthsdk.DERPHealthReport" - }, - "healthy": { - "description": "Healthy is true if the report returns no errors.\nDeprecated: use `Severity` instead", - "type": "boolean" - }, - "provisioner_daemons": { - "$ref": "#/definitions/healthsdk.ProvisionerDaemonsReport" - }, - "severity": { - "description": "Severity indicates the status of Coder health.", - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "time": { - "description": "Time is the time the report was generated at.", - "type": "string", - "format": "date-time" - }, - "websocket": { - "$ref": "#/definitions/healthsdk.WebsocketReport" - }, - "workspace_proxy": { - "$ref": "#/definitions/healthsdk.WorkspaceProxyReport" - } - } - }, - "healthsdk.ProvisionerDaemonsReport": { - "type": "object", - "properties": { - "dismissed": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/healthsdk.ProvisionerDaemonsReportItem" - } - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.ProvisionerDaemonsReportItem": { - "type": "object", - "properties": { - "provisioner_daemon": { - "$ref": "#/definitions/codersdk.ProvisionerDaemon" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.STUNReport": { - "type": "object", - "properties": { - "canSTUN": { - "type": "boolean" - }, - "enabled": { - "type": "boolean" - }, - "error": { - "type": "string" - } - } - }, - "healthsdk.UpdateHealthSettings": { - "type": "object", - "properties": { - "dismissed_healthchecks": { - "type": "array", - "items": { - "$ref": "#/definitions/healthsdk.HealthSection" - } - } - } - }, - "healthsdk.WebsocketReport": { - "type": "object", - "properties": { - "body": { - "type": "string" - }, - "code": { - "type": "integer" - }, - "dismissed": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - } - } - }, - "healthsdk.WorkspaceProxyReport": { - "type": "object", - "properties": { - "dismissed": { - "type": "boolean" - }, - "error": { - "type": "string" - }, - "healthy": { - "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", - "type": "boolean" - }, - "severity": { - "enum": ["ok", "warning", "error"], - "allOf": [ - { - "$ref": "#/definitions/health.Severity" - } - ] - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/health.Message" - } - }, - "workspace_proxies": { - "$ref": "#/definitions/codersdk.RegionsResponse-codersdk_WorkspaceProxy" - } - } - }, - "key.NodePublic": { - "type": "object" - }, - "netcheck.Report": { - "type": "object", - "properties": { - "captivePortal": { - "description": "CaptivePortal is set when we think there's a captive portal that is\nintercepting HTTP traffic.", - "type": "string" - }, - "globalV4": { - "description": "ip:port of global IPv4", - "type": "string" - }, - "globalV6": { - "description": "[ip]:port of global IPv6", - "type": "string" - }, - "hairPinning": { - "description": "HairPinning is whether the router supports communicating\nbetween two local devices through the NATted public IP address\n(on IPv4).", - "type": "string" - }, - "icmpv4": { - "description": "an ICMPv4 round trip completed", - "type": "boolean" - }, - "ipv4": { - "description": "an IPv4 STUN round trip completed", - "type": "boolean" - }, - "ipv4CanSend": { - "description": "an IPv4 packet was able to be sent", - "type": "boolean" - }, - "ipv6": { - "description": "an IPv6 STUN round trip completed", - "type": "boolean" - }, - "ipv6CanSend": { - "description": "an IPv6 packet was able to be sent", - "type": "boolean" - }, - "mappingVariesByDestIP": { - "description": "MappingVariesByDestIP is whether STUN results depend which\nSTUN server you're talking to (on IPv4).", - "type": "string" - }, - "oshasIPv6": { - "description": "could bind a socket to ::1", - "type": "boolean" - }, - "pcp": { - "description": "PCP is whether PCP appears present on the LAN.\nEmpty means not checked.", - "type": "string" - }, - "pmp": { - "description": "PMP is whether NAT-PMP appears present on the LAN.\nEmpty means not checked.", - "type": "string" - }, - "preferredDERP": { - "description": "or 0 for unknown", - "type": "integer" - }, - "regionLatency": { - "description": "keyed by DERP Region ID", - "type": "object", - "additionalProperties": { - "type": "integer" - } - }, - "regionV4Latency": { - "description": "keyed by DERP Region ID", - "type": "object", - "additionalProperties": { - "type": "integer" - } - }, - "regionV6Latency": { - "description": "keyed by DERP Region ID", - "type": "object", - "additionalProperties": { - "type": "integer" - } - }, - "udp": { - "description": "a UDP STUN round trip completed", - "type": "boolean" - }, - "upnP": { - "description": "UPnP is whether UPnP appears present on the LAN.\nEmpty means not checked.", - "type": "string" - } - } - }, - "oauth2.Token": { - "type": "object", - "properties": { - "access_token": { - "description": "AccessToken is the token that authorizes and authenticates\nthe requests.", - "type": "string" - }, - "expires_in": { - "description": "ExpiresIn is the OAuth2 wire format \"expires_in\" field,\nwhich specifies how many seconds later the token expires,\nrelative to an unknown time base approximately around \"now\".\nIt is the application's responsibility to populate\n`Expiry` from `ExpiresIn` when required.", - "type": "integer" - }, - "expiry": { - "description": "Expiry is the optional expiration time of the access token.\n\nIf zero, [TokenSource] implementations will reuse the same\ntoken forever and RefreshToken or equivalent\nmechanisms for that TokenSource will not be used.", - "type": "string" - }, - "refresh_token": { - "description": "RefreshToken is a token that's used by the application\n(as opposed to the user) to refresh the access token\nif it expires.", - "type": "string" - }, - "token_type": { - "description": "TokenType is the type of token.\nThe Type method returns either this or \"Bearer\", the default.", - "type": "string" - } - } - }, - "regexp.Regexp": { - "type": "object" - }, - "serpent.Annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "serpent.Group": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parent": { - "$ref": "#/definitions/serpent.Group" - }, - "yaml": { - "type": "string" - } - } - }, - "serpent.HostPort": { - "type": "object", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "string" - } - } - }, - "serpent.Option": { - "type": "object", - "properties": { - "annotations": { - "description": "Annotations enable extensions to serpent higher up in the stack. It's useful for\nhelp formatting and documentation generation.", - "allOf": [ - { - "$ref": "#/definitions/serpent.Annotations" - } - ] - }, - "default": { - "description": "Default is parsed into Value if set.", - "type": "string" - }, - "description": { - "type": "string" - }, - "env": { - "description": "Env is the environment variable used to configure this option. If unset,\nenvironment configuring is disabled.", - "type": "string" - }, - "flag": { - "description": "Flag is the long name of the flag used to configure this option. If unset,\nflag configuring is disabled.", - "type": "string" - }, - "flag_shorthand": { - "description": "FlagShorthand is the one-character shorthand for the flag. If unset, no\nshorthand is used.", - "type": "string" - }, - "group": { - "description": "Group is a group hierarchy that helps organize this option in help, configs\nand other documentation.", - "allOf": [ - { - "$ref": "#/definitions/serpent.Group" - } - ] - }, - "hidden": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "required": { - "description": "Required means this value must be set by some means. It requires\n`ValueSource != ValueSourceNone`\nIf `Default` is set, then `Required` is ignored.", - "type": "boolean" - }, - "use_instead": { - "description": "UseInstead is a list of options that should be used instead of this one.\nThe field is used to generate a deprecation warning.", - "type": "array", - "items": { - "$ref": "#/definitions/serpent.Option" - } - }, - "value": { - "description": "Value includes the types listed in values.go." - }, - "value_source": { - "$ref": "#/definitions/serpent.ValueSource" - }, - "yaml": { - "description": "YAML is the YAML key used to configure this option. If unset, YAML\nconfiguring is disabled.", - "type": "string" - } - } - }, - "serpent.Regexp": { - "type": "object" - }, - "serpent.Struct-array_codersdk_ExternalAuthConfig": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.ExternalAuthConfig" - } - } - } - }, - "serpent.Struct-array_codersdk_LinkConfig": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.LinkConfig" - } - } - } - }, - "serpent.URL": { - "type": "object", - "properties": { - "forceQuery": { - "description": "append a query ('?') even if RawQuery is empty", - "type": "boolean" - }, - "fragment": { - "description": "fragment for references, without '#'", - "type": "string" - }, - "host": { - "description": "host or host:port (see Hostname and Port methods)", - "type": "string" - }, - "omitHost": { - "description": "do not emit empty host (authority)", - "type": "boolean" - }, - "opaque": { - "description": "encoded opaque data", - "type": "string" - }, - "path": { - "description": "path (relative paths may omit leading slash)", - "type": "string" - }, - "rawFragment": { - "description": "encoded fragment hint (see EscapedFragment method)", - "type": "string" - }, - "rawPath": { - "description": "encoded path hint (see EscapedPath method)", - "type": "string" - }, - "rawQuery": { - "description": "encoded query values, without '?'", - "type": "string" - }, - "scheme": { - "type": "string" - }, - "user": { - "description": "username and password information", - "allOf": [ - { - "$ref": "#/definitions/url.Userinfo" - } - ] - } - } - }, - "serpent.ValueSource": { - "type": "string", - "enum": ["", "flag", "env", "yaml", "default"], - "x-enum-varnames": [ - "ValueSourceNone", - "ValueSourceFlag", - "ValueSourceEnv", - "ValueSourceYAML", - "ValueSourceDefault" - ] - }, - "tailcfg.DERPHomeParams": { - "type": "object", - "properties": { - "regionScore": { - "description": "RegionScore scales latencies of DERP regions by a given scaling\nfactor when determining which region to use as the home\n(\"preferred\") DERP. Scores in the range (0, 1) will cause this\nregion to be proportionally more preferred, and scores in the range\n(1, ∞) will penalize a region.\n\nIf a region is not present in this map, it is treated as having a\nscore of 1.0.\n\nScores should not be 0 or negative; such scores will be ignored.\n\nA nil map means no change from the previous value (if any); an empty\nnon-nil map can be sent to reset all scores back to 1.0.", - "type": "object", - "additionalProperties": { - "type": "number" - } - } - } - }, - "tailcfg.DERPMap": { - "type": "object", - "properties": { - "homeParams": { - "description": "HomeParams, if non-nil, is a change in home parameters.\n\nThe rest of the DEPRMap fields, if zero, means unchanged.", - "allOf": [ - { - "$ref": "#/definitions/tailcfg.DERPHomeParams" - } - ] - }, - "omitDefaultRegions": { - "description": "OmitDefaultRegions specifies to not use Tailscale's DERP servers, and only use those\nspecified in this DERPMap. If there are none set outside of the defaults, this is a noop.\n\nThis field is only meaningful if the Regions map is non-nil (indicating a change).", - "type": "boolean" - }, - "regions": { - "description": "Regions is the set of geographic regions running DERP node(s).\n\nIt's keyed by the DERPRegion.RegionID.\n\nThe numbers are not necessarily contiguous.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/tailcfg.DERPRegion" - } - } - } - }, - "tailcfg.DERPNode": { - "type": "object", - "properties": { - "canPort80": { - "description": "CanPort80 specifies whether this DERP node is accessible over HTTP\non port 80 specifically. This is used for captive portal checks.", - "type": "boolean" - }, - "certName": { - "description": "CertName optionally specifies the expected TLS cert common\nname. If empty, HostName is used. If CertName is non-empty,\nHostName is only used for the TCP dial (if IPv4/IPv6 are\nnot present) + TLS ClientHello.", - "type": "string" - }, - "derpport": { - "description": "DERPPort optionally provides an alternate TLS port number\nfor the DERP HTTPS server.\n\nIf zero, 443 is used.", - "type": "integer" - }, - "forceHTTP": { - "description": "ForceHTTP is used by unit tests to force HTTP.\nIt should not be set by users.", - "type": "boolean" - }, - "hostName": { - "description": "HostName is the DERP node's hostname.\n\nIt is required but need not be unique; multiple nodes may\nhave the same HostName but vary in configuration otherwise.", - "type": "string" - }, - "insecureForTests": { - "description": "InsecureForTests is used by unit tests to disable TLS verification.\nIt should not be set by users.", - "type": "boolean" - }, - "ipv4": { - "description": "IPv4 optionally forces an IPv4 address to use, instead of using DNS.\nIf empty, A record(s) from DNS lookups of HostName are used.\nIf the string is not an IPv4 address, IPv4 is not used; the\nconventional string to disable IPv4 (and not use DNS) is\n\"none\".", - "type": "string" - }, - "ipv6": { - "description": "IPv6 optionally forces an IPv6 address to use, instead of using DNS.\nIf empty, AAAA record(s) from DNS lookups of HostName are used.\nIf the string is not an IPv6 address, IPv6 is not used; the\nconventional string to disable IPv6 (and not use DNS) is\n\"none\".", - "type": "string" - }, - "name": { - "description": "Name is a unique node name (across all regions).\nIt is not a host name.\nIt's typically of the form \"1b\", \"2a\", \"3b\", etc. (region\nID + suffix within that region)", - "type": "string" - }, - "regionID": { - "description": "RegionID is the RegionID of the DERPRegion that this node\nis running in.", - "type": "integer" - }, - "stunonly": { - "description": "STUNOnly marks a node as only a STUN server and not a DERP\nserver.", - "type": "boolean" - }, - "stunport": { - "description": "Port optionally specifies a STUN port to use.\nZero means 3478.\nTo disable STUN on this node, use -1.", - "type": "integer" - }, - "stuntestIP": { - "description": "STUNTestIP is used in tests to override the STUN server's IP.\nIf empty, it's assumed to be the same as the DERP server.", - "type": "string" - } - } - }, - "tailcfg.DERPRegion": { - "type": "object", - "properties": { - "avoid": { - "description": "Avoid is whether the client should avoid picking this as its home\nregion. The region should only be used if a peer is there.\nClients already using this region as their home should migrate\naway to a new region without Avoid set.", - "type": "boolean" - }, - "embeddedRelay": { - "description": "EmbeddedRelay is true when the region is bundled with the Coder\ncontrol plane.", - "type": "boolean" - }, - "nodes": { - "description": "Nodes are the DERP nodes running in this region, in\npriority order for the current client. Client TLS\nconnections should ideally only go to the first entry\n(falling back to the second if necessary). STUN packets\nshould go to the first 1 or 2.\n\nIf nodes within a region route packets amongst themselves,\nbut not to other regions. That said, each user/domain\nshould get a the same preferred node order, so if all nodes\nfor a user/network pick the first one (as they should, when\nthings are healthy), the inter-cluster routing is minimal\nto zero.", - "type": "array", - "items": { - "$ref": "#/definitions/tailcfg.DERPNode" - } - }, - "regionCode": { - "description": "RegionCode is a short name for the region. It's usually a popular\ncity or airport code in the region: \"nyc\", \"sf\", \"sin\",\n\"fra\", etc.", - "type": "string" - }, - "regionID": { - "description": "RegionID is a unique integer for a geographic region.\n\nIt corresponds to the legacy derpN.tailscale.com hostnames\nused by older clients. (Older clients will continue to resolve\nderpN.tailscale.com when contacting peers, rather than use\nthe server-provided DERPMap)\n\nRegionIDs must be non-zero, positive, and guaranteed to fit\nin a JavaScript number.\n\nRegionIDs in range 900-999 are reserved for end users to run their\nown DERP nodes.", - "type": "integer" - }, - "regionName": { - "description": "RegionName is a long English name for the region: \"New York City\",\n\"San Francisco\", \"Singapore\", \"Frankfurt\", etc.", - "type": "string" - } - } - }, - "url.Userinfo": { - "type": "object" - }, - "uuid.NullUUID": { - "type": "object", - "properties": { - "uuid": { - "type": "string" - }, - "valid": { - "description": "Valid is true if UUID is not NULL", - "type": "boolean" - } - } - }, - "workspaceapps.AccessMethod": { - "type": "string", - "enum": ["path", "subdomain", "terminal"], - "x-enum-varnames": [ - "AccessMethodPath", - "AccessMethodSubdomain", - "AccessMethodTerminal" - ] - }, - "workspaceapps.IssueTokenRequest": { - "type": "object", - "properties": { - "app_hostname": { - "description": "AppHostname is the optional hostname for subdomain apps on the external\nproxy. It must start with an asterisk.", - "type": "string" - }, - "app_path": { - "description": "AppPath is the path of the user underneath the app base path.", - "type": "string" - }, - "app_query": { - "description": "AppQuery is the query parameters the user provided in the app request.", - "type": "string" - }, - "app_request": { - "$ref": "#/definitions/workspaceapps.Request" - }, - "path_app_base_url": { - "description": "PathAppBaseURL is required.", - "type": "string" - }, - "session_token": { - "description": "SessionToken is the session token provided by the user.", - "type": "string" - } - } - }, - "workspaceapps.Request": { - "type": "object", - "properties": { - "access_method": { - "$ref": "#/definitions/workspaceapps.AccessMethod" - }, - "agent_name_or_id": { - "description": "AgentNameOrID is not required if the workspace has only one agent.", - "type": "string" - }, - "app_prefix": { - "description": "Prefix is the prefix of the subdomain app URL. Prefix should have a\ntrailing \"---\" if set.", - "type": "string" - }, - "app_slug_or_port": { - "type": "string" - }, - "base_path": { - "description": "BasePath of the app. For path apps, this is the path prefix in the router\nfor this particular app. For subdomain apps, this should be \"/\". This is\nused for setting the cookie path.", - "type": "string" - }, - "username_or_id": { - "description": "For the following fields, if the AccessMethod is AccessMethodTerminal,\nthen only AgentNameOrID may be set and it must be a UUID. The other\nfields must be left blank.", - "type": "string" - }, - "workspace_name_or_id": { - "type": "string" - } - } - }, - "workspaceapps.StatsReport": { - "type": "object", - "properties": { - "access_method": { - "$ref": "#/definitions/workspaceapps.AccessMethod" - }, - "agent_id": { - "type": "string" - }, - "requests": { - "type": "integer" - }, - "session_ended_at": { - "description": "Updated periodically while app is in use active and when the last connection is closed.", - "type": "string" - }, - "session_id": { - "type": "string" - }, - "session_started_at": { - "type": "string" - }, - "slug_or_port": { - "type": "string" - }, - "user_id": { - "type": "string" - }, - "workspace_id": { - "type": "string" - } - } - }, - "workspacesdk.AgentConnectionInfo": { - "type": "object", - "properties": { - "derp_force_websockets": { - "type": "boolean" - }, - "derp_map": { - "$ref": "#/definitions/tailcfg.DERPMap" - }, - "disable_direct_connections": { - "type": "boolean" - }, - "hostname_suffix": { - "type": "string" - } - } - }, - "wsproxysdk.CryptoKeysResponse": { - "type": "object", - "properties": { - "crypto_keys": { - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.CryptoKey" - } - } - } - }, - "wsproxysdk.DeregisterWorkspaceProxyRequest": { - "type": "object", - "properties": { - "replica_id": { - "description": "ReplicaID is a unique identifier for the replica of the proxy that is\nderegistering. It should be generated by the client on startup and\nshould've already been passed to the register endpoint.", - "type": "string" - } - } - }, - "wsproxysdk.IssueSignedAppTokenResponse": { - "type": "object", - "properties": { - "signed_token_str": { - "description": "SignedTokenStr should be set as a cookie on the response.", - "type": "string" - } - } - }, - "wsproxysdk.RegisterWorkspaceProxyRequest": { - "type": "object", - "properties": { - "access_url": { - "description": "AccessURL that hits the workspace proxy api.", - "type": "string" - }, - "derp_enabled": { - "description": "DerpEnabled indicates whether the proxy should be included in the DERP\nmap or not.", - "type": "boolean" - }, - "derp_only": { - "description": "DerpOnly indicates whether the proxy should only be included in the DERP\nmap and should not be used for serving apps.", - "type": "boolean" - }, - "hostname": { - "description": "ReplicaHostname is the OS hostname of the machine that the proxy is running\non. This is only used for tracking purposes in the replicas table.", - "type": "string" - }, - "replica_error": { - "description": "ReplicaError is the error that the replica encountered when trying to\ndial it's peers. This is stored in the replicas table for debugging\npurposes but does not affect the proxy's ability to register.\n\nThis value is only stored on subsequent requests to the register\nendpoint, not the first request.", - "type": "string" - }, - "replica_id": { - "description": "ReplicaID is a unique identifier for the replica of the proxy that is\nregistering. It should be generated by the client on startup and\npersisted (in memory only) until the process is restarted.", - "type": "string" - }, - "replica_relay_address": { - "description": "ReplicaRelayAddress is the DERP address of the replica that other\nreplicas may use to connect internally for DERP meshing.", - "type": "string" - }, - "version": { - "description": "Version is the Coder version of the proxy.", - "type": "string" - }, - "wildcard_hostname": { - "description": "WildcardHostname that the workspace proxy api is serving for subdomain apps.", - "type": "string" - } - } - }, - "wsproxysdk.RegisterWorkspaceProxyResponse": { - "type": "object", - "properties": { - "derp_force_websockets": { - "type": "boolean" - }, - "derp_map": { - "$ref": "#/definitions/tailcfg.DERPMap" - }, - "derp_mesh_key": { - "type": "string" - }, - "derp_region_id": { - "type": "integer" - }, - "sibling_replicas": { - "description": "SiblingReplicas is a list of all other replicas of the proxy that have\nnot timed out.", - "type": "array", - "items": { - "$ref": "#/definitions/codersdk.Replica" - } - } - } - }, - "wsproxysdk.ReportAppStatsRequest": { - "type": "object", - "properties": { - "stats": { - "type": "array", - "items": { - "$ref": "#/definitions/workspaceapps.StatsReport" - } - } - } - } - }, - "securityDefinitions": { - "Authorization": { - "type": "apiKey", - "name": "Authorizaiton", - "in": "header" - }, - "CoderSessionToken": { - "type": "apiKey", - "name": "Coder-Session-Token", - "in": "header" - } - } -} + "swagger": "2.0", + "info": { + "description": "Coderd is the service created by running coder server. It is a thin API that connects workspaces, provisioners and users. coderd stores its state in Postgres and is the only service that communicates with Postgres.", + "title": "Coder API", + "termsOfService": "https://coder.com/legal/terms-of-service", + "contact": { + "name": "API Support", + "url": "https://coder.com", + "email": "support@coder.com" + }, + "license": { + "name": "AGPL-3.0", + "url": "https://github.com/coder/coder/blob/main/LICENSE" + }, + "version": "2.0" + }, + "basePath": "/api/v2", + "paths": { + "/": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "API root handler", + "operationId": "api-root-handler", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/.well-known/oauth-authorization-server": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "OAuth2 authorization server metadata.", + "operationId": "oauth2-authorization-server-metadata", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2AuthorizationServerMetadata" + } + } + } + } + }, + "/.well-known/oauth-protected-resource": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "OAuth2 protected resource metadata.", + "operationId": "oauth2-protected-resource-metadata", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ProtectedResourceMetadata" + } + } + } + } + }, + "/appearance": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get appearance", + "operationId": "get-appearance", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.AppearanceConfig" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update appearance", + "operationId": "update-appearance", + "parameters": [ + { + "description": "Update appearance request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateAppearanceConfig" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UpdateAppearanceConfig" + } + } + } + } + }, + "/applications/auth-redirect": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Applications" + ], + "summary": "Redirect to URI with encrypted API key", + "operationId": "redirect-to-uri-with-encrypted-api-key", + "parameters": [ + { + "type": "string", + "description": "Redirect destination", + "name": "redirect_uri", + "in": "query" + } + ], + "responses": { + "307": { + "description": "Temporary Redirect" + } + } + } + }, + "/applications/host": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Applications" + ], + "summary": "Get applications host", + "operationId": "get-applications-host", + "deprecated": true, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.AppHostResponse" + } + } + } + } + }, + "/applications/reconnecting-pty-signed-token": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Issue signed app token for reconnecting PTY", + "operationId": "issue-signed-app-token-for-reconnecting-pty", + "parameters": [ + { + "description": "Issue reconnecting PTY signed token request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.IssueReconnectingPTYSignedTokenRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.IssueReconnectingPTYSignedTokenResponse" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/audit": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Audit" + ], + "summary": "Get audit logs", + "operationId": "get-audit-logs", + "parameters": [ + { + "type": "string", + "description": "Search query", + "name": "q", + "in": "query" + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query", + "required": true + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.AuditLogResponse" + } + } + } + } + }, + "/audit/testgenerate": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Audit" + ], + "summary": "Generate fake audit log", + "operationId": "generate-fake-audit-log", + "parameters": [ + { + "description": "Audit log request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateTestAuditLogRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/authcheck": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Authorization" + ], + "summary": "Check authorization", + "operationId": "check-authorization", + "parameters": [ + { + "description": "Authorization request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.AuthorizationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.AuthorizationResponse" + } + } + } + } + }, + "/buildinfo": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Build info", + "operationId": "build-info", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.BuildInfoResponse" + } + } + } + } + }, + "/connectionlog": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get connection logs", + "operationId": "get-connection-logs", + "parameters": [ + { + "type": "string", + "description": "Search query", + "name": "q", + "in": "query" + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query", + "required": true + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ConnectionLogResponse" + } + } + } + } + }, + "/csp/reports": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Report CSP violations", + "operationId": "report-csp-violations", + "parameters": [ + { + "description": "Violation report", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/coderd.cspViolation" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/debug/coordinator": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "text/html" + ], + "tags": [ + "Debug" + ], + "summary": "Debug Info Wireguard Coordinator", + "operationId": "debug-info-wireguard-coordinator", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/debug/derp/traffic": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Debug" + ], + "summary": "Debug DERP traffic", + "operationId": "debug-derp-traffic", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/derp.BytesSentRecv" + } + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/debug/expvar": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Debug" + ], + "summary": "Debug expvar", + "operationId": "debug-expvar", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "additionalProperties": true + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/debug/health": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Debug" + ], + "summary": "Debug Info Deployment Health", + "operationId": "debug-info-deployment-health", + "parameters": [ + { + "type": "boolean", + "description": "Force a healthcheck to run", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/healthsdk.HealthcheckReport" + } + } + } + } + }, + "/debug/health/settings": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Debug" + ], + "summary": "Get health settings", + "operationId": "get-health-settings", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/healthsdk.HealthSettings" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Debug" + ], + "summary": "Update health settings", + "operationId": "update-health-settings", + "parameters": [ + { + "description": "Update health settings", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/healthsdk.UpdateHealthSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/healthsdk.UpdateHealthSettings" + } + } + } + } + }, + "/debug/tailnet": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "text/html" + ], + "tags": [ + "Debug" + ], + "summary": "Debug Info Tailnet", + "operationId": "debug-info-tailnet", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/debug/ws": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Debug" + ], + "summary": "Debug Info Websocket Test", + "operationId": "debug-info-websocket-test", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/debug/{user}/debug-link": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "Debug OIDC context for a user", + "operationId": "debug-oidc-context-for-a-user", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Success" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/deployment/config": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Get deployment config", + "operationId": "get-deployment-config", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.DeploymentConfig" + } + } + } + } + }, + "/deployment/ssh": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "SSH Config", + "operationId": "ssh-config", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.SSHConfigResponse" + } + } + } + } + }, + "/deployment/stats": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Get deployment stats", + "operationId": "get-deployment-stats", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.DeploymentStats" + } + } + } + } + }, + "/derp-map": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "Get DERP map updates", + "operationId": "get-derp-map-updates", + "responses": { + "101": { + "description": "Switching Protocols" + } + } + } + }, + "/entitlements": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get entitlements", + "operationId": "get-entitlements", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Entitlements" + } + } + } + } + }, + "/experiments": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Get enabled experiments", + "operationId": "get-enabled-experiments", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Experiment" + } + } + } + } + } + }, + "/experiments/available": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Get safe experiments", + "operationId": "get-safe-experiments", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Experiment" + } + } + } + } + } + }, + "/external-auth": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Git" + ], + "summary": "Get user external auths", + "operationId": "get-user-external-auths", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ExternalAuthLink" + } + } + } + } + }, + "/external-auth/{externalauth}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Git" + ], + "summary": "Get external auth by ID", + "operationId": "get-external-auth-by-id", + "parameters": [ + { + "type": "string", + "format": "string", + "description": "Git Provider ID", + "name": "externalauth", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ExternalAuth" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Git" + ], + "summary": "Delete external auth user link by ID", + "operationId": "delete-external-auth-user-link-by-id", + "parameters": [ + { + "type": "string", + "format": "string", + "description": "Git Provider ID", + "name": "externalauth", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/external-auth/{externalauth}/device": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Git" + ], + "summary": "Get external auth device by ID.", + "operationId": "get-external-auth-device-by-id", + "parameters": [ + { + "type": "string", + "format": "string", + "description": "Git Provider ID", + "name": "externalauth", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ExternalAuthDevice" + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Git" + ], + "summary": "Post external auth device by ID", + "operationId": "post-external-auth-device-by-id", + "parameters": [ + { + "type": "string", + "format": "string", + "description": "External Provider ID", + "name": "externalauth", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/files": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "description": "Swagger notice: Swagger 2.0 doesn't support file upload with a `content-type` different than `application/x-www-form-urlencoded`.", + "consumes": [ + "application/x-tar" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Files" + ], + "summary": "Upload file", + "operationId": "upload-file", + "parameters": [ + { + "type": "string", + "default": "application/x-tar", + "description": "Content-Type must be `application/x-tar` or `application/zip`", + "name": "Content-Type", + "in": "header", + "required": true + }, + { + "type": "file", + "description": "File to be uploaded. If using tar format, file must conform to ustar (pax may cause problems).", + "name": "file", + "in": "formData", + "required": true + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.UploadResponse" + } + } + } + } + }, + "/files/{fileID}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Files" + ], + "summary": "Get file by ID", + "operationId": "get-file-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "File ID", + "name": "fileID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/groups": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get groups", + "operationId": "get-groups", + "parameters": [ + { + "type": "string", + "description": "Organization ID or name", + "name": "organization", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "User ID or name", + "name": "has_member", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Comma separated list of group IDs", + "name": "group_ids", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + } + } + }, + "/groups/{group}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get group by ID", + "operationId": "get-group-by-id", + "parameters": [ + { + "type": "string", + "description": "Group id", + "name": "group", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete group by name", + "operationId": "delete-group-by-name", + "parameters": [ + { + "type": "string", + "description": "Group name", + "name": "group", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update group by name", + "operationId": "update-group-by-name", + "parameters": [ + { + "type": "string", + "description": "Group name", + "name": "group", + "in": "path", + "required": true + }, + { + "description": "Patch group request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchGroupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + } + }, + "/insights/daus": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Insights" + ], + "summary": "Get deployment DAUs", + "operationId": "get-deployment-daus", + "parameters": [ + { + "type": "integer", + "description": "Time-zone offset (e.g. -2)", + "name": "tz_offset", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.DAUsResponse" + } + } + } + } + }, + "/insights/templates": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Insights" + ], + "summary": "Get insights about templates", + "operationId": "get-insights-about-templates", + "parameters": [ + { + "type": "string", + "format": "date-time", + "description": "Start time", + "name": "start_time", + "in": "query", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "End time", + "name": "end_time", + "in": "query", + "required": true + }, + { + "enum": [ + "week", + "day" + ], + "type": "string", + "description": "Interval", + "name": "interval", + "in": "query", + "required": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "description": "Template IDs", + "name": "template_ids", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TemplateInsightsResponse" + } + } + } + } + }, + "/insights/user-activity": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Insights" + ], + "summary": "Get insights about user activity", + "operationId": "get-insights-about-user-activity", + "parameters": [ + { + "type": "string", + "format": "date-time", + "description": "Start time", + "name": "start_time", + "in": "query", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "End time", + "name": "end_time", + "in": "query", + "required": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "description": "Template IDs", + "name": "template_ids", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UserActivityInsightsResponse" + } + } + } + } + }, + "/insights/user-latency": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Insights" + ], + "summary": "Get insights about user latency", + "operationId": "get-insights-about-user-latency", + "parameters": [ + { + "type": "string", + "format": "date-time", + "description": "Start time", + "name": "start_time", + "in": "query", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "End time", + "name": "end_time", + "in": "query", + "required": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "description": "Template IDs", + "name": "template_ids", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UserLatencyInsightsResponse" + } + } + } + } + }, + "/insights/user-status-counts": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Insights" + ], + "summary": "Get insights about user status counts", + "operationId": "get-insights-about-user-status-counts", + "parameters": [ + { + "type": "integer", + "description": "Time-zone offset (e.g. -2)", + "name": "tz_offset", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GetUserStatusCountsResponse" + } + } + } + } + }, + "/licenses": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get licenses", + "operationId": "get-licenses", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.License" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Add new license", + "operationId": "add-new-license", + "parameters": [ + { + "description": "Add license request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.AddLicenseRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.License" + } + } + } + } + }, + "/licenses/refresh-entitlements": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Update license entitlements", + "operationId": "update-license-entitlements", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/licenses/{id}": { + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete license", + "operationId": "delete-license", + "parameters": [ + { + "type": "string", + "format": "number", + "description": "License ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/notifications/dispatch-methods": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Get notification dispatch methods", + "operationId": "get-notification-dispatch-methods", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.NotificationMethodsResponse" + } + } + } + } + } + }, + "/notifications/inbox": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "List inbox notifications", + "operationId": "list-inbox-notifications", + "parameters": [ + { + "type": "string", + "description": "Comma-separated list of target IDs to filter notifications", + "name": "targets", + "in": "query" + }, + { + "type": "string", + "description": "Comma-separated list of template IDs to filter notifications", + "name": "templates", + "in": "query" + }, + { + "type": "string", + "description": "Filter notifications by read status. Possible values: read, unread, all", + "name": "read_status", + "in": "query" + }, + { + "type": "string", + "format": "uuid", + "description": "ID of the last notification from the current page. Notifications returned will be older than the associated one", + "name": "starting_before", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ListInboxNotificationsResponse" + } + } + } + } + }, + "/notifications/inbox/mark-all-as-read": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Notifications" + ], + "summary": "Mark all unread notifications as read", + "operationId": "mark-all-unread-notifications-as-read", + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/notifications/inbox/watch": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Watch for new inbox notifications", + "operationId": "watch-for-new-inbox-notifications", + "parameters": [ + { + "type": "string", + "description": "Comma-separated list of target IDs to filter notifications", + "name": "targets", + "in": "query" + }, + { + "type": "string", + "description": "Comma-separated list of template IDs to filter notifications", + "name": "templates", + "in": "query" + }, + { + "type": "string", + "description": "Filter notifications by read status. Possible values: read, unread, all", + "name": "read_status", + "in": "query" + }, + { + "enum": [ + "plaintext", + "markdown" + ], + "type": "string", + "description": "Define the output format for notifications title and body.", + "name": "format", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GetInboxNotificationResponse" + } + } + } + } + }, + "/notifications/inbox/{id}/read-status": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Update read status of a notification", + "operationId": "update-read-status-of-a-notification", + "parameters": [ + { + "type": "string", + "description": "id of the notification", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/notifications/settings": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Get notifications settings", + "operationId": "get-notifications-settings", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.NotificationsSettings" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Update notifications settings", + "operationId": "update-notifications-settings", + "parameters": [ + { + "description": "Notifications settings request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.NotificationsSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.NotificationsSettings" + } + }, + "304": { + "description": "Not Modified" + } + } + } + }, + "/notifications/templates/system": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Get system notification templates", + "operationId": "get-system-notification-templates", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.NotificationTemplate" + } + } + } + } + } + }, + "/notifications/templates/{notification_template}/method": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update notification template dispatch method", + "operationId": "update-notification-template-dispatch-method", + "parameters": [ + { + "type": "string", + "description": "Notification template UUID", + "name": "notification_template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Success" + }, + "304": { + "description": "Not modified" + } + } + } + }, + "/notifications/test": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Notifications" + ], + "summary": "Send a test notification", + "operationId": "send-a-test-notification", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/oauth2-provider/apps": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get OAuth2 applications.", + "operationId": "get-oauth2-applications", + "parameters": [ + { + "type": "string", + "description": "Filter by applications authorized for a user", + "name": "user_id", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.OAuth2ProviderApp" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Create OAuth2 application.", + "operationId": "create-oauth2-application", + "parameters": [ + { + "description": "The OAuth2 application to create.", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PostOAuth2ProviderAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ProviderApp" + } + } + } + } + }, + "/oauth2-provider/apps/{app}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get OAuth2 application.", + "operationId": "get-oauth2-application", + "parameters": [ + { + "type": "string", + "description": "App ID", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ProviderApp" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update OAuth2 application.", + "operationId": "update-oauth2-application", + "parameters": [ + { + "type": "string", + "description": "App ID", + "name": "app", + "in": "path", + "required": true + }, + { + "description": "Update an OAuth2 application.", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PutOAuth2ProviderAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ProviderApp" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete OAuth2 application.", + "operationId": "delete-oauth2-application", + "parameters": [ + { + "type": "string", + "description": "App ID", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/oauth2-provider/apps/{app}/secrets": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get OAuth2 application secrets.", + "operationId": "get-oauth2-application-secrets", + "parameters": [ + { + "type": "string", + "description": "App ID", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.OAuth2ProviderAppSecret" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Create OAuth2 application secret.", + "operationId": "create-oauth2-application-secret", + "parameters": [ + { + "type": "string", + "description": "App ID", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.OAuth2ProviderAppSecretFull" + } + } + } + } + } + }, + "/oauth2-provider/apps/{app}/secrets/{secretID}": { + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete OAuth2 application secret.", + "operationId": "delete-oauth2-application-secret", + "parameters": [ + { + "type": "string", + "description": "App ID", + "name": "app", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Secret ID", + "name": "secretID", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/oauth2/authorize": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "OAuth2 authorization request (GET - show authorization page).", + "operationId": "oauth2-authorization-request-get", + "parameters": [ + { + "type": "string", + "description": "Client ID", + "name": "client_id", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "A random unguessable string", + "name": "state", + "in": "query", + "required": true + }, + { + "enum": [ + "code" + ], + "type": "string", + "description": "Response type", + "name": "response_type", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Redirect here after authorization", + "name": "redirect_uri", + "in": "query" + }, + { + "type": "string", + "description": "Token scopes (currently ignored)", + "name": "scope", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Returns HTML authorization page" + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "OAuth2 authorization request (POST - process authorization).", + "operationId": "oauth2-authorization-request-post", + "parameters": [ + { + "type": "string", + "description": "Client ID", + "name": "client_id", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "A random unguessable string", + "name": "state", + "in": "query", + "required": true + }, + { + "enum": [ + "code" + ], + "type": "string", + "description": "Response type", + "name": "response_type", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Redirect here after authorization", + "name": "redirect_uri", + "in": "query" + }, + { + "type": "string", + "description": "Token scopes (currently ignored)", + "name": "scope", + "in": "query" + } + ], + "responses": { + "302": { + "description": "Returns redirect with authorization code" + } + } + } + }, + "/oauth2/clients/{client_id}": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get OAuth2 client configuration (RFC 7592)", + "operationId": "get-oauth2-client-configuration", + "parameters": [ + { + "type": "string", + "description": "Client ID", + "name": "client_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ClientConfiguration" + } + } + } + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update OAuth2 client configuration (RFC 7592)", + "operationId": "put-oauth2-client-configuration", + "parameters": [ + { + "type": "string", + "description": "Client ID", + "name": "client_id", + "in": "path", + "required": true + }, + { + "description": "Client update request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ClientRegistrationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ClientConfiguration" + } + } + } + }, + "delete": { + "tags": [ + "Enterprise" + ], + "summary": "Delete OAuth2 client registration (RFC 7592)", + "operationId": "delete-oauth2-client-configuration", + "parameters": [ + { + "type": "string", + "description": "Client ID", + "name": "client_id", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/oauth2/register": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "OAuth2 dynamic client registration (RFC 7591)", + "operationId": "oauth2-dynamic-client-registration", + "parameters": [ + { + "description": "Client registration request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ClientRegistrationRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.OAuth2ClientRegistrationResponse" + } + } + } + } + }, + "/oauth2/tokens": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "OAuth2 token exchange.", + "operationId": "oauth2-token-exchange", + "parameters": [ + { + "type": "string", + "description": "Client ID, required if grant_type=authorization_code", + "name": "client_id", + "in": "formData" + }, + { + "type": "string", + "description": "Client secret, required if grant_type=authorization_code", + "name": "client_secret", + "in": "formData" + }, + { + "type": "string", + "description": "Authorization code, required if grant_type=authorization_code", + "name": "code", + "in": "formData" + }, + { + "type": "string", + "description": "Refresh token, required if grant_type=refresh_token", + "name": "refresh_token", + "in": "formData" + }, + { + "enum": [ + "authorization_code", + "refresh_token" + ], + "type": "string", + "description": "Grant type", + "name": "grant_type", + "in": "formData", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/oauth2.Token" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete OAuth2 application tokens.", + "operationId": "delete-oauth2-application-tokens", + "parameters": [ + { + "type": "string", + "description": "Client ID", + "name": "client_id", + "in": "query", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/organizations": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get organizations", + "operationId": "get-organizations", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Organization" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Create organization", + "operationId": "create-organization", + "parameters": [ + { + "description": "Create organization request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateOrganizationRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.Organization" + } + } + } + } + }, + "/organizations/{organization}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get organization by ID", + "operationId": "get-organization-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Organization" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Delete organization", + "operationId": "delete-organization", + "parameters": [ + { + "type": "string", + "description": "Organization ID or name", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Update organization", + "operationId": "update-organization", + "parameters": [ + { + "type": "string", + "description": "Organization ID or name", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "Patch organization request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateOrganizationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Organization" + } + } + } + } + }, + "/organizations/{organization}/groups": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get groups by organization", + "operationId": "get-groups-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Create group for organization", + "operationId": "create-group-for-organization", + "parameters": [ + { + "description": "Create group request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateGroupRequest" + } + }, + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + } + }, + "/organizations/{organization}/groups/{groupName}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get group by organization and group name", + "operationId": "get-group-by-organization-and-group-name", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Group name", + "name": "groupName", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Group" + } + } + } + } + }, + "/organizations/{organization}/members": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "List organization members", + "operationId": "list-organization-members", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.OrganizationMemberWithUserData" + } + } + } + } + } + }, + "/organizations/{organization}/members/roles": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Get member roles by organization", + "operationId": "get-member-roles-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.AssignableRoles" + } + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Upsert a custom organization role", + "operationId": "upsert-a-custom-organization-role", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "Upsert role request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CustomRoleRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Role" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Insert a custom organization role", + "operationId": "insert-a-custom-organization-role", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "Insert role request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CustomRoleRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Role" + } + } + } + } + } + }, + "/organizations/{organization}/members/roles/{roleName}": { + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Delete a custom organization role", + "operationId": "delete-a-custom-organization-role", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Role name", + "name": "roleName", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Role" + } + } + } + } + } + }, + "/organizations/{organization}/members/{user}": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Add organization member", + "operationId": "add-organization-member", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OrganizationMember" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Members" + ], + "summary": "Remove organization member", + "operationId": "remove-organization-member", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/organizations/{organization}/members/{user}/roles": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Assign role to organization member", + "operationId": "assign-role-to-organization-member", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Update roles request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateRoles" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OrganizationMember" + } + } + } + } + }, + "/organizations/{organization}/members/{user}/workspace-quota": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get workspace quota by user", + "operationId": "get-workspace-quota-by-user", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceQuota" + } + } + } + } + }, + "/organizations/{organization}/members/{user}/workspaces": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "description": "Create a new workspace using a template. The request must\nspecify either the Template ID or the Template Version ID,\nnot both. If the Template ID is specified, the active version\nof the template will be used.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Create user workspace by organization", + "operationId": "create-user-workspace-by-organization", + "deprecated": true, + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Username, UUID, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Create workspace request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateWorkspaceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Workspace" + } + } + } + } + }, + "/organizations/{organization}/paginated-members": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Paginated organization members", + "operationId": "paginated-organization-members", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Page limit, if 0 returns all members", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.PaginatedMembersResponse" + } + } + } + } + } + }, + "/organizations/{organization}/provisionerdaemons": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Provisioning" + ], + "summary": "Get provisioner daemons", + "operationId": "get-provisioner-daemons", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query" + }, + { + "type": "array", + "format": "uuid", + "items": { + "type": "string" + }, + "description": "Filter results by job IDs", + "name": "ids", + "in": "query" + }, + { + "enum": [ + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed", + "unknown", + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed" + ], + "type": "string", + "description": "Filter results by status", + "name": "status", + "in": "query" + }, + { + "type": "object", + "description": "Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})", + "name": "tags", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerDaemon" + } + } + } + } + } + }, + "/organizations/{organization}/provisionerdaemons/serve": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "Serve provisioner daemon", + "operationId": "serve-provisioner-daemon", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "101": { + "description": "Switching Protocols" + } + } + } + }, + "/organizations/{organization}/provisionerjobs": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get provisioner jobs", + "operationId": "get-provisioner-jobs", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query" + }, + { + "type": "array", + "format": "uuid", + "items": { + "type": "string" + }, + "description": "Filter results by job IDs", + "name": "ids", + "in": "query" + }, + { + "enum": [ + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed", + "unknown", + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed" + ], + "type": "string", + "description": "Filter results by status", + "name": "status", + "in": "query" + }, + { + "type": "object", + "description": "Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})", + "name": "tags", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerJob" + } + } + } + } + } + }, + "/organizations/{organization}/provisionerjobs/{job}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get provisioner job", + "operationId": "get-provisioner-job", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Job ID", + "name": "job", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ProvisionerJob" + } + } + } + } + }, + "/organizations/{organization}/provisionerkeys": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "List provisioner key", + "operationId": "list-provisioner-key", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerKey" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Create provisioner key", + "operationId": "create-provisioner-key", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.CreateProvisionerKeyResponse" + } + } + } + } + }, + "/organizations/{organization}/provisionerkeys/daemons": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "List provisioner key daemons", + "operationId": "list-provisioner-key-daemons", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerKeyDaemons" + } + } + } + } + } + }, + "/organizations/{organization}/provisionerkeys/{provisionerkey}": { + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete provisioner key", + "operationId": "delete-provisioner-key", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Provisioner key name", + "name": "provisionerkey", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/organizations/{organization}/settings/idpsync/available-fields": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get the available organization idp sync claim fields", + "operationId": "get-the-available-organization-idp-sync-claim-fields", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/field-values": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get the organization idp sync claim field values", + "operationId": "get-the-organization-idp-sync-claim-field-values", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "string", + "description": "Claim Field", + "name": "claimField", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/groups": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get group IdP Sync settings by organization", + "operationId": "get-group-idp-sync-settings-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GroupSyncSettings" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update group IdP Sync settings by organization", + "operationId": "update-group-idp-sync-settings-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "New settings", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.GroupSyncSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GroupSyncSettings" + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/groups/config": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update group IdP Sync config", + "operationId": "update-group-idp-sync-config", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID or name", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "New config values", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchGroupIDPSyncConfigRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GroupSyncSettings" + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/groups/mapping": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update group IdP Sync mapping", + "operationId": "update-group-idp-sync-mapping", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID or name", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "Description of the mappings to add and remove", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchGroupIDPSyncMappingRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GroupSyncSettings" + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/roles": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get role IdP Sync settings by organization", + "operationId": "get-role-idp-sync-settings-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.RoleSyncSettings" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update role IdP Sync settings by organization", + "operationId": "update-role-idp-sync-settings-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "New settings", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.RoleSyncSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.RoleSyncSettings" + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/roles/config": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update role IdP Sync config", + "operationId": "update-role-idp-sync-config", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID or name", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "New config values", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchRoleIDPSyncConfigRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.RoleSyncSettings" + } + } + } + } + }, + "/organizations/{organization}/settings/idpsync/roles/mapping": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update role IdP Sync mapping", + "operationId": "update-role-idp-sync-mapping", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID or name", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "Description of the mappings to add and remove", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchRoleIDPSyncMappingRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.RoleSyncSettings" + } + } + } + } + }, + "/organizations/{organization}/templates": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "description": "Returns a list of templates for the specified organization.\nBy default, only non-deprecated templates are returned.\nTo include deprecated templates, specify `deprecated:true` in the search query.", + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get templates by organization", + "operationId": "get-templates-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Template" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Create template by organization", + "operationId": "create-template-by-organization", + "parameters": [ + { + "description": "Request body", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateTemplateRequest" + } + }, + { + "type": "string", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Template" + } + } + } + } + }, + "/organizations/{organization}/templates/examples": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template examples by organization", + "operationId": "get-template-examples-by-organization", + "deprecated": true, + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateExample" + } + } + } + } + } + }, + "/organizations/{organization}/templates/{templatename}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get templates by organization and template name", + "operationId": "get-templates-by-organization-and-template-name", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template name", + "name": "templatename", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Template" + } + } + } + } + }, + "/organizations/{organization}/templates/{templatename}/versions/{templateversionname}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version by organization, template, and name", + "operationId": "get-template-version-by-organization-template-and-name", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template name", + "name": "templatename", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template version name", + "name": "templateversionname", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + } + }, + "/organizations/{organization}/templates/{templatename}/versions/{templateversionname}/previous": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get previous template version by organization, template, and name", + "operationId": "get-previous-template-version-by-organization-template-and-name", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template name", + "name": "templatename", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template version name", + "name": "templateversionname", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + } + }, + "/organizations/{organization}/templateversions": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Create template version by organization", + "operationId": "create-template-version-by-organization", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "description": "Create template version request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateTemplateVersionRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + } + }, + "/prebuilds/settings": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Prebuilds" + ], + "summary": "Get prebuilds settings", + "operationId": "get-prebuilds-settings", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.PrebuildsSettings" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Prebuilds" + ], + "summary": "Update prebuilds settings", + "operationId": "update-prebuilds-settings", + "parameters": [ + { + "description": "Prebuilds settings request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PrebuildsSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.PrebuildsSettings" + } + }, + "304": { + "description": "Not Modified" + } + } + } + }, + "/provisionerkeys/{provisionerkey}": { + "get": { + "security": [ + { + "CoderProvisionerKey": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Fetch provisioner key details", + "operationId": "fetch-provisioner-key-details", + "parameters": [ + { + "type": "string", + "description": "Provisioner Key", + "name": "provisionerkey", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ProvisionerKey" + } + } + } + } + }, + "/regions": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "WorkspaceProxies" + ], + "summary": "Get site-wide regions for workspace connections", + "operationId": "get-site-wide-regions-for-workspace-connections", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.RegionsResponse-codersdk_Region" + } + } + } + } + }, + "/replicas": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get active replicas", + "operationId": "get-active-replicas", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Replica" + } + } + } + } + } + }, + "/scim/v2/ServiceProviderConfig": { + "get": { + "produces": [ + "application/scim+json" + ], + "tags": [ + "Enterprise" + ], + "summary": "SCIM 2.0: Service Provider Config", + "operationId": "scim-get-service-provider-config", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/scim/v2/Users": { + "get": { + "security": [ + { + "Authorization": [] + } + ], + "produces": [ + "application/scim+json" + ], + "tags": [ + "Enterprise" + ], + "summary": "SCIM 2.0: Get users", + "operationId": "scim-get-users", + "responses": { + "200": { + "description": "OK" + } + } + }, + "post": { + "security": [ + { + "Authorization": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "SCIM 2.0: Create new user", + "operationId": "scim-create-new-user", + "parameters": [ + { + "description": "New user", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/coderd.SCIMUser" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/coderd.SCIMUser" + } + } + } + } + }, + "/scim/v2/Users/{id}": { + "get": { + "security": [ + { + "Authorization": [] + } + ], + "produces": [ + "application/scim+json" + ], + "tags": [ + "Enterprise" + ], + "summary": "SCIM 2.0: Get user by ID", + "operationId": "scim-get-user-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "User ID", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "404": { + "description": "Not Found" + } + } + }, + "put": { + "security": [ + { + "Authorization": [] + } + ], + "produces": [ + "application/scim+json" + ], + "tags": [ + "Enterprise" + ], + "summary": "SCIM 2.0: Replace user account", + "operationId": "scim-replace-user-status", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "User ID", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "Replace user request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/coderd.SCIMUser" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + }, + "patch": { + "security": [ + { + "Authorization": [] + } + ], + "produces": [ + "application/scim+json" + ], + "tags": [ + "Enterprise" + ], + "summary": "SCIM 2.0: Update user account", + "operationId": "scim-update-user-status", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "User ID", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "Update user request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/coderd.SCIMUser" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + } + }, + "/settings/idpsync/available-fields": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get the available idp sync claim fields", + "operationId": "get-the-available-idp-sync-claim-fields", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "/settings/idpsync/field-values": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get the idp sync claim field values", + "operationId": "get-the-idp-sync-claim-field-values", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Organization ID", + "name": "organization", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "string", + "description": "Claim Field", + "name": "claimField", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "/settings/idpsync/organization": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get organization IdP Sync settings", + "operationId": "get-organization-idp-sync-settings", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OrganizationSyncSettings" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update organization IdP Sync settings", + "operationId": "update-organization-idp-sync-settings", + "parameters": [ + { + "description": "New settings", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.OrganizationSyncSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OrganizationSyncSettings" + } + } + } + } + }, + "/settings/idpsync/organization/config": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update organization IdP Sync config", + "operationId": "update-organization-idp-sync-config", + "parameters": [ + { + "description": "New config values", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchOrganizationIDPSyncConfigRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OrganizationSyncSettings" + } + } + } + } + }, + "/settings/idpsync/organization/mapping": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update organization IdP Sync mapping", + "operationId": "update-organization-idp-sync-mapping", + "parameters": [ + { + "description": "Description of the mappings to add and remove", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchOrganizationIDPSyncMappingRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.OrganizationSyncSettings" + } + } + } + } + }, + "/tailnet": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "User-scoped tailnet RPC connection", + "operationId": "user-scoped-tailnet-rpc-connection", + "responses": { + "101": { + "description": "Switching Protocols" + } + } + } + }, + "/templates": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "description": "Returns a list of templates.\nBy default, only non-deprecated templates are returned.\nTo include deprecated templates, specify `deprecated:true` in the search query.", + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get all templates", + "operationId": "get-all-templates", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Template" + } + } + } + } + } + }, + "/templates/examples": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template examples", + "operationId": "get-template-examples", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateExample" + } + } + } + } + } + }, + "/templates/{template}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template metadata by ID", + "operationId": "get-template-metadata-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Template" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Delete template by ID", + "operationId": "delete-template-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Update template metadata by ID", + "operationId": "update-template-metadata-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Template" + } + } + } + } + }, + "/templates/{template}/acl": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get template ACLs", + "operationId": "get-template-acls", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TemplateACL" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update template ACL", + "operationId": "update-template-acl", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + }, + { + "description": "Update template request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateTemplateACL" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templates/{template}/acl/available": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get template available acl users/groups", + "operationId": "get-template-available-acl-usersgroups", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ACLAvailable" + } + } + } + } + } + }, + "/templates/{template}/daus": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template DAUs by ID", + "operationId": "get-template-daus-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.DAUsResponse" + } + } + } + } + }, + "/templates/{template}/versions": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "List template versions by template ID", + "operationId": "list-template-versions-by-template-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "After ID", + "name": "after_id", + "in": "query" + }, + { + "type": "boolean", + "description": "Include archived versions in the list", + "name": "include_archived", + "in": "query" + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Update active template version by template ID", + "operationId": "update-active-template-version-by-template-id", + "parameters": [ + { + "description": "Modified template version", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateActiveTemplateVersion" + } + }, + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templates/{template}/versions/archive": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Archive template unused versions by template id", + "operationId": "archive-template-unused-versions-by-template-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + }, + { + "description": "Archive request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.ArchiveTemplateVersionsRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templates/{template}/versions/{templateversionname}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version by template ID and name", + "operationId": "get-template-version-by-template-id-and-name", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template ID", + "name": "template", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template version name", + "name": "templateversionname", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + } + } + }, + "/templateversions/{templateversion}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version by ID", + "operationId": "get-template-version-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Patch template version by ID", + "operationId": "patch-template-version-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "description": "Patch template version request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchTemplateVersionRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TemplateVersion" + } + } + } + } + }, + "/templateversions/{templateversion}/archive": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Archive template version", + "operationId": "archive-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templateversions/{templateversion}/cancel": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Cancel template version by ID", + "operationId": "cancel-template-version-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templateversions/{templateversion}/dry-run": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Create template version dry-run", + "operationId": "create-template-version-dry-run", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "description": "Dry-run request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateTemplateVersionDryRunRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.ProvisionerJob" + } + } + } + } + }, + "/templateversions/{templateversion}/dry-run/{jobID}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version dry-run by job ID", + "operationId": "get-template-version-dry-run-by-job-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Job ID", + "name": "jobID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ProvisionerJob" + } + } + } + } + }, + "/templateversions/{templateversion}/dry-run/{jobID}/cancel": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Cancel template version dry-run by job ID", + "operationId": "cancel-template-version-dry-run-by-job-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Job ID", + "name": "jobID", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templateversions/{templateversion}/dry-run/{jobID}/logs": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version dry-run logs by job ID", + "operationId": "get-template-version-dry-run-logs-by-job-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Job ID", + "name": "jobID", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Before Unix timestamp", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "After Unix timestamp", + "name": "after", + "in": "query" + }, + { + "type": "boolean", + "description": "Follow log stream", + "name": "follow", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerJobLog" + } + } + } + } + } + }, + "/templateversions/{templateversion}/dry-run/{jobID}/matched-provisioners": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version dry-run matched provisioners", + "operationId": "get-template-version-dry-run-matched-provisioners", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Job ID", + "name": "jobID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.MatchedProvisioners" + } + } + } + } + }, + "/templateversions/{templateversion}/dry-run/{jobID}/resources": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version dry-run resources by job ID", + "operationId": "get-template-version-dry-run-resources-by-job-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Job ID", + "name": "jobID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceResource" + } + } + } + } + } + }, + "/templateversions/{templateversion}/dynamic-parameters": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Templates" + ], + "summary": "Open dynamic parameters WebSocket by template version", + "operationId": "open-dynamic-parameters-websocket-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "101": { + "description": "Switching Protocols" + } + } + } + }, + "/templateversions/{templateversion}/dynamic-parameters/evaluate": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Evaluate dynamic parameters for template version", + "operationId": "evaluate-dynamic-parameters-for-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "description": "Initial parameter values", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.DynamicParametersRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.DynamicParametersResponse" + } + } + } + } + }, + "/templateversions/{templateversion}/external-auth": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get external auth by template version", + "operationId": "get-external-auth-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersionExternalAuth" + } + } + } + } + } + }, + "/templateversions/{templateversion}/logs": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get logs by template version", + "operationId": "get-logs-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Before log id", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "After log id", + "name": "after", + "in": "query" + }, + { + "type": "boolean", + "description": "Follow log stream", + "name": "follow", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerJobLog" + } + } + } + } + } + }, + "/templateversions/{templateversion}/parameters": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Templates" + ], + "summary": "Removed: Get parameters by template version", + "operationId": "removed-get-parameters-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/templateversions/{templateversion}/presets": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template version presets", + "operationId": "get-template-version-presets", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Preset" + } + } + } + } + } + }, + "/templateversions/{templateversion}/resources": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get resources by template version", + "operationId": "get-resources-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceResource" + } + } + } + } + } + }, + "/templateversions/{templateversion}/rich-parameters": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get rich parameters by template version", + "operationId": "get-rich-parameters-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersionParameter" + } + } + } + } + } + }, + "/templateversions/{templateversion}/schema": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Templates" + ], + "summary": "Removed: Get schema by template version", + "operationId": "removed-get-schema-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/templateversions/{templateversion}/unarchive": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Unarchive template version", + "operationId": "unarchive-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/templateversions/{templateversion}/variables": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Templates" + ], + "summary": "Get template variables by template version", + "operationId": "get-template-variables-by-template-version", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Template version ID", + "name": "templateversion", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersionVariable" + } + } + } + } + } + }, + "/updatecheck": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Update check", + "operationId": "update-check", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UpdateCheckResponse" + } + } + } + } + }, + "/users": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get users", + "operationId": "get-users", + "parameters": [ + { + "type": "string", + "description": "Search query", + "name": "q", + "in": "query" + }, + { + "type": "string", + "format": "uuid", + "description": "After ID", + "name": "after_id", + "in": "query" + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GetUsersResponse" + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Create new user", + "operationId": "create-new-user", + "parameters": [ + { + "description": "Create user request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateUserRequestWithOrgs" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + } + }, + "/users/authmethods": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get authentication methods", + "operationId": "get-authentication-methods", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.AuthMethods" + } + } + } + } + }, + "/users/first": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Check initial user created", + "operationId": "check-initial-user-created", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Create initial user", + "operationId": "create-initial-user", + "parameters": [ + { + "description": "First user request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateFirstUserRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.CreateFirstUserResponse" + } + } + } + } + }, + "/users/login": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Authorization" + ], + "summary": "Log in user", + "operationId": "log-in-user", + "parameters": [ + { + "description": "Login request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.LoginWithPasswordRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.LoginWithPasswordResponse" + } + } + } + } + }, + "/users/logout": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Log out user", + "operationId": "log-out-user", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/users/oauth2/github/callback": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Users" + ], + "summary": "OAuth 2.0 GitHub Callback", + "operationId": "oauth-20-github-callback", + "responses": { + "307": { + "description": "Temporary Redirect" + } + } + } + }, + "/users/oauth2/github/device": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get Github device auth.", + "operationId": "get-github-device-auth", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ExternalAuthDevice" + } + } + } + } + }, + "/users/oidc/callback": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Users" + ], + "summary": "OpenID Connect Callback", + "operationId": "openid-connect-callback", + "responses": { + "307": { + "description": "Temporary Redirect" + } + } + } + }, + "/users/otp/change-password": { + "post": { + "consumes": [ + "application/json" + ], + "tags": [ + "Authorization" + ], + "summary": "Change password with a one-time passcode", + "operationId": "change-password-with-a-one-time-passcode", + "parameters": [ + { + "description": "Change password request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.ChangePasswordWithOneTimePasscodeRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/users/otp/request": { + "post": { + "consumes": [ + "application/json" + ], + "tags": [ + "Authorization" + ], + "summary": "Request one-time passcode", + "operationId": "request-one-time-passcode", + "parameters": [ + { + "description": "One-time passcode request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.RequestOneTimePasscodeRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/users/roles": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Members" + ], + "summary": "Get site member roles", + "operationId": "get-site-member-roles", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.AssignableRoles" + } + } + } + } + } + }, + "/users/validate-password": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Authorization" + ], + "summary": "Validate user password", + "operationId": "validate-user-password", + "parameters": [ + { + "description": "Validate user password request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.ValidateUserPasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ValidateUserPasswordResponse" + } + } + } + } + }, + "/users/{user}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user by name", + "operationId": "get-user-by-name", + "parameters": [ + { + "type": "string", + "description": "User ID, username, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Users" + ], + "summary": "Delete user", + "operationId": "delete-user", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/users/{user}/appearance": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user appearance settings", + "operationId": "get-user-appearance-settings", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UserAppearanceSettings" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Update user appearance settings", + "operationId": "update-user-appearance-settings", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "New appearance settings", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateUserAppearanceSettingsRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UserAppearanceSettings" + } + } + } + } + }, + "/users/{user}/autofill-parameters": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get autofill build parameters for user", + "operationId": "get-autofill-build-parameters-for-user", + "parameters": [ + { + "type": "string", + "description": "User ID, username, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Template ID", + "name": "template_id", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.UserParameter" + } + } + } + } + } + }, + "/users/{user}/convert-login": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Authorization" + ], + "summary": "Convert user from password to oauth authentication", + "operationId": "convert-user-from-password-to-oauth-authentication", + "parameters": [ + { + "description": "Convert request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.ConvertLoginRequest" + } + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.OAuthConversionResponse" + } + } + } + } + }, + "/users/{user}/gitsshkey": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user Git SSH key", + "operationId": "get-user-git-ssh-key", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GitSSHKey" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Regenerate user SSH key", + "operationId": "regenerate-user-ssh-key", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.GitSSHKey" + } + } + } + } + }, + "/users/{user}/keys": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Create new session key", + "operationId": "create-new-session-key", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.GenerateAPIKeyResponse" + } + } + } + } + }, + "/users/{user}/keys/tokens": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user tokens", + "operationId": "get-user-tokens", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.APIKey" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Create token API key", + "operationId": "create-token-api-key", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Create token request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateTokenRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.GenerateAPIKeyResponse" + } + } + } + } + }, + "/users/{user}/keys/tokens/tokenconfig": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "General" + ], + "summary": "Get token config", + "operationId": "get-token-config", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.TokenConfig" + } + } + } + } + }, + "/users/{user}/keys/tokens/{keyname}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get API key by token name", + "operationId": "get-api-key-by-token-name", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "string", + "description": "Key Name", + "name": "keyname", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.APIKey" + } + } + } + } + }, + "/users/{user}/keys/{keyid}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get API key by ID", + "operationId": "get-api-key-by-id", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Key ID", + "name": "keyid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.APIKey" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Users" + ], + "summary": "Delete API key", + "operationId": "delete-api-key", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "Key ID", + "name": "keyid", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/users/{user}/login-type": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user login type", + "operationId": "get-user-login-type", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.UserLoginType" + } + } + } + } + }, + "/users/{user}/notifications/preferences": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Get user notification preferences", + "operationId": "get-user-notification-preferences", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.NotificationPreference" + } + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Update user notification preferences", + "operationId": "update-user-notification-preferences", + "parameters": [ + { + "description": "Preferences", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateUserNotificationPreferences" + } + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.NotificationPreference" + } + } + } + } + } + }, + "/users/{user}/organizations": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get organizations by user", + "operationId": "get-organizations-by-user", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Organization" + } + } + } + } + } + }, + "/users/{user}/organizations/{organizationname}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get organization by user and organization name", + "operationId": "get-organization-by-user-and-organization-name", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Organization name", + "name": "organizationname", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Organization" + } + } + } + } + }, + "/users/{user}/password": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Update user password", + "operationId": "update-user-password", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Update password request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateUserPasswordRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/users/{user}/profile": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Update user profile", + "operationId": "update-user-profile", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Updated profile", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateUserProfileRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + } + }, + "/users/{user}/quiet-hours": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get user quiet hours schedule", + "operationId": "get-user-quiet-hours-schedule", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "User ID", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.UserQuietHoursScheduleResponse" + } + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update user quiet hours schedule", + "operationId": "update-user-quiet-hours-schedule", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "User ID", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Update schedule request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateUserQuietHoursScheduleRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.UserQuietHoursScheduleResponse" + } + } + } + } + } + }, + "/users/{user}/roles": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user roles", + "operationId": "get-user-roles", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + }, + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Assign role to user", + "operationId": "assign-role-to-user", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Update roles request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateRoles" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + } + }, + "/users/{user}/status/activate": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Activate user account", + "operationId": "activate-user-account", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + } + }, + "/users/{user}/status/suspend": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Suspend user account", + "operationId": "suspend-user-account", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.User" + } + } + } + } + }, + "/users/{user}/webpush/subscription": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Create user webpush subscription", + "operationId": "create-user-webpush-subscription", + "parameters": [ + { + "description": "Webpush subscription", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.WebpushSubscription" + } + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-apidocgen": { + "skip": true + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Notifications" + ], + "summary": "Delete user webpush subscription", + "operationId": "delete-user-webpush-subscription", + "parameters": [ + { + "description": "Webpush subscription", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.DeleteWebpushSubscription" + } + }, + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/users/{user}/webpush/test": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Notifications" + ], + "summary": "Send a test push notification", + "operationId": "send-a-test-push-notification", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/users/{user}/workspace/{workspacename}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Get workspace metadata by user and workspace name", + "operationId": "get-workspace-metadata-by-user-and-workspace-name", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Workspace name", + "name": "workspacename", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "Return data instead of HTTP 404 if the workspace is deleted", + "name": "include_deleted", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Workspace" + } + } + } + } + }, + "/users/{user}/workspace/{workspacename}/builds/{buildnumber}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get workspace build by user, workspace name, and build number", + "operationId": "get-workspace-build-by-user-workspace-name-and-build-number", + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Workspace name", + "name": "workspacename", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "number", + "description": "Build number", + "name": "buildnumber", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceBuild" + } + } + } + } + }, + "/users/{user}/workspaces": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "description": "Create a new workspace using a template. The request must\nspecify either the Template ID or the Template Version ID,\nnot both. If the Template ID is specified, the active version\nof the template will be used.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Create user workspace", + "operationId": "create-user-workspace", + "parameters": [ + { + "type": "string", + "description": "Username, UUID, or me", + "name": "user", + "in": "path", + "required": true + }, + { + "description": "Create workspace request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateWorkspaceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Workspace" + } + } + } + } + }, + "/workspace-quota/{user}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get workspace quota by user deprecated", + "operationId": "get-workspace-quota-by-user-deprecated", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "User ID, name, or me", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceQuota" + } + } + } + } + }, + "/workspaceagents/aws-instance-identity": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Authenticate agent on AWS instance", + "operationId": "authenticate-agent-on-aws-instance", + "parameters": [ + { + "description": "Instance identity token", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/agentsdk.AWSInstanceIdentityToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.AuthenticateResponse" + } + } + } + } + }, + "/workspaceagents/azure-instance-identity": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Authenticate agent on Azure instance", + "operationId": "authenticate-agent-on-azure-instance", + "parameters": [ + { + "description": "Instance identity token", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/agentsdk.AzureInstanceIdentityToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.AuthenticateResponse" + } + } + } + } + }, + "/workspaceagents/connection": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get connection info for workspace agent generic", + "operationId": "get-connection-info-for-workspace-agent-generic", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/workspacesdk.AgentConnectionInfo" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceagents/google-instance-identity": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Authenticate agent on Google Cloud instance", + "operationId": "authenticate-agent-on-google-cloud-instance", + "parameters": [ + { + "description": "Instance identity token", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/agentsdk.GoogleInstanceIdentityToken" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.AuthenticateResponse" + } + } + } + } + }, + "/workspaceagents/me/app-status": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Patch workspace agent app status", + "operationId": "patch-workspace-agent-app-status", + "parameters": [ + { + "description": "app status", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/agentsdk.PatchAppStatus" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/workspaceagents/me/external-auth": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get workspace agent external auth", + "operationId": "get-workspace-agent-external-auth", + "parameters": [ + { + "type": "string", + "description": "Match", + "name": "match", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Provider ID", + "name": "id", + "in": "query", + "required": true + }, + { + "type": "boolean", + "description": "Wait for a new token to be issued", + "name": "listen", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.ExternalAuthResponse" + } + } + } + } + }, + "/workspaceagents/me/gitauth": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Removed: Get workspace agent git auth", + "operationId": "removed-get-workspace-agent-git-auth", + "parameters": [ + { + "type": "string", + "description": "Match", + "name": "match", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Provider ID", + "name": "id", + "in": "query", + "required": true + }, + { + "type": "boolean", + "description": "Wait for a new token to be issued", + "name": "listen", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.ExternalAuthResponse" + } + } + } + } + }, + "/workspaceagents/me/gitsshkey": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get workspace agent Git SSH key", + "operationId": "get-workspace-agent-git-ssh-key", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.GitSSHKey" + } + } + } + } + }, + "/workspaceagents/me/log-source": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Post workspace agent log source", + "operationId": "post-workspace-agent-log-source", + "parameters": [ + { + "description": "Log source request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/agentsdk.PostLogSourceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgentLogSource" + } + } + } + } + }, + "/workspaceagents/me/logs": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Patch workspace agent logs", + "operationId": "patch-workspace-agent-logs", + "parameters": [ + { + "description": "logs", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/agentsdk.PatchLogs" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/workspaceagents/me/reinit": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get workspace agent reinitialization", + "operationId": "get-workspace-agent-reinitialization", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/agentsdk.ReinitializationEvent" + } + } + } + } + }, + "/workspaceagents/me/rpc": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "Workspace agent RPC API", + "operationId": "workspace-agent-rpc-api", + "responses": { + "101": { + "description": "Switching Protocols" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceagents/{workspaceagent}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get workspace agent by ID", + "operationId": "get-workspace-agent-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgent" + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/connection": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get connection info for workspace agent", + "operationId": "get-connection-info-for-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/workspacesdk.AgentConnectionInfo" + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/containers": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get running containers for workspace agent", + "operationId": "get-running-containers-for-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "key=value", + "description": "Labels", + "name": "label", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgentListContainersResponse" + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/containers/devcontainers/{devcontainer}/recreate": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Recreate devcontainer for workspace agent", + "operationId": "recreate-devcontainer-for-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Devcontainer ID", + "name": "devcontainer", + "in": "path", + "required": true + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/containers/watch": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Watch workspace agent for container updates.", + "operationId": "watch-workspace-agent-for-container-updates", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgentListContainersResponse" + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/coordinate": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "Coordinate workspace agent", + "operationId": "coordinate-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "101": { + "description": "Switching Protocols" + } + } + } + }, + "/workspaceagents/{workspaceagent}/listening-ports": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get listening ports for workspace agent", + "operationId": "get-listening-ports-for-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgentListeningPortsResponse" + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/logs": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Get logs by workspace agent", + "operationId": "get-logs-by-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Before log id", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "After log id", + "name": "after", + "in": "query" + }, + { + "type": "boolean", + "description": "Follow log stream", + "name": "follow", + "in": "query" + }, + { + "type": "boolean", + "description": "Disable compression for WebSocket connection", + "name": "no_compression", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentLog" + } + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/pty": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "Open PTY to workspace agent", + "operationId": "open-pty-to-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "101": { + "description": "Switching Protocols" + } + } + } + }, + "/workspaceagents/{workspaceagent}/startup-logs": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Removed: Get logs by workspace agent", + "operationId": "removed-get-logs-by-workspace-agent", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Before log id", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "After log id", + "name": "after", + "in": "query" + }, + { + "type": "boolean", + "description": "Follow log stream", + "name": "follow", + "in": "query" + }, + { + "type": "boolean", + "description": "Disable compression for WebSocket connection", + "name": "no_compression", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentLog" + } + } + } + } + } + }, + "/workspaceagents/{workspaceagent}/watch-metadata": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Agents" + ], + "summary": "Watch for workspace agent metadata updates", + "operationId": "watch-for-workspace-agent-metadata-updates", + "deprecated": true, + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Success" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceagents/{workspaceagent}/watch-metadata-ws": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Agents" + ], + "summary": "Watch for workspace agent metadata updates via WebSockets", + "operationId": "watch-for-workspace-agent-metadata-updates-via-websockets", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace agent ID", + "name": "workspaceagent", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ServerSentEvent" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspacebuilds/{workspacebuild}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get workspace build", + "operationId": "get-workspace-build", + "parameters": [ + { + "type": "string", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceBuild" + } + } + } + } + }, + "/workspacebuilds/{workspacebuild}/cancel": { + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Cancel workspace build", + "operationId": "cancel-workspace-build", + "parameters": [ + { + "type": "string", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + }, + { + "enum": [ + "running", + "pending" + ], + "type": "string", + "description": "Expected status of the job. If expect_status is supplied, the request will be rejected with 412 Precondition Failed if the job doesn't match the state when performing the cancellation.", + "name": "expect_status", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/workspacebuilds/{workspacebuild}/logs": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get workspace build logs", + "operationId": "get-workspace-build-logs", + "parameters": [ + { + "type": "string", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "Before log id", + "name": "before", + "in": "query" + }, + { + "type": "integer", + "description": "After log id", + "name": "after", + "in": "query" + }, + { + "type": "boolean", + "description": "Follow log stream", + "name": "follow", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerJobLog" + } + } + } + } + } + }, + "/workspacebuilds/{workspacebuild}/parameters": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get build parameters for workspace build", + "operationId": "get-build-parameters-for-workspace-build", + "parameters": [ + { + "type": "string", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" + } + } + } + } + } + }, + "/workspacebuilds/{workspacebuild}/resources": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Removed: Get workspace resources for workspace build", + "operationId": "removed-get-workspace-resources-for-workspace-build", + "deprecated": true, + "parameters": [ + { + "type": "string", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceResource" + } + } + } + } + } + }, + "/workspacebuilds/{workspacebuild}/state": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get provisioner state for workspace build", + "operationId": "get-provisioner-state-for-workspace-build", + "parameters": [ + { + "type": "string", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceBuild" + } + } + } + } + }, + "/workspacebuilds/{workspacebuild}/timings": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get workspace build timings by ID", + "operationId": "get-workspace-build-timings-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace build ID", + "name": "workspacebuild", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceBuildTimings" + } + } + } + } + }, + "/workspaceproxies": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get workspace proxies", + "operationId": "get-workspace-proxies", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.RegionsResponse-codersdk_WorkspaceProxy" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Create workspace proxy", + "operationId": "create-workspace-proxy", + "parameters": [ + { + "description": "Create workspace proxy request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateWorkspaceProxyRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceProxy" + } + } + } + } + }, + "/workspaceproxies/me/app-stats": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Report workspace app stats", + "operationId": "report-workspace-app-stats", + "parameters": [ + { + "description": "Report app stats request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/wsproxysdk.ReportAppStatsRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceproxies/me/coordinate": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Enterprise" + ], + "summary": "Workspace Proxy Coordinate", + "operationId": "workspace-proxy-coordinate", + "responses": { + "101": { + "description": "Switching Protocols" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceproxies/me/crypto-keys": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get workspace proxy crypto keys", + "operationId": "get-workspace-proxy-crypto-keys", + "parameters": [ + { + "type": "string", + "description": "Feature key", + "name": "feature", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/wsproxysdk.CryptoKeysResponse" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceproxies/me/deregister": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Deregister workspace proxy", + "operationId": "deregister-workspace-proxy", + "parameters": [ + { + "description": "Deregister workspace proxy request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/wsproxysdk.DeregisterWorkspaceProxyRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceproxies/me/issue-signed-app-token": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Issue signed workspace app token", + "operationId": "issue-signed-workspace-app-token", + "parameters": [ + { + "description": "Issue signed app token request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/workspaceapps.IssueTokenRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/wsproxysdk.IssueSignedAppTokenResponse" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceproxies/me/register": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Register workspace proxy", + "operationId": "register-workspace-proxy", + "parameters": [ + { + "description": "Register workspace proxy request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/wsproxysdk.RegisterWorkspaceProxyRequest" + } + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/wsproxysdk.RegisterWorkspaceProxyResponse" + } + } + }, + "x-apidocgen": { + "skip": true + } + } + }, + "/workspaceproxies/{workspaceproxy}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Get workspace proxy", + "operationId": "get-workspace-proxy", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Proxy ID or name", + "name": "workspaceproxy", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceProxy" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Delete workspace proxy", + "operationId": "delete-workspace-proxy", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Proxy ID or name", + "name": "workspaceproxy", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Enterprise" + ], + "summary": "Update workspace proxy", + "operationId": "update-workspace-proxy", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Proxy ID or name", + "name": "workspaceproxy", + "in": "path", + "required": true + }, + { + "description": "Update workspace proxy request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PatchWorkspaceProxy" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceProxy" + } + } + } + } + }, + "/workspaces": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "List workspaces", + "operationId": "list-workspaces", + "parameters": [ + { + "type": "string", + "description": "Search query in the format `key:value`. Available keys are: owner, template, name, status, has-agent, dormant, last_used_after, last_used_before, has-ai-task.", + "name": "q", + "in": "query" + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspacesResponse" + } + } + } + } + }, + "/workspaces/{workspace}": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Get workspace metadata by ID", + "operationId": "get-workspace-metadata-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "Return data instead of HTTP 404 if the workspace is deleted", + "name": "include_deleted", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Workspace" + } + } + } + }, + "patch": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Update workspace metadata by ID", + "operationId": "update-workspace-metadata-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Metadata update request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateWorkspaceRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/workspaces/{workspace}/autostart": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Update workspace autostart schedule by ID", + "operationId": "update-workspace-autostart-schedule-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Schedule update request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateWorkspaceAutostartRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/workspaces/{workspace}/autoupdates": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Update workspace automatic updates by ID", + "operationId": "update-workspace-automatic-updates-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Automatic updates request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateWorkspaceAutomaticUpdatesRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/workspaces/{workspace}/builds": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Get workspace builds by workspace ID", + "operationId": "get-workspace-builds-by-workspace-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "uuid", + "description": "After ID", + "name": "after_id", + "in": "query" + }, + { + "type": "integer", + "description": "Page limit", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "description": "Page offset", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Since timestamp", + "name": "since", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceBuild" + } + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Builds" + ], + "summary": "Create workspace build", + "operationId": "create-workspace-build", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Create workspace build request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.CreateWorkspaceBuildRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceBuild" + } + } + } + } + }, + "/workspaces/{workspace}/dormant": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Update workspace dormancy status by id.", + "operationId": "update-workspace-dormancy-status-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Make a workspace dormant or active", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateWorkspaceDormancy" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Workspace" + } + } + } + } + }, + "/workspaces/{workspace}/extend": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Extend workspace deadline by ID", + "operationId": "extend-workspace-deadline-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Extend deadline update request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.PutExtendWorkspaceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/workspaces/{workspace}/favorite": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Workspaces" + ], + "summary": "Favorite workspace by ID.", + "operationId": "favorite-workspace-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "tags": [ + "Workspaces" + ], + "summary": "Unfavorite workspace by ID.", + "operationId": "unfavorite-workspace-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/workspaces/{workspace}/port-share": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "PortSharing" + ], + "summary": "Get workspace agent port shares", + "operationId": "get-workspace-agent-port-shares", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShares" + } + } + } + }, + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "PortSharing" + ], + "summary": "Upsert workspace agent port share", + "operationId": "upsert-workspace-agent-port-share", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Upsert port sharing level request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpsertWorkspaceAgentPortShareRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShare" + } + } + } + }, + "delete": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "PortSharing" + ], + "summary": "Delete workspace agent port share", + "operationId": "delete-workspace-agent-port-share", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Delete port sharing level request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.DeleteWorkspaceAgentPortShareRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/workspaces/{workspace}/resolve-autostart": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Resolve workspace autostart by id.", + "operationId": "resolve-workspace-autostart-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ResolveAutostartResponse" + } + } + } + } + }, + "/workspaces/{workspace}/timings": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Get workspace timings by ID", + "operationId": "get-workspace-timings-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.WorkspaceBuildTimings" + } + } + } + } + }, + "/workspaces/{workspace}/ttl": { + "put": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Update workspace TTL by ID", + "operationId": "update-workspace-ttl-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Workspace TTL update request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/codersdk.UpdateWorkspaceTTLRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/workspaces/{workspace}/usage": { + "post": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "consumes": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Post Workspace Usage by ID", + "operationId": "post-workspace-usage-by-id", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + }, + { + "description": "Post workspace usage request", + "name": "request", + "in": "body", + "schema": { + "$ref": "#/definitions/codersdk.PostWorkspaceUsageRequest" + } + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/workspaces/{workspace}/watch": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "text/event-stream" + ], + "tags": [ + "Workspaces" + ], + "summary": "Watch workspace by ID", + "operationId": "watch-workspace-by-id", + "deprecated": true, + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.Response" + } + } + } + } + }, + "/workspaces/{workspace}/watch-ws": { + "get": { + "security": [ + { + "CoderSessionToken": [] + } + ], + "produces": [ + "application/json" + ], + "tags": [ + "Workspaces" + ], + "summary": "Watch workspace by ID via WebSockets", + "operationId": "watch-workspace-by-id-via-websockets", + "parameters": [ + { + "type": "string", + "format": "uuid", + "description": "Workspace ID", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/codersdk.ServerSentEvent" + } + } + } + } + } + }, + "definitions": { + "agentsdk.AWSInstanceIdentityToken": { + "type": "object", + "required": [ + "document", + "signature" + ], + "properties": { + "document": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "agentsdk.AuthenticateResponse": { + "type": "object", + "properties": { + "session_token": { + "type": "string" + } + } + }, + "agentsdk.AzureInstanceIdentityToken": { + "type": "object", + "required": [ + "encoding", + "signature" + ], + "properties": { + "encoding": { + "type": "string" + }, + "signature": { + "type": "string" + } + } + }, + "agentsdk.ExternalAuthResponse": { + "type": "object", + "properties": { + "access_token": { + "type": "string" + }, + "password": { + "type": "string" + }, + "token_extra": { + "type": "object", + "additionalProperties": true + }, + "type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "username": { + "description": "Deprecated: Only supported on `/workspaceagents/me/gitauth`\nfor backwards compatibility.", + "type": "string" + } + } + }, + "agentsdk.GitSSHKey": { + "type": "object", + "properties": { + "private_key": { + "type": "string" + }, + "public_key": { + "type": "string" + } + } + }, + "agentsdk.GoogleInstanceIdentityToken": { + "type": "object", + "required": [ + "json_web_token" + ], + "properties": { + "json_web_token": { + "type": "string" + } + } + }, + "agentsdk.Log": { + "type": "object", + "properties": { + "created_at": { + "type": "string" + }, + "level": { + "$ref": "#/definitions/codersdk.LogLevel" + }, + "output": { + "type": "string" + } + } + }, + "agentsdk.PatchAppStatus": { + "type": "object", + "properties": { + "app_slug": { + "type": "string" + }, + "icon": { + "description": "Deprecated: this field is unused and will be removed in a future version.", + "type": "string" + }, + "message": { + "type": "string" + }, + "needs_user_attention": { + "description": "Deprecated: this field is unused and will be removed in a future version.", + "type": "boolean" + }, + "state": { + "$ref": "#/definitions/codersdk.WorkspaceAppStatusState" + }, + "uri": { + "type": "string" + } + } + }, + "agentsdk.PatchLogs": { + "type": "object", + "properties": { + "log_source_id": { + "type": "string" + }, + "logs": { + "type": "array", + "items": { + "$ref": "#/definitions/agentsdk.Log" + } + } + } + }, + "agentsdk.PostLogSourceRequest": { + "type": "object", + "properties": { + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "description": "ID is a unique identifier for the log source.\nIt is scoped to a workspace agent, and can be statically\ndefined inside code to prevent duplicate sources from being\ncreated for the same agent.", + "type": "string" + } + } + }, + "agentsdk.ReinitializationEvent": { + "type": "object", + "properties": { + "reason": { + "$ref": "#/definitions/agentsdk.ReinitializationReason" + }, + "workspaceID": { + "type": "string" + } + } + }, + "agentsdk.ReinitializationReason": { + "type": "string", + "enum": [ + "prebuild_claimed" + ], + "x-enum-varnames": [ + "ReinitializeReasonPrebuildClaimed" + ] + }, + "coderd.SCIMUser": { + "type": "object", + "properties": { + "active": { + "description": "Active is a ptr to prevent the empty value from being interpreted as false.", + "type": "boolean" + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "display": { + "type": "string" + }, + "primary": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": { + "type": "string", + "format": "email" + } + } + } + }, + "groups": { + "type": "array", + "items": {} + }, + "id": { + "type": "string" + }, + "meta": { + "type": "object", + "properties": { + "resourceType": { + "type": "string" + } + } + }, + "name": { + "type": "object", + "properties": { + "familyName": { + "type": "string" + }, + "givenName": { + "type": "string" + } + } + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + }, + "userName": { + "type": "string" + } + } + }, + "coderd.cspViolation": { + "type": "object", + "properties": { + "csp-report": { + "type": "object", + "additionalProperties": true + } + } + }, + "codersdk.ACLAvailable": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Group" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ReducedUser" + } + } + } + }, + "codersdk.APIKey": { + "type": "object", + "required": [ + "created_at", + "expires_at", + "id", + "last_used", + "lifetime_seconds", + "login_type", + "scope", + "token_name", + "updated_at", + "user_id" + ], + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "expires_at": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string" + }, + "last_used": { + "type": "string", + "format": "date-time" + }, + "lifetime_seconds": { + "type": "integer" + }, + "login_type": { + "enum": [ + "password", + "github", + "oidc", + "token" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.LoginType" + } + ] + }, + "scope": { + "enum": [ + "all", + "application_connect" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.APIKeyScope" + } + ] + }, + "token_name": { + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "user_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.APIKeyScope": { + "type": "string", + "enum": [ + "all", + "application_connect" + ], + "x-enum-varnames": [ + "APIKeyScopeAll", + "APIKeyScopeApplicationConnect" + ] + }, + "codersdk.AddLicenseRequest": { + "type": "object", + "required": [ + "license" + ], + "properties": { + "license": { + "type": "string" + } + } + }, + "codersdk.AgentConnectionTiming": { + "type": "object", + "properties": { + "ended_at": { + "type": "string", + "format": "date-time" + }, + "stage": { + "$ref": "#/definitions/codersdk.TimingStage" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "workspace_agent_id": { + "type": "string" + }, + "workspace_agent_name": { + "type": "string" + } + } + }, + "codersdk.AgentScriptTiming": { + "type": "object", + "properties": { + "display_name": { + "type": "string" + }, + "ended_at": { + "type": "string", + "format": "date-time" + }, + "exit_code": { + "type": "integer" + }, + "stage": { + "$ref": "#/definitions/codersdk.TimingStage" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string" + }, + "workspace_agent_id": { + "type": "string" + }, + "workspace_agent_name": { + "type": "string" + } + } + }, + "codersdk.AgentSubsystem": { + "type": "string", + "enum": [ + "envbox", + "envbuilder", + "exectrace" + ], + "x-enum-varnames": [ + "AgentSubsystemEnvbox", + "AgentSubsystemEnvbuilder", + "AgentSubsystemExectrace" + ] + }, + "codersdk.AppHostResponse": { + "type": "object", + "properties": { + "host": { + "description": "Host is the externally accessible URL for the Coder instance.", + "type": "string" + } + } + }, + "codersdk.AppearanceConfig": { + "type": "object", + "properties": { + "announcement_banners": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.BannerConfig" + } + }, + "application_name": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "logo_url": { + "type": "string" + }, + "service_banner": { + "description": "Deprecated: ServiceBanner has been replaced by AnnouncementBanners.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.BannerConfig" + } + ] + }, + "support_links": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.LinkConfig" + } + } + } + }, + "codersdk.ArchiveTemplateVersionsRequest": { + "type": "object", + "properties": { + "all": { + "description": "By default, only failed versions are archived. Set this to true\nto archive all unused versions regardless of job status.", + "type": "boolean" + } + } + }, + "codersdk.AssignableRoles": { + "type": "object", + "properties": { + "assignable": { + "type": "boolean" + }, + "built_in": { + "description": "BuiltIn roles are immutable", + "type": "boolean" + }, + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "organization_permissions": { + "description": "OrganizationPermissions are specific for the organization in the field 'OrganizationID' above.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + }, + "site_permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + }, + "user_permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + } + } + }, + "codersdk.AuditAction": { + "type": "string", + "enum": [ + "create", + "write", + "delete", + "start", + "stop", + "login", + "logout", + "register", + "request_password_reset", + "connect", + "disconnect", + "open", + "close" + ], + "x-enum-varnames": [ + "AuditActionCreate", + "AuditActionWrite", + "AuditActionDelete", + "AuditActionStart", + "AuditActionStop", + "AuditActionLogin", + "AuditActionLogout", + "AuditActionRegister", + "AuditActionRequestPasswordReset", + "AuditActionConnect", + "AuditActionDisconnect", + "AuditActionOpen", + "AuditActionClose" + ] + }, + "codersdk.AuditDiff": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.AuditDiffField" + } + }, + "codersdk.AuditDiffField": { + "type": "object", + "properties": { + "new": {}, + "old": {}, + "secret": { + "type": "boolean" + } + } + }, + "codersdk.AuditLog": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/codersdk.AuditAction" + }, + "additional_fields": { + "type": "object" + }, + "description": { + "type": "string" + }, + "diff": { + "$ref": "#/definitions/codersdk.AuditDiff" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "ip": { + "type": "string" + }, + "is_deleted": { + "type": "boolean" + }, + "organization": { + "$ref": "#/definitions/codersdk.MinimalOrganization" + }, + "organization_id": { + "description": "Deprecated: Use 'organization.id' instead.", + "type": "string", + "format": "uuid" + }, + "request_id": { + "type": "string", + "format": "uuid" + }, + "resource_icon": { + "type": "string" + }, + "resource_id": { + "type": "string", + "format": "uuid" + }, + "resource_link": { + "type": "string" + }, + "resource_target": { + "description": "ResourceTarget is the name of the resource.", + "type": "string" + }, + "resource_type": { + "$ref": "#/definitions/codersdk.ResourceType" + }, + "status_code": { + "type": "integer" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "user": { + "$ref": "#/definitions/codersdk.User" + }, + "user_agent": { + "type": "string" + } + } + }, + "codersdk.AuditLogResponse": { + "type": "object", + "properties": { + "audit_logs": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.AuditLog" + } + }, + "count": { + "type": "integer" + } + } + }, + "codersdk.AuthMethod": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "codersdk.AuthMethods": { + "type": "object", + "properties": { + "github": { + "$ref": "#/definitions/codersdk.GithubAuthMethod" + }, + "oidc": { + "$ref": "#/definitions/codersdk.OIDCAuthMethod" + }, + "password": { + "$ref": "#/definitions/codersdk.AuthMethod" + }, + "terms_of_service_url": { + "type": "string" + } + } + }, + "codersdk.AuthorizationCheck": { + "description": "AuthorizationCheck is used to check if the currently authenticated user (or the specified user) can do a given action to a given set of objects.", + "type": "object", + "properties": { + "action": { + "enum": [ + "create", + "read", + "update", + "delete" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.RBACAction" + } + ] + }, + "object": { + "description": "Object can represent a \"set\" of objects, such as: all workspaces in an organization, all workspaces owned by me, and all workspaces across the entire product.\nWhen defining an object, use the most specific language when possible to\nproduce the smallest set. Meaning to set as many fields on 'Object' as\nyou can. Example, if you want to check if you can update all workspaces\nowned by 'me', try to also add an 'OrganizationID' to the settings.\nOmitting the 'OrganizationID' could produce the incorrect value, as\nworkspaces have both `user` and `organization` owners.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.AuthorizationObject" + } + ] + } + } + }, + "codersdk.AuthorizationObject": { + "description": "AuthorizationObject can represent a \"set\" of objects, such as: all workspaces in an organization, all workspaces owned by me, all workspaces across the entire product.", + "type": "object", + "properties": { + "any_org": { + "description": "AnyOrgOwner (optional) will disregard the org_owner when checking for permissions.\nThis cannot be set to true if the OrganizationID is set.", + "type": "boolean" + }, + "organization_id": { + "description": "OrganizationID (optional) adds the set constraint to all resources owned by a given organization.", + "type": "string" + }, + "owner_id": { + "description": "OwnerID (optional) adds the set constraint to all resources owned by a given user.", + "type": "string" + }, + "resource_id": { + "description": "ResourceID (optional) reduces the set to a singular resource. This assigns\na resource ID to the resource type, eg: a single workspace.\nThe rbac library will not fetch the resource from the database, so if you\nare using this option, you should also set the owner ID and organization ID\nif possible. Be as specific as possible using all the fields relevant.", + "type": "string" + }, + "resource_type": { + "description": "ResourceType is the name of the resource.\n`./coderd/rbac/object.go` has the list of valid resource types.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.RBACResource" + } + ] + } + } + }, + "codersdk.AuthorizationRequest": { + "type": "object", + "properties": { + "checks": { + "description": "Checks is a map keyed with an arbitrary string to a permission check.\nThe key can be any string that is helpful to the caller, and allows\nmultiple permission checks to be run in a single request.\nThe key ensures that each permission check has the same key in the\nresponse.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.AuthorizationCheck" + } + } + } + }, + "codersdk.AuthorizationResponse": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "codersdk.AutomaticUpdates": { + "type": "string", + "enum": [ + "always", + "never" + ], + "x-enum-varnames": [ + "AutomaticUpdatesAlways", + "AutomaticUpdatesNever" + ] + }, + "codersdk.BannerConfig": { + "type": "object", + "properties": { + "background_color": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "message": { + "type": "string" + } + } + }, + "codersdk.BuildInfoResponse": { + "type": "object", + "properties": { + "agent_api_version": { + "description": "AgentAPIVersion is the current version of the Agent API (back versions\nMAY still be supported).", + "type": "string" + }, + "dashboard_url": { + "description": "DashboardURL is the URL to hit the deployment's dashboard.\nFor external workspace proxies, this is the coderd they are connected\nto.", + "type": "string" + }, + "deployment_id": { + "description": "DeploymentID is the unique identifier for this deployment.", + "type": "string" + }, + "external_url": { + "description": "ExternalURL references the current Coder version.\nFor production builds, this will link directly to a release. For development builds, this will link to a commit.", + "type": "string" + }, + "provisioner_api_version": { + "description": "ProvisionerAPIVersion is the current version of the Provisioner API", + "type": "string" + }, + "telemetry": { + "description": "Telemetry is a boolean that indicates whether telemetry is enabled.", + "type": "boolean" + }, + "upgrade_message": { + "description": "UpgradeMessage is the message displayed to users when an outdated client\nis detected.", + "type": "string" + }, + "version": { + "description": "Version returns the semantic version of the build.", + "type": "string" + }, + "webpush_public_key": { + "description": "WebPushPublicKey is the public key for push notifications via Web Push.", + "type": "string" + }, + "workspace_proxy": { + "type": "boolean" + } + } + }, + "codersdk.BuildReason": { + "type": "string", + "enum": [ + "initiator", + "autostart", + "autostop", + "dormancy", + "dashboard", + "cli", + "ssh_connection", + "vscode_connection", + "jetbrains_connection" + ], + "x-enum-varnames": [ + "BuildReasonInitiator", + "BuildReasonAutostart", + "BuildReasonAutostop", + "BuildReasonDormancy", + "BuildReasonDashboard", + "BuildReasonCLI", + "BuildReasonSSHConnection", + "BuildReasonVSCodeConnection", + "BuildReasonJetbrainsConnection" + ] + }, + "codersdk.ChangePasswordWithOneTimePasscodeRequest": { + "type": "object", + "required": [ + "email", + "one_time_passcode", + "password" + ], + "properties": { + "email": { + "type": "string", + "format": "email" + }, + "one_time_passcode": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "codersdk.ConnectionLatency": { + "type": "object", + "properties": { + "p50": { + "type": "number", + "example": 31.312 + }, + "p95": { + "type": "number", + "example": 119.832 + } + } + }, + "codersdk.ConnectionLog": { + "type": "object", + "properties": { + "agent_name": { + "type": "string" + }, + "connect_time": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "ip": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/codersdk.MinimalOrganization" + }, + "ssh_info": { + "description": "SSHInfo is only set when `type` is one of:\n- `ConnectionTypeSSH`\n- `ConnectionTypeReconnectingPTY`\n- `ConnectionTypeVSCode`\n- `ConnectionTypeJetBrains`", + "allOf": [ + { + "$ref": "#/definitions/codersdk.ConnectionLogSSHInfo" + } + ] + }, + "type": { + "$ref": "#/definitions/codersdk.ConnectionType" + }, + "web_info": { + "description": "WebInfo is only set when `type` is one of:\n- `ConnectionTypePortForwarding`\n- `ConnectionTypeWorkspaceApp`", + "allOf": [ + { + "$ref": "#/definitions/codersdk.ConnectionLogWebInfo" + } + ] + }, + "workspace_id": { + "type": "string", + "format": "uuid" + }, + "workspace_name": { + "type": "string" + }, + "workspace_owner_id": { + "type": "string", + "format": "uuid" + }, + "workspace_owner_username": { + "type": "string" + } + } + }, + "codersdk.ConnectionLogResponse": { + "type": "object", + "properties": { + "connection_logs": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ConnectionLog" + } + }, + "count": { + "type": "integer" + } + } + }, + "codersdk.ConnectionLogSSHInfo": { + "type": "object", + "properties": { + "connection_id": { + "type": "string", + "format": "uuid" + }, + "disconnect_reason": { + "description": "DisconnectReason is omitted if a disconnect event with the same connection ID\nhas not yet been seen.", + "type": "string" + }, + "disconnect_time": { + "description": "DisconnectTime is omitted if a disconnect event with the same connection ID\nhas not yet been seen.", + "type": "string", + "format": "date-time" + }, + "exit_code": { + "description": "ExitCode is the exit code of the SSH session. It is omitted if a\ndisconnect event with the same connection ID has not yet been seen.", + "type": "integer" + } + } + }, + "codersdk.ConnectionLogWebInfo": { + "type": "object", + "properties": { + "slug_or_port": { + "type": "string" + }, + "status_code": { + "description": "StatusCode is the HTTP status code of the request.", + "type": "integer" + }, + "user": { + "description": "User is omitted if the connection event was from an unauthenticated user.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.User" + } + ] + }, + "user_agent": { + "type": "string" + } + } + }, + "codersdk.ConnectionType": { + "type": "string", + "enum": [ + "ssh", + "vscode", + "jetbrains", + "reconnecting_pty", + "workspace_app", + "port_forwarding" + ], + "x-enum-varnames": [ + "ConnectionTypeSSH", + "ConnectionTypeVSCode", + "ConnectionTypeJetBrains", + "ConnectionTypeReconnectingPTY", + "ConnectionTypeWorkspaceApp", + "ConnectionTypePortForwarding" + ] + }, + "codersdk.ConvertLoginRequest": { + "type": "object", + "required": [ + "password", + "to_type" + ], + "properties": { + "password": { + "type": "string" + }, + "to_type": { + "description": "ToType is the login type to convert to.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.LoginType" + } + ] + } + } + }, + "codersdk.CreateFirstUserRequest": { + "type": "object", + "required": [ + "email", + "password", + "username" + ], + "properties": { + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "trial": { + "type": "boolean" + }, + "trial_info": { + "$ref": "#/definitions/codersdk.CreateFirstUserTrialInfo" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.CreateFirstUserResponse": { + "type": "object", + "properties": { + "organization_id": { + "type": "string", + "format": "uuid" + }, + "user_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.CreateFirstUserTrialInfo": { + "type": "object", + "properties": { + "company_name": { + "type": "string" + }, + "country": { + "type": "string" + }, + "developers": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "job_title": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "phone_number": { + "type": "string" + } + } + }, + "codersdk.CreateGroupRequest": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "avatar_url": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quota_allowance": { + "type": "integer" + } + } + }, + "codersdk.CreateOrganizationRequest": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string" + }, + "display_name": { + "description": "DisplayName will default to the same value as `Name` if not provided.", + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.CreateProvisionerKeyResponse": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + } + }, + "codersdk.CreateTemplateRequest": { + "type": "object", + "required": [ + "name", + "template_version_id" + ], + "properties": { + "activity_bump_ms": { + "description": "ActivityBumpMillis allows optionally specifying the activity bump\nduration for all workspaces created from this template. Defaults to 1h\nbut can be set to 0 to disable activity bumping.", + "type": "integer" + }, + "allow_user_autostart": { + "description": "AllowUserAutostart allows users to set a schedule for autostarting their\nworkspace. By default this is true. This can only be disabled when using\nan enterprise license.", + "type": "boolean" + }, + "allow_user_autostop": { + "description": "AllowUserAutostop allows users to set a custom workspace TTL to use in\nplace of the template's DefaultTTL field. By default this is true. If\nfalse, the DefaultTTL will always be used. This can only be disabled when\nusing an enterprise license.", + "type": "boolean" + }, + "allow_user_cancel_workspace_jobs": { + "description": "Allow users to cancel in-progress workspace jobs.\n*bool as the default value is \"true\".", + "type": "boolean" + }, + "autostart_requirement": { + "description": "AutostartRequirement allows optionally specifying the autostart allowed days\nfor workspaces created from this template. This is an enterprise feature.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.TemplateAutostartRequirement" + } + ] + }, + "autostop_requirement": { + "description": "AutostopRequirement allows optionally specifying the autostop requirement\nfor workspaces created from this template. This is an enterprise feature.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.TemplateAutostopRequirement" + } + ] + }, + "default_ttl_ms": { + "description": "DefaultTTLMillis allows optionally specifying the default TTL\nfor all workspaces created from this template.", + "type": "integer" + }, + "delete_ttl_ms": { + "description": "TimeTilDormantAutoDeleteMillis allows optionally specifying the max lifetime before Coder\npermanently deletes dormant workspaces created from this template.", + "type": "integer" + }, + "description": { + "description": "Description is a description of what the template contains. It must be\nless than 128 bytes.", + "type": "string" + }, + "disable_everyone_group_access": { + "description": "DisableEveryoneGroupAccess allows optionally disabling the default\nbehavior of granting the 'everyone' group access to use the template.\nIf this is set to true, the template will not be available to all users,\nand must be explicitly granted to users or groups in the permissions settings\nof the template.", + "type": "boolean" + }, + "display_name": { + "description": "DisplayName is the displayed name of the template.", + "type": "string" + }, + "dormant_ttl_ms": { + "description": "TimeTilDormantMillis allows optionally specifying the max lifetime before Coder\nlocks inactive workspaces created from this template.", + "type": "integer" + }, + "failure_ttl_ms": { + "description": "FailureTTLMillis allows optionally specifying the max lifetime before Coder\nstops all resources for failed workspaces created from this template.", + "type": "integer" + }, + "icon": { + "description": "Icon is a relative path or external URL that specifies\nan icon to be displayed in the dashboard.", + "type": "string" + }, + "max_port_share_level": { + "description": "MaxPortShareLevel allows optionally specifying the maximum port share level\nfor workspaces created from the template.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" + } + ] + }, + "name": { + "description": "Name is the name of the template.", + "type": "string" + }, + "require_active_version": { + "description": "RequireActiveVersion mandates that workspaces are built with the active\ntemplate version.", + "type": "boolean" + }, + "template_use_classic_parameter_flow": { + "description": "UseClassicParameterFlow allows optionally specifying whether\nthe template should use the classic parameter flow. The default if unset is\ntrue, and is why `*bool` is used here. When dynamic parameters becomes\nthe default, this will default to false.", + "type": "boolean" + }, + "template_version_id": { + "description": "VersionID is an in-progress or completed job to use as an initial version\nof the template.\n\nThis is required on creation to enable a user-flow of validating a\ntemplate works. There is no reason the data-model cannot support empty\ntemplates, but it doesn't make sense for users.", + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.CreateTemplateVersionDryRunRequest": { + "type": "object", + "properties": { + "rich_parameter_values": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" + } + }, + "user_variable_values": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.VariableValue" + } + }, + "workspace_name": { + "type": "string" + } + } + }, + "codersdk.CreateTemplateVersionRequest": { + "type": "object", + "required": [ + "provisioner", + "storage_method" + ], + "properties": { + "example_id": { + "type": "string" + }, + "file_id": { + "type": "string", + "format": "uuid" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provisioner": { + "type": "string", + "enum": [ + "terraform", + "echo" + ] + }, + "storage_method": { + "enum": [ + "file" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ProvisionerStorageMethod" + } + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "template_id": { + "description": "TemplateID optionally associates a version with a template.", + "type": "string", + "format": "uuid" + }, + "user_variable_values": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.VariableValue" + } + } + } + }, + "codersdk.CreateTestAuditLogRequest": { + "type": "object", + "properties": { + "action": { + "enum": [ + "create", + "write", + "delete", + "start", + "stop" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.AuditAction" + } + ] + }, + "additional_fields": { + "type": "array", + "items": { + "type": "integer" + } + }, + "build_reason": { + "enum": [ + "autostart", + "autostop", + "initiator" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.BuildReason" + } + ] + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "request_id": { + "type": "string", + "format": "uuid" + }, + "resource_id": { + "type": "string", + "format": "uuid" + }, + "resource_type": { + "enum": [ + "template", + "template_version", + "user", + "workspace", + "workspace_build", + "git_ssh_key", + "auditable_group" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ResourceType" + } + ] + }, + "time": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.CreateTokenRequest": { + "type": "object", + "properties": { + "lifetime": { + "type": "integer" + }, + "scope": { + "enum": [ + "all", + "application_connect" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.APIKeyScope" + } + ] + }, + "token_name": { + "type": "string" + } + } + }, + "codersdk.CreateUserRequestWithOrgs": { + "type": "object", + "required": [ + "email", + "username" + ], + "properties": { + "email": { + "type": "string", + "format": "email" + }, + "login_type": { + "description": "UserLoginType defaults to LoginTypePassword.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.LoginType" + } + ] + }, + "name": { + "type": "string" + }, + "organization_ids": { + "description": "OrganizationIDs is a list of organization IDs that the user should be a member of.", + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "password": { + "type": "string" + }, + "user_status": { + "description": "UserStatus defaults to UserStatusDormant.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.UserStatus" + } + ] + }, + "username": { + "type": "string" + } + } + }, + "codersdk.CreateWorkspaceBuildReason": { + "type": "string", + "enum": [ + "dashboard", + "cli", + "ssh_connection", + "vscode_connection", + "jetbrains_connection" + ], + "x-enum-varnames": [ + "CreateWorkspaceBuildReasonDashboard", + "CreateWorkspaceBuildReasonCLI", + "CreateWorkspaceBuildReasonSSHConnection", + "CreateWorkspaceBuildReasonVSCodeConnection", + "CreateWorkspaceBuildReasonJetbrainsConnection" + ] + }, + "codersdk.CreateWorkspaceBuildRequest": { + "type": "object", + "required": [ + "transition" + ], + "properties": { + "dry_run": { + "type": "boolean" + }, + "log_level": { + "description": "Log level changes the default logging verbosity of a provider (\"info\" if empty).", + "enum": [ + "debug" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ProvisionerLogLevel" + } + ] + }, + "orphan": { + "description": "Orphan may be set for the Destroy transition.", + "type": "boolean" + }, + "reason": { + "description": "Reason sets the reason for the workspace build.", + "enum": [ + "dashboard", + "cli", + "ssh_connection", + "vscode_connection", + "jetbrains_connection" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.CreateWorkspaceBuildReason" + } + ] + }, + "rich_parameter_values": { + "description": "ParameterValues are optional. It will write params to the 'workspace' scope.\nThis will overwrite any existing parameters with the same name.\nThis will not delete old params not included in this list.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" + } + }, + "state": { + "type": "array", + "items": { + "type": "integer" + } + }, + "template_version_id": { + "type": "string", + "format": "uuid" + }, + "template_version_preset_id": { + "description": "TemplateVersionPresetID is the ID of the template version preset to use for the build.", + "type": "string", + "format": "uuid" + }, + "transition": { + "enum": [ + "start", + "stop", + "delete" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceTransition" + } + ] + } + } + }, + "codersdk.CreateWorkspaceProxyRequest": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.CreateWorkspaceRequest": { + "description": "CreateWorkspaceRequest provides options for creating a new workspace. Only one of TemplateID or TemplateVersionID can be specified, not both. If TemplateID is specified, the active version of the template will be used. Workspace names: - Must start with a letter or number - Can only contain letters, numbers, and hyphens - Cannot contain spaces or special characters - Cannot be named `new` or `create` - Must be unique within your workspaces - Maximum length of 32 characters", + "type": "object", + "required": [ + "name" + ], + "properties": { + "automatic_updates": { + "$ref": "#/definitions/codersdk.AutomaticUpdates" + }, + "autostart_schedule": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rich_parameter_values": { + "description": "RichParameterValues allows for additional parameters to be provided\nduring the initial provision.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceBuildParameter" + } + }, + "template_id": { + "description": "TemplateID specifies which template should be used for creating the workspace.", + "type": "string", + "format": "uuid" + }, + "template_version_id": { + "description": "TemplateVersionID can be used to specify a specific version of a template for creating the workspace.", + "type": "string", + "format": "uuid" + }, + "template_version_preset_id": { + "type": "string", + "format": "uuid" + }, + "ttl_ms": { + "type": "integer" + } + } + }, + "codersdk.CryptoKey": { + "type": "object", + "properties": { + "deletes_at": { + "type": "string", + "format": "date-time" + }, + "feature": { + "$ref": "#/definitions/codersdk.CryptoKeyFeature" + }, + "secret": { + "type": "string" + }, + "sequence": { + "type": "integer" + }, + "starts_at": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.CryptoKeyFeature": { + "type": "string", + "enum": [ + "workspace_apps_api_key", + "workspace_apps_token", + "oidc_convert", + "tailnet_resume" + ], + "x-enum-varnames": [ + "CryptoKeyFeatureWorkspaceAppsAPIKey", + "CryptoKeyFeatureWorkspaceAppsToken", + "CryptoKeyFeatureOIDCConvert", + "CryptoKeyFeatureTailnetResume" + ] + }, + "codersdk.CustomRoleRequest": { + "type": "object", + "properties": { + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_permissions": { + "description": "OrganizationPermissions are specific to the organization the role belongs to.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + }, + "site_permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + }, + "user_permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + } + } + }, + "codersdk.DAUEntry": { + "type": "object", + "properties": { + "amount": { + "type": "integer" + }, + "date": { + "description": "Date is a string formatted as 2024-01-31.\nTimezone and time information is not included.", + "type": "string" + } + } + }, + "codersdk.DAUsResponse": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.DAUEntry" + } + }, + "tz_hour_offset": { + "type": "integer" + } + } + }, + "codersdk.DERP": { + "type": "object", + "properties": { + "config": { + "$ref": "#/definitions/codersdk.DERPConfig" + }, + "server": { + "$ref": "#/definitions/codersdk.DERPServerConfig" + } + } + }, + "codersdk.DERPConfig": { + "type": "object", + "properties": { + "block_direct": { + "type": "boolean" + }, + "force_websockets": { + "type": "boolean" + }, + "path": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "codersdk.DERPRegion": { + "type": "object", + "properties": { + "latency_ms": { + "type": "number" + }, + "preferred": { + "type": "boolean" + } + } + }, + "codersdk.DERPServerConfig": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "region_code": { + "type": "string" + }, + "region_id": { + "type": "integer" + }, + "region_name": { + "type": "string" + }, + "relay_url": { + "$ref": "#/definitions/serpent.URL" + }, + "stun_addresses": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.DangerousConfig": { + "type": "object", + "properties": { + "allow_all_cors": { + "type": "boolean" + }, + "allow_path_app_sharing": { + "type": "boolean" + }, + "allow_path_app_site_owner_access": { + "type": "boolean" + } + } + }, + "codersdk.DeleteWebpushSubscription": { + "type": "object", + "properties": { + "endpoint": { + "type": "string" + } + } + }, + "codersdk.DeleteWorkspaceAgentPortShareRequest": { + "type": "object", + "properties": { + "agent_name": { + "type": "string" + }, + "port": { + "type": "integer" + } + } + }, + "codersdk.DeploymentConfig": { + "type": "object", + "properties": { + "config": { + "$ref": "#/definitions/codersdk.DeploymentValues" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/serpent.Option" + } + } + } + }, + "codersdk.DeploymentStats": { + "type": "object", + "properties": { + "aggregated_from": { + "description": "AggregatedFrom is the time in which stats are aggregated from.\nThis might be back in time a specific duration or interval.", + "type": "string", + "format": "date-time" + }, + "collected_at": { + "description": "CollectedAt is the time in which stats are collected at.", + "type": "string", + "format": "date-time" + }, + "next_update_at": { + "description": "NextUpdateAt is the time when the next batch of stats will\nbe updated.", + "type": "string", + "format": "date-time" + }, + "session_count": { + "$ref": "#/definitions/codersdk.SessionCountDeploymentStats" + }, + "workspaces": { + "$ref": "#/definitions/codersdk.WorkspaceDeploymentStats" + } + } + }, + "codersdk.DeploymentValues": { + "type": "object", + "properties": { + "access_url": { + "$ref": "#/definitions/serpent.URL" + }, + "additional_csp_policy": { + "type": "array", + "items": { + "type": "string" + } + }, + "address": { + "description": "Deprecated: Use HTTPAddress or TLS.Address instead.", + "allOf": [ + { + "$ref": "#/definitions/serpent.HostPort" + } + ] + }, + "agent_fallback_troubleshooting_url": { + "$ref": "#/definitions/serpent.URL" + }, + "agent_stat_refresh_interval": { + "type": "integer" + }, + "allow_workspace_renames": { + "type": "boolean" + }, + "autobuild_poll_interval": { + "type": "integer" + }, + "browser_only": { + "type": "boolean" + }, + "cache_directory": { + "type": "string" + }, + "cli_upgrade_message": { + "type": "string" + }, + "config": { + "type": "string" + }, + "config_ssh": { + "$ref": "#/definitions/codersdk.SSHConfig" + }, + "dangerous": { + "$ref": "#/definitions/codersdk.DangerousConfig" + }, + "derp": { + "$ref": "#/definitions/codersdk.DERP" + }, + "disable_owner_workspace_exec": { + "type": "boolean" + }, + "disable_password_auth": { + "type": "boolean" + }, + "disable_path_apps": { + "type": "boolean" + }, + "docs_url": { + "$ref": "#/definitions/serpent.URL" + }, + "enable_terraform_debug_mode": { + "type": "boolean" + }, + "ephemeral_deployment": { + "type": "boolean" + }, + "experiments": { + "type": "array", + "items": { + "type": "string" + } + }, + "external_auth": { + "$ref": "#/definitions/serpent.Struct-array_codersdk_ExternalAuthConfig" + }, + "external_token_encryption_keys": { + "type": "array", + "items": { + "type": "string" + } + }, + "healthcheck": { + "$ref": "#/definitions/codersdk.HealthcheckConfig" + }, + "hide_ai_tasks": { + "type": "boolean" + }, + "http_address": { + "description": "HTTPAddress is a string because it may be set to zero to disable.", + "type": "string" + }, + "http_cookies": { + "$ref": "#/definitions/codersdk.HTTPCookieConfig" + }, + "job_hang_detector_interval": { + "type": "integer" + }, + "logging": { + "$ref": "#/definitions/codersdk.LoggingConfig" + }, + "metrics_cache_refresh_interval": { + "type": "integer" + }, + "notifications": { + "$ref": "#/definitions/codersdk.NotificationsConfig" + }, + "oauth2": { + "$ref": "#/definitions/codersdk.OAuth2Config" + }, + "oidc": { + "$ref": "#/definitions/codersdk.OIDCConfig" + }, + "pg_auth": { + "type": "string" + }, + "pg_connection_url": { + "type": "string" + }, + "pprof": { + "$ref": "#/definitions/codersdk.PprofConfig" + }, + "prometheus": { + "$ref": "#/definitions/codersdk.PrometheusConfig" + }, + "provisioner": { + "$ref": "#/definitions/codersdk.ProvisionerConfig" + }, + "proxy_health_status_interval": { + "type": "integer" + }, + "proxy_trusted_headers": { + "type": "array", + "items": { + "type": "string" + } + }, + "proxy_trusted_origins": { + "type": "array", + "items": { + "type": "string" + } + }, + "rate_limit": { + "$ref": "#/definitions/codersdk.RateLimitConfig" + }, + "redirect_to_access_url": { + "type": "boolean" + }, + "scim_api_key": { + "type": "string" + }, + "session_lifetime": { + "$ref": "#/definitions/codersdk.SessionLifetime" + }, + "ssh_keygen_algorithm": { + "type": "string" + }, + "strict_transport_security": { + "type": "integer" + }, + "strict_transport_security_options": { + "type": "array", + "items": { + "type": "string" + } + }, + "support": { + "$ref": "#/definitions/codersdk.SupportConfig" + }, + "swagger": { + "$ref": "#/definitions/codersdk.SwaggerConfig" + }, + "telemetry": { + "$ref": "#/definitions/codersdk.TelemetryConfig" + }, + "terms_of_service_url": { + "type": "string" + }, + "tls": { + "$ref": "#/definitions/codersdk.TLSConfig" + }, + "trace": { + "$ref": "#/definitions/codersdk.TraceConfig" + }, + "update_check": { + "type": "boolean" + }, + "user_quiet_hours_schedule": { + "$ref": "#/definitions/codersdk.UserQuietHoursScheduleConfig" + }, + "verbose": { + "type": "boolean" + }, + "web_terminal_renderer": { + "type": "string" + }, + "wgtunnel_host": { + "type": "string" + }, + "wildcard_access_url": { + "type": "string" + }, + "workspace_hostname_suffix": { + "type": "string" + }, + "workspace_prebuilds": { + "$ref": "#/definitions/codersdk.PrebuildsConfig" + }, + "write_config": { + "type": "boolean" + } + } + }, + "codersdk.DiagnosticExtra": { + "type": "object", + "properties": { + "code": { + "type": "string" + } + } + }, + "codersdk.DiagnosticSeverityString": { + "type": "string", + "enum": [ + "error", + "warning" + ], + "x-enum-varnames": [ + "DiagnosticSeverityError", + "DiagnosticSeverityWarning" + ] + }, + "codersdk.DisplayApp": { + "type": "string", + "enum": [ + "vscode", + "vscode_insiders", + "web_terminal", + "port_forwarding_helper", + "ssh_helper" + ], + "x-enum-varnames": [ + "DisplayAppVSCodeDesktop", + "DisplayAppVSCodeInsiders", + "DisplayAppWebTerminal", + "DisplayAppPortForward", + "DisplayAppSSH" + ] + }, + "codersdk.DynamicParametersRequest": { + "type": "object", + "properties": { + "id": { + "description": "ID identifies the request. The response contains the same\nID so that the client can match it to the request.", + "type": "integer" + }, + "inputs": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "owner_id": { + "description": "OwnerID if uuid.Nil, it defaults to `codersdk.Me`", + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.DynamicParametersResponse": { + "type": "object", + "properties": { + "diagnostics": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.FriendlyDiagnostic" + } + }, + "id": { + "type": "integer" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.PreviewParameter" + } + } + } + }, + "codersdk.Entitlement": { + "type": "string", + "enum": [ + "entitled", + "grace_period", + "not_entitled" + ], + "x-enum-varnames": [ + "EntitlementEntitled", + "EntitlementGracePeriod", + "EntitlementNotEntitled" + ] + }, + "codersdk.Entitlements": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string" + } + }, + "features": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.Feature" + } + }, + "has_license": { + "type": "boolean" + }, + "refreshed_at": { + "type": "string", + "format": "date-time" + }, + "require_telemetry": { + "type": "boolean" + }, + "trial": { + "type": "boolean" + }, + "warnings": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.Experiment": { + "type": "string", + "enum": [ + "example", + "auto-fill-parameters", + "notifications", + "workspace-usage", + "web-push", + "oauth2", + "mcp-server-http" + ], + "x-enum-comments": { + "ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.", + "ExperimentExample": "This isn't used for anything.", + "ExperimentMCPServerHTTP": "Enables the MCP HTTP server functionality.", + "ExperimentNotifications": "Sends notifications via SMTP and webhooks following certain events.", + "ExperimentOAuth2": "Enables OAuth2 provider functionality.", + "ExperimentWebPush": "Enables web push notifications through the browser.", + "ExperimentWorkspaceUsage": "Enables the new workspace usage tracking." + }, + "x-enum-varnames": [ + "ExperimentExample", + "ExperimentAutoFillParameters", + "ExperimentNotifications", + "ExperimentWorkspaceUsage", + "ExperimentWebPush", + "ExperimentOAuth2", + "ExperimentMCPServerHTTP" + ] + }, + "codersdk.ExternalAuth": { + "type": "object", + "properties": { + "app_install_url": { + "description": "AppInstallURL is the URL to install the app.", + "type": "string" + }, + "app_installable": { + "description": "AppInstallable is true if the request for app installs was successful.", + "type": "boolean" + }, + "authenticated": { + "type": "boolean" + }, + "device": { + "type": "boolean" + }, + "display_name": { + "type": "string" + }, + "installations": { + "description": "AppInstallations are the installations that the user has access to.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ExternalAuthAppInstallation" + } + }, + "user": { + "description": "User is the user that authenticated with the provider.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.ExternalAuthUser" + } + ] + } + } + }, + "codersdk.ExternalAuthAppInstallation": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/codersdk.ExternalAuthUser" + }, + "configure_url": { + "type": "string" + }, + "id": { + "type": "integer" + } + } + }, + "codersdk.ExternalAuthConfig": { + "type": "object", + "properties": { + "app_install_url": { + "type": "string" + }, + "app_installations_url": { + "type": "string" + }, + "auth_url": { + "type": "string" + }, + "client_id": { + "type": "string" + }, + "device_code_url": { + "type": "string" + }, + "device_flow": { + "type": "boolean" + }, + "display_icon": { + "description": "DisplayIcon is a URL to an icon to display in the UI.", + "type": "string" + }, + "display_name": { + "description": "DisplayName is shown in the UI to identify the auth config.", + "type": "string" + }, + "id": { + "description": "ID is a unique identifier for the auth config.\nIt defaults to `type` when not provided.", + "type": "string" + }, + "no_refresh": { + "type": "boolean" + }, + "regex": { + "description": "Regex allows API requesters to match an auth config by\na string (e.g. coder.com) instead of by it's type.\n\nGit clone makes use of this by parsing the URL from:\n'Username for \"https://github.com\":'\nAnd sending it to the Coder server to match against the Regex.", + "type": "string" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "token_url": { + "type": "string" + }, + "type": { + "description": "Type is the type of external auth config.", + "type": "string" + }, + "validate_url": { + "type": "string" + } + } + }, + "codersdk.ExternalAuthDevice": { + "type": "object", + "properties": { + "device_code": { + "type": "string" + }, + "expires_in": { + "type": "integer" + }, + "interval": { + "type": "integer" + }, + "user_code": { + "type": "string" + }, + "verification_uri": { + "type": "string" + } + } + }, + "codersdk.ExternalAuthLink": { + "type": "object", + "properties": { + "authenticated": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "expires": { + "type": "string", + "format": "date-time" + }, + "has_refresh_token": { + "type": "boolean" + }, + "provider_id": { + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "validate_error": { + "type": "string" + } + } + }, + "codersdk.ExternalAuthUser": { + "type": "object", + "properties": { + "avatar_url": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "login": { + "type": "string" + }, + "name": { + "type": "string" + }, + "profile_url": { + "type": "string" + } + } + }, + "codersdk.Feature": { + "type": "object", + "properties": { + "actual": { + "type": "integer" + }, + "enabled": { + "type": "boolean" + }, + "entitlement": { + "$ref": "#/definitions/codersdk.Entitlement" + }, + "limit": { + "type": "integer" + }, + "soft_limit": { + "description": "SoftLimit is the soft limit of the feature, and is only used for showing\nincluded limits in the dashboard. No license validation or warnings are\ngenerated from this value.", + "type": "integer" + }, + "usage_period": { + "description": "UsagePeriod denotes that the usage is a counter that accumulates over\nthis period (and most likely resets with the issuance of the next\nlicense).\n\nThese dates are determined from the license that this entitlement comes\nfrom, see enterprise/coderd/license/license.go.\n\nOnly certain features set these fields:\n- FeatureManagedAgentLimit", + "allOf": [ + { + "$ref": "#/definitions/codersdk.UsagePeriod" + } + ] + } + } + }, + "codersdk.FriendlyDiagnostic": { + "type": "object", + "properties": { + "detail": { + "type": "string" + }, + "extra": { + "$ref": "#/definitions/codersdk.DiagnosticExtra" + }, + "severity": { + "$ref": "#/definitions/codersdk.DiagnosticSeverityString" + }, + "summary": { + "type": "string" + } + } + }, + "codersdk.GenerateAPIKeyResponse": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + } + }, + "codersdk.GetInboxNotificationResponse": { + "type": "object", + "properties": { + "notification": { + "$ref": "#/definitions/codersdk.InboxNotification" + }, + "unread_count": { + "type": "integer" + } + } + }, + "codersdk.GetUserStatusCountsResponse": { + "type": "object", + "properties": { + "status_counts": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.UserStatusChangeCount" + } + } + } + } + }, + "codersdk.GetUsersResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "users": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.User" + } + } + } + }, + "codersdk.GitSSHKey": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "public_key": { + "description": "PublicKey is the SSH public key in OpenSSH format.\nExample: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3OmYJvT7q1cF1azbybYy0OZ9yrXfA+M6Lr4vzX5zlp\\n\"\nNote: The key includes a trailing newline (\\n).", + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "user_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.GithubAuthMethod": { + "type": "object", + "properties": { + "default_provider_configured": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + } + } + }, + "codersdk.Group": { + "type": "object", + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "display_name": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ReducedUser" + } + }, + "name": { + "type": "string" + }, + "organization_display_name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "organization_name": { + "type": "string" + }, + "quota_allowance": { + "type": "integer" + }, + "source": { + "$ref": "#/definitions/codersdk.GroupSource" + }, + "total_member_count": { + "description": "How many members are in this group. Shows the total count,\neven if the user is not authorized to read group member details.\nMay be greater than `len(Group.Members)`.", + "type": "integer" + } + } + }, + "codersdk.GroupSource": { + "type": "string", + "enum": [ + "user", + "oidc" + ], + "x-enum-varnames": [ + "GroupSourceUser", + "GroupSourceOIDC" + ] + }, + "codersdk.GroupSyncSettings": { + "type": "object", + "properties": { + "auto_create_missing_groups": { + "description": "AutoCreateMissing controls whether groups returned by the OIDC provider\nare automatically created in Coder if they are missing.", + "type": "boolean" + }, + "field": { + "description": "Field is the name of the claim field that specifies what groups a user\nshould be in. If empty, no groups will be synced.", + "type": "string" + }, + "legacy_group_name_mapping": { + "description": "LegacyNameMapping is deprecated. It remaps an IDP group name to\na Coder group name. Since configuration is now done at runtime,\ngroup IDs are used to account for group renames.\nFor legacy configurations, this config option has to remain.\nDeprecated: Use Mapping instead.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "mapping": { + "description": "Mapping is a map from OIDC groups to Coder group IDs", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "regex_filter": { + "description": "RegexFilter is a regular expression that filters the groups returned by\nthe OIDC provider. Any group not matched by this regex will be ignored.\nIf the group filter is nil, then no group filtering will occur.", + "allOf": [ + { + "$ref": "#/definitions/regexp.Regexp" + } + ] + } + } + }, + "codersdk.HTTPCookieConfig": { + "type": "object", + "properties": { + "same_site": { + "type": "string" + }, + "secure_auth_cookie": { + "type": "boolean" + } + } + }, + "codersdk.Healthcheck": { + "type": "object", + "properties": { + "interval": { + "description": "Interval specifies the seconds between each health check.", + "type": "integer" + }, + "threshold": { + "description": "Threshold specifies the number of consecutive failed health checks before returning \"unhealthy\".", + "type": "integer" + }, + "url": { + "description": "URL specifies the endpoint to check for the app health.", + "type": "string" + } + } + }, + "codersdk.HealthcheckConfig": { + "type": "object", + "properties": { + "refresh": { + "type": "integer" + }, + "threshold_database": { + "type": "integer" + } + } + }, + "codersdk.InboxNotification": { + "type": "object", + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.InboxNotificationAction" + } + }, + "content": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "read_at": { + "type": "string" + }, + "targets": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "template_id": { + "type": "string", + "format": "uuid" + }, + "title": { + "type": "string" + }, + "user_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.InboxNotificationAction": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "codersdk.InsightsReportInterval": { + "type": "string", + "enum": [ + "day", + "week" + ], + "x-enum-varnames": [ + "InsightsReportIntervalDay", + "InsightsReportIntervalWeek" + ] + }, + "codersdk.IssueReconnectingPTYSignedTokenRequest": { + "type": "object", + "required": [ + "agentID", + "url" + ], + "properties": { + "agentID": { + "type": "string", + "format": "uuid" + }, + "url": { + "description": "URL is the URL of the reconnecting-pty endpoint you are connecting to.", + "type": "string" + } + } + }, + "codersdk.IssueReconnectingPTYSignedTokenResponse": { + "type": "object", + "properties": { + "signed_token": { + "type": "string" + } + } + }, + "codersdk.JobErrorCode": { + "type": "string", + "enum": [ + "REQUIRED_TEMPLATE_VARIABLES" + ], + "x-enum-varnames": [ + "RequiredTemplateVariables" + ] + }, + "codersdk.License": { + "type": "object", + "properties": { + "claims": { + "description": "Claims are the JWT claims asserted by the license. Here we use\na generic string map to ensure that all data from the server is\nparsed verbatim, not just the fields this version of Coder\nunderstands.", + "type": "object", + "additionalProperties": true + }, + "id": { + "type": "integer" + }, + "uploaded_at": { + "type": "string", + "format": "date-time" + }, + "uuid": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.LinkConfig": { + "type": "object", + "properties": { + "icon": { + "type": "string", + "enum": [ + "bug", + "chat", + "docs" + ] + }, + "name": { + "type": "string" + }, + "target": { + "type": "string" + } + } + }, + "codersdk.ListInboxNotificationsResponse": { + "type": "object", + "properties": { + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.InboxNotification" + } + }, + "unread_count": { + "type": "integer" + } + } + }, + "codersdk.LogLevel": { + "type": "string", + "enum": [ + "trace", + "debug", + "info", + "warn", + "error" + ], + "x-enum-varnames": [ + "LogLevelTrace", + "LogLevelDebug", + "LogLevelInfo", + "LogLevelWarn", + "LogLevelError" + ] + }, + "codersdk.LogSource": { + "type": "string", + "enum": [ + "provisioner_daemon", + "provisioner" + ], + "x-enum-varnames": [ + "LogSourceProvisionerDaemon", + "LogSourceProvisioner" + ] + }, + "codersdk.LoggingConfig": { + "type": "object", + "properties": { + "human": { + "type": "string" + }, + "json": { + "type": "string" + }, + "log_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "stackdriver": { + "type": "string" + } + } + }, + "codersdk.LoginType": { + "type": "string", + "enum": [ + "", + "password", + "github", + "oidc", + "token", + "none" + ], + "x-enum-varnames": [ + "LoginTypeUnknown", + "LoginTypePassword", + "LoginTypeGithub", + "LoginTypeOIDC", + "LoginTypeToken", + "LoginTypeNone" + ] + }, + "codersdk.LoginWithPasswordRequest": { + "type": "object", + "required": [ + "email", + "password" + ], + "properties": { + "email": { + "type": "string", + "format": "email" + }, + "password": { + "type": "string" + } + } + }, + "codersdk.LoginWithPasswordResponse": { + "type": "object", + "required": [ + "session_token" + ], + "properties": { + "session_token": { + "type": "string" + } + } + }, + "codersdk.MatchedProvisioners": { + "type": "object", + "properties": { + "available": { + "description": "Available is the number of provisioner daemons that are available to\ntake jobs. This may be less than the count if some provisioners are\nbusy or have been stopped.", + "type": "integer" + }, + "count": { + "description": "Count is the number of provisioner daemons that matched the given\ntags. If the count is 0, it means no provisioner daemons matched the\nrequested tags.", + "type": "integer" + }, + "most_recently_seen": { + "description": "MostRecentlySeen is the most recently seen time of the set of matched\nprovisioners. If no provisioners matched, this field will be null.", + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.MinimalOrganization": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.MinimalUser": { + "type": "object", + "required": [ + "id", + "username" + ], + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.NotificationMethodsResponse": { + "type": "object", + "properties": { + "available": { + "type": "array", + "items": { + "type": "string" + } + }, + "default": { + "type": "string" + } + } + }, + "codersdk.NotificationPreference": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.NotificationTemplate": { + "type": "object", + "properties": { + "actions": { + "type": "string" + }, + "body_template": { + "type": "string" + }, + "enabled_by_default": { + "type": "boolean" + }, + "group": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "kind": { + "type": "string" + }, + "method": { + "type": "string" + }, + "name": { + "type": "string" + }, + "title_template": { + "type": "string" + } + } + }, + "codersdk.NotificationsConfig": { + "type": "object", + "properties": { + "dispatch_timeout": { + "description": "How long to wait while a notification is being sent before giving up.", + "type": "integer" + }, + "email": { + "description": "SMTP settings.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.NotificationsEmailConfig" + } + ] + }, + "fetch_interval": { + "description": "How often to query the database for queued notifications.", + "type": "integer" + }, + "inbox": { + "description": "Inbox settings.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.NotificationsInboxConfig" + } + ] + }, + "lease_count": { + "description": "How many notifications a notifier should lease per fetch interval.", + "type": "integer" + }, + "lease_period": { + "description": "How long a notifier should lease a message. This is effectively how long a notification is 'owned'\nby a notifier, and once this period expires it will be available for lease by another notifier. Leasing\nis important in order for multiple running notifiers to not pick the same messages to deliver concurrently.\nThis lease period will only expire if a notifier shuts down ungracefully; a dispatch of the notification\nreleases the lease.", + "type": "integer" + }, + "max_send_attempts": { + "description": "The upper limit of attempts to send a notification.", + "type": "integer" + }, + "method": { + "description": "Which delivery method to use (available options: 'smtp', 'webhook').", + "type": "string" + }, + "retry_interval": { + "description": "The minimum time between retries.", + "type": "integer" + }, + "sync_buffer_size": { + "description": "The notifications system buffers message updates in memory to ease pressure on the database.\nThis option controls how many updates are kept in memory. The lower this value the\nlower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the\ndatabase. It is recommended to keep this option at its default value.", + "type": "integer" + }, + "sync_interval": { + "description": "The notifications system buffers message updates in memory to ease pressure on the database.\nThis option controls how often it synchronizes its state with the database. The shorter this value the\nlower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the\ndatabase. It is recommended to keep this option at its default value.", + "type": "integer" + }, + "webhook": { + "description": "Webhook settings.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.NotificationsWebhookConfig" + } + ] + } + } + }, + "codersdk.NotificationsEmailAuthConfig": { + "type": "object", + "properties": { + "identity": { + "description": "Identity for PLAIN auth.", + "type": "string" + }, + "password": { + "description": "Password for LOGIN/PLAIN auth.", + "type": "string" + }, + "password_file": { + "description": "File from which to load the password for LOGIN/PLAIN auth.", + "type": "string" + }, + "username": { + "description": "Username for LOGIN/PLAIN auth.", + "type": "string" + } + } + }, + "codersdk.NotificationsEmailConfig": { + "type": "object", + "properties": { + "auth": { + "description": "Authentication details.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.NotificationsEmailAuthConfig" + } + ] + }, + "force_tls": { + "description": "ForceTLS causes a TLS connection to be attempted.", + "type": "boolean" + }, + "from": { + "description": "The sender's address.", + "type": "string" + }, + "hello": { + "description": "The hostname identifying the SMTP server.", + "type": "string" + }, + "smarthost": { + "description": "The intermediary SMTP host through which emails are sent (host:port).", + "type": "string" + }, + "tls": { + "description": "TLS details.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.NotificationsEmailTLSConfig" + } + ] + } + } + }, + "codersdk.NotificationsEmailTLSConfig": { + "type": "object", + "properties": { + "ca_file": { + "description": "CAFile specifies the location of the CA certificate to use.", + "type": "string" + }, + "cert_file": { + "description": "CertFile specifies the location of the certificate to use.", + "type": "string" + }, + "insecure_skip_verify": { + "description": "InsecureSkipVerify skips target certificate validation.", + "type": "boolean" + }, + "key_file": { + "description": "KeyFile specifies the location of the key to use.", + "type": "string" + }, + "server_name": { + "description": "ServerName to verify the hostname for the targets.", + "type": "string" + }, + "start_tls": { + "description": "StartTLS attempts to upgrade plain connections to TLS.", + "type": "boolean" + } + } + }, + "codersdk.NotificationsInboxConfig": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "codersdk.NotificationsSettings": { + "type": "object", + "properties": { + "notifier_paused": { + "type": "boolean" + } + } + }, + "codersdk.NotificationsWebhookConfig": { + "type": "object", + "properties": { + "endpoint": { + "description": "The URL to which the payload will be sent with an HTTP POST request.", + "allOf": [ + { + "$ref": "#/definitions/serpent.URL" + } + ] + } + } + }, + "codersdk.NullHCLString": { + "type": "object", + "properties": { + "valid": { + "type": "boolean" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.OAuth2AppEndpoints": { + "type": "object", + "properties": { + "authorization": { + "type": "string" + }, + "device_authorization": { + "description": "DeviceAuth is optional.", + "type": "string" + }, + "token": { + "type": "string" + } + } + }, + "codersdk.OAuth2AuthorizationServerMetadata": { + "type": "object", + "properties": { + "authorization_endpoint": { + "type": "string" + }, + "code_challenge_methods_supported": { + "type": "array", + "items": { + "type": "string" + } + }, + "grant_types_supported": { + "type": "array", + "items": { + "type": "string" + } + }, + "issuer": { + "type": "string" + }, + "registration_endpoint": { + "type": "string" + }, + "response_types_supported": { + "type": "array", + "items": { + "type": "string" + } + }, + "scopes_supported": { + "type": "array", + "items": { + "type": "string" + } + }, + "token_endpoint": { + "type": "string" + }, + "token_endpoint_auth_methods_supported": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.OAuth2ClientConfiguration": { + "type": "object", + "properties": { + "client_id": { + "type": "string" + }, + "client_id_issued_at": { + "type": "integer" + }, + "client_name": { + "type": "string" + }, + "client_secret_expires_at": { + "type": "integer" + }, + "client_uri": { + "type": "string" + }, + "contacts": { + "type": "array", + "items": { + "type": "string" + } + }, + "grant_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "jwks": { + "type": "object" + }, + "jwks_uri": { + "type": "string" + }, + "logo_uri": { + "type": "string" + }, + "policy_uri": { + "type": "string" + }, + "redirect_uris": { + "type": "array", + "items": { + "type": "string" + } + }, + "registration_access_token": { + "type": "string" + }, + "registration_client_uri": { + "type": "string" + }, + "response_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "scope": { + "type": "string" + }, + "software_id": { + "type": "string" + }, + "software_version": { + "type": "string" + }, + "token_endpoint_auth_method": { + "type": "string" + }, + "tos_uri": { + "type": "string" + } + } + }, + "codersdk.OAuth2ClientRegistrationRequest": { + "type": "object", + "properties": { + "client_name": { + "type": "string" + }, + "client_uri": { + "type": "string" + }, + "contacts": { + "type": "array", + "items": { + "type": "string" + } + }, + "grant_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "jwks": { + "type": "object" + }, + "jwks_uri": { + "type": "string" + }, + "logo_uri": { + "type": "string" + }, + "policy_uri": { + "type": "string" + }, + "redirect_uris": { + "type": "array", + "items": { + "type": "string" + } + }, + "response_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "scope": { + "type": "string" + }, + "software_id": { + "type": "string" + }, + "software_statement": { + "type": "string" + }, + "software_version": { + "type": "string" + }, + "token_endpoint_auth_method": { + "type": "string" + }, + "tos_uri": { + "type": "string" + } + } + }, + "codersdk.OAuth2ClientRegistrationResponse": { + "type": "object", + "properties": { + "client_id": { + "type": "string" + }, + "client_id_issued_at": { + "type": "integer" + }, + "client_name": { + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "client_secret_expires_at": { + "type": "integer" + }, + "client_uri": { + "type": "string" + }, + "contacts": { + "type": "array", + "items": { + "type": "string" + } + }, + "grant_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "jwks": { + "type": "object" + }, + "jwks_uri": { + "type": "string" + }, + "logo_uri": { + "type": "string" + }, + "policy_uri": { + "type": "string" + }, + "redirect_uris": { + "type": "array", + "items": { + "type": "string" + } + }, + "registration_access_token": { + "type": "string" + }, + "registration_client_uri": { + "type": "string" + }, + "response_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "scope": { + "type": "string" + }, + "software_id": { + "type": "string" + }, + "software_version": { + "type": "string" + }, + "token_endpoint_auth_method": { + "type": "string" + }, + "tos_uri": { + "type": "string" + } + } + }, + "codersdk.OAuth2Config": { + "type": "object", + "properties": { + "github": { + "$ref": "#/definitions/codersdk.OAuth2GithubConfig" + } + } + }, + "codersdk.OAuth2GithubConfig": { + "type": "object", + "properties": { + "allow_everyone": { + "type": "boolean" + }, + "allow_signups": { + "type": "boolean" + }, + "allowed_orgs": { + "type": "array", + "items": { + "type": "string" + } + }, + "allowed_teams": { + "type": "array", + "items": { + "type": "string" + } + }, + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "default_provider_enable": { + "type": "boolean" + }, + "device_flow": { + "type": "boolean" + }, + "enterprise_base_url": { + "type": "string" + } + } + }, + "codersdk.OAuth2ProtectedResourceMetadata": { + "type": "object", + "properties": { + "authorization_servers": { + "type": "array", + "items": { + "type": "string" + } + }, + "bearer_methods_supported": { + "type": "array", + "items": { + "type": "string" + } + }, + "resource": { + "type": "string" + }, + "scopes_supported": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.OAuth2ProviderApp": { + "type": "object", + "properties": { + "callback_url": { + "type": "string" + }, + "endpoints": { + "description": "Endpoints are included in the app response for easier discovery. The OAuth2\nspec does not have a defined place to find these (for comparison, OIDC has\na '/.well-known/openid-configuration' endpoint).", + "allOf": [ + { + "$ref": "#/definitions/codersdk.OAuth2AppEndpoints" + } + ] + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.OAuth2ProviderAppSecret": { + "type": "object", + "properties": { + "client_secret_truncated": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "last_used_at": { + "type": "string" + } + } + }, + "codersdk.OAuth2ProviderAppSecretFull": { + "type": "object", + "properties": { + "client_secret_full": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.OAuthConversionResponse": { + "type": "object", + "properties": { + "expires_at": { + "type": "string", + "format": "date-time" + }, + "state_string": { + "type": "string" + }, + "to_type": { + "$ref": "#/definitions/codersdk.LoginType" + }, + "user_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.OIDCAuthMethod": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "iconUrl": { + "type": "string" + }, + "signInText": { + "type": "string" + } + } + }, + "codersdk.OIDCConfig": { + "type": "object", + "properties": { + "allow_signups": { + "type": "boolean" + }, + "auth_url_params": { + "type": "object" + }, + "client_cert_file": { + "type": "string" + }, + "client_id": { + "type": "string" + }, + "client_key_file": { + "description": "ClientKeyFile \u0026 ClientCertFile are used in place of ClientSecret for PKI auth.", + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "email_domain": { + "type": "array", + "items": { + "type": "string" + } + }, + "email_field": { + "type": "string" + }, + "group_allow_list": { + "type": "array", + "items": { + "type": "string" + } + }, + "group_auto_create": { + "type": "boolean" + }, + "group_mapping": { + "type": "object" + }, + "group_regex_filter": { + "$ref": "#/definitions/serpent.Regexp" + }, + "groups_field": { + "type": "string" + }, + "icon_url": { + "$ref": "#/definitions/serpent.URL" + }, + "ignore_email_verified": { + "type": "boolean" + }, + "ignore_user_info": { + "description": "IgnoreUserInfo \u0026 UserInfoFromAccessToken are mutually exclusive. Only 1\ncan be set to true. Ideally this would be an enum with 3 states, ['none',\n'userinfo', 'access_token']. However, for backward compatibility,\n`ignore_user_info` must remain. And `access_token` is a niche, non-spec\ncompliant edge case. So it's use is rare, and should not be advised.", + "type": "boolean" + }, + "issuer_url": { + "type": "string" + }, + "name_field": { + "type": "string" + }, + "organization_assign_default": { + "type": "boolean" + }, + "organization_field": { + "type": "string" + }, + "organization_mapping": { + "type": "object" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "sign_in_text": { + "type": "string" + }, + "signups_disabled_text": { + "type": "string" + }, + "skip_issuer_checks": { + "type": "boolean" + }, + "source_user_info_from_access_token": { + "description": "UserInfoFromAccessToken as mentioned above is an edge case. This allows\nsourcing the user_info from the access token itself instead of a user_info\nendpoint. This assumes the access token is a valid JWT with a set of claims to\nbe merged with the id_token.", + "type": "boolean" + }, + "user_role_field": { + "type": "string" + }, + "user_role_mapping": { + "type": "object" + }, + "user_roles_default": { + "type": "array", + "items": { + "type": "string" + } + }, + "username_field": { + "type": "string" + } + } + }, + "codersdk.OptionType": { + "type": "string", + "enum": [ + "string", + "number", + "bool", + "list(string)" + ], + "x-enum-varnames": [ + "OptionTypeString", + "OptionTypeNumber", + "OptionTypeBoolean", + "OptionTypeListString" + ] + }, + "codersdk.Organization": { + "type": "object", + "required": [ + "created_at", + "id", + "is_default", + "updated_at" + ], + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "description": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "is_default": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.OrganizationMember": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.SlimRole" + } + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "user_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.OrganizationMemberWithUserData": { + "type": "object", + "properties": { + "avatar_url": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "email": { + "type": "string" + }, + "global_roles": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.SlimRole" + } + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.SlimRole" + } + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "user_id": { + "type": "string", + "format": "uuid" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.OrganizationSyncSettings": { + "type": "object", + "properties": { + "field": { + "description": "Field selects the claim field to be used as the created user's\norganizations. If the field is the empty string, then no organization\nupdates will ever come from the OIDC provider.", + "type": "string" + }, + "mapping": { + "description": "Mapping maps from an OIDC claim --\u003e Coder organization uuid", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "organization_assign_default": { + "description": "AssignDefault will ensure the default org is always included\nfor every user, regardless of their claims. This preserves legacy behavior.", + "type": "boolean" + } + } + }, + "codersdk.PaginatedMembersResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.OrganizationMemberWithUserData" + } + } + } + }, + "codersdk.ParameterFormType": { + "type": "string", + "enum": [ + "", + "radio", + "slider", + "input", + "dropdown", + "checkbox", + "switch", + "multi-select", + "tag-select", + "textarea", + "error" + ], + "x-enum-varnames": [ + "ParameterFormTypeDefault", + "ParameterFormTypeRadio", + "ParameterFormTypeSlider", + "ParameterFormTypeInput", + "ParameterFormTypeDropdown", + "ParameterFormTypeCheckbox", + "ParameterFormTypeSwitch", + "ParameterFormTypeMultiSelect", + "ParameterFormTypeTagSelect", + "ParameterFormTypeTextArea", + "ParameterFormTypeError" + ] + }, + "codersdk.PatchGroupIDPSyncConfigRequest": { + "type": "object", + "properties": { + "auto_create_missing_groups": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "regex_filter": { + "$ref": "#/definitions/regexp.Regexp" + } + } + }, + "codersdk.PatchGroupIDPSyncMappingRequest": { + "type": "object", + "properties": { + "add": { + "type": "array", + "items": { + "type": "object", + "properties": { + "gets": { + "description": "The ID of the Coder resource the user should be added to", + "type": "string" + }, + "given": { + "description": "The IdP claim the user has", + "type": "string" + } + } + } + }, + "remove": { + "type": "array", + "items": { + "type": "object", + "properties": { + "gets": { + "description": "The ID of the Coder resource the user should be added to", + "type": "string" + }, + "given": { + "description": "The IdP claim the user has", + "type": "string" + } + } + } + } + } + }, + "codersdk.PatchGroupRequest": { + "type": "object", + "properties": { + "add_users": { + "type": "array", + "items": { + "type": "string" + } + }, + "avatar_url": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quota_allowance": { + "type": "integer" + }, + "remove_users": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.PatchOrganizationIDPSyncConfigRequest": { + "type": "object", + "properties": { + "assign_default": { + "type": "boolean" + }, + "field": { + "type": "string" + } + } + }, + "codersdk.PatchOrganizationIDPSyncMappingRequest": { + "type": "object", + "properties": { + "add": { + "type": "array", + "items": { + "type": "object", + "properties": { + "gets": { + "description": "The ID of the Coder resource the user should be added to", + "type": "string" + }, + "given": { + "description": "The IdP claim the user has", + "type": "string" + } + } + } + }, + "remove": { + "type": "array", + "items": { + "type": "object", + "properties": { + "gets": { + "description": "The ID of the Coder resource the user should be added to", + "type": "string" + }, + "given": { + "description": "The IdP claim the user has", + "type": "string" + } + } + } + } + } + }, + "codersdk.PatchRoleIDPSyncConfigRequest": { + "type": "object", + "properties": { + "field": { + "type": "string" + } + } + }, + "codersdk.PatchRoleIDPSyncMappingRequest": { + "type": "object", + "properties": { + "add": { + "type": "array", + "items": { + "type": "object", + "properties": { + "gets": { + "description": "The ID of the Coder resource the user should be added to", + "type": "string" + }, + "given": { + "description": "The IdP claim the user has", + "type": "string" + } + } + } + }, + "remove": { + "type": "array", + "items": { + "type": "object", + "properties": { + "gets": { + "description": "The ID of the Coder resource the user should be added to", + "type": "string" + }, + "given": { + "description": "The IdP claim the user has", + "type": "string" + } + } + } + } + } + }, + "codersdk.PatchTemplateVersionRequest": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.PatchWorkspaceProxy": { + "type": "object", + "required": [ + "display_name", + "icon", + "id", + "name" + ], + "properties": { + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + }, + "regenerate_token": { + "type": "boolean" + } + } + }, + "codersdk.Permission": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/codersdk.RBACAction" + }, + "negate": { + "description": "Negate makes this a negative permission", + "type": "boolean" + }, + "resource_type": { + "$ref": "#/definitions/codersdk.RBACResource" + } + } + }, + "codersdk.PostOAuth2ProviderAppRequest": { + "type": "object", + "required": [ + "callback_url", + "name" + ], + "properties": { + "callback_url": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.PostWorkspaceUsageRequest": { + "type": "object", + "properties": { + "agent_id": { + "type": "string", + "format": "uuid" + }, + "app_name": { + "$ref": "#/definitions/codersdk.UsageAppName" + } + } + }, + "codersdk.PprofConfig": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/serpent.HostPort" + }, + "enable": { + "type": "boolean" + } + } + }, + "codersdk.PrebuildsConfig": { + "type": "object", + "properties": { + "failure_hard_limit": { + "description": "FailureHardLimit defines the maximum number of consecutive failed prebuild attempts allowed\nbefore a preset is considered to be in a hard limit state. When a preset hits this limit,\nno new prebuilds will be created until the limit is reset.\nFailureHardLimit is disabled when set to zero.", + "type": "integer" + }, + "reconciliation_backoff_interval": { + "description": "ReconciliationBackoffInterval specifies the amount of time to increase the backoff interval\nwhen errors occur during reconciliation.", + "type": "integer" + }, + "reconciliation_backoff_lookback": { + "description": "ReconciliationBackoffLookback determines the time window to look back when calculating\nthe number of failed prebuilds, which influences the backoff strategy.", + "type": "integer" + }, + "reconciliation_interval": { + "description": "ReconciliationInterval defines how often the workspace prebuilds state should be reconciled.", + "type": "integer" + } + } + }, + "codersdk.PrebuildsSettings": { + "type": "object", + "properties": { + "reconciliation_paused": { + "type": "boolean" + } + } + }, + "codersdk.Preset": { + "type": "object", + "properties": { + "default": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.PresetParameter" + } + } + } + }, + "codersdk.PresetParameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.PreviewParameter": { + "type": "object", + "properties": { + "default_value": { + "$ref": "#/definitions/codersdk.NullHCLString" + }, + "description": { + "type": "string" + }, + "diagnostics": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.FriendlyDiagnostic" + } + }, + "display_name": { + "type": "string" + }, + "ephemeral": { + "type": "boolean" + }, + "form_type": { + "$ref": "#/definitions/codersdk.ParameterFormType" + }, + "icon": { + "type": "string" + }, + "mutable": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.PreviewParameterOption" + } + }, + "order": { + "description": "legacy_variable_name was removed (= 14)", + "type": "integer" + }, + "required": { + "type": "boolean" + }, + "styling": { + "$ref": "#/definitions/codersdk.PreviewParameterStyling" + }, + "type": { + "$ref": "#/definitions/codersdk.OptionType" + }, + "validations": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.PreviewParameterValidation" + } + }, + "value": { + "$ref": "#/definitions/codersdk.NullHCLString" + } + } + }, + "codersdk.PreviewParameterOption": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/codersdk.NullHCLString" + } + } + }, + "codersdk.PreviewParameterStyling": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "mask_input": { + "type": "boolean" + }, + "placeholder": { + "type": "string" + } + } + }, + "codersdk.PreviewParameterValidation": { + "type": "object", + "properties": { + "validation_error": { + "type": "string" + }, + "validation_max": { + "type": "integer" + }, + "validation_min": { + "type": "integer" + }, + "validation_monotonic": { + "type": "string" + }, + "validation_regex": { + "description": "All validation attributes are optional.", + "type": "string" + } + } + }, + "codersdk.PrometheusConfig": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/serpent.HostPort" + }, + "aggregate_agent_stats_by": { + "type": "array", + "items": { + "type": "string" + } + }, + "collect_agent_stats": { + "type": "boolean" + }, + "collect_db_metrics": { + "type": "boolean" + }, + "enable": { + "type": "boolean" + } + } + }, + "codersdk.ProvisionerConfig": { + "type": "object", + "properties": { + "daemon_poll_interval": { + "type": "integer" + }, + "daemon_poll_jitter": { + "type": "integer" + }, + "daemon_psk": { + "type": "string" + }, + "daemon_types": { + "type": "array", + "items": { + "type": "string" + } + }, + "daemons": { + "description": "Daemons is the number of built-in terraform provisioners.", + "type": "integer" + }, + "force_cancel_interval": { + "type": "integer" + } + } + }, + "codersdk.ProvisionerDaemon": { + "type": "object", + "properties": { + "api_version": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "current_job": { + "$ref": "#/definitions/codersdk.ProvisionerDaemonJob" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "key_id": { + "type": "string", + "format": "uuid" + }, + "key_name": { + "description": "Optional fields.", + "type": "string" + }, + "last_seen_at": { + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "previous_job": { + "$ref": "#/definitions/codersdk.ProvisionerDaemonJob" + }, + "provisioners": { + "type": "array", + "items": { + "type": "string" + } + }, + "status": { + "enum": [ + "offline", + "idle", + "busy" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ProvisionerDaemonStatus" + } + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "version": { + "type": "string" + } + } + }, + "codersdk.ProvisionerDaemonJob": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "status": { + "enum": [ + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ProvisionerJobStatus" + } + ] + }, + "template_display_name": { + "type": "string" + }, + "template_icon": { + "type": "string" + }, + "template_name": { + "type": "string" + } + } + }, + "codersdk.ProvisionerDaemonStatus": { + "type": "string", + "enum": [ + "offline", + "idle", + "busy" + ], + "x-enum-varnames": [ + "ProvisionerDaemonOffline", + "ProvisionerDaemonIdle", + "ProvisionerDaemonBusy" + ] + }, + "codersdk.ProvisionerJob": { + "type": "object", + "properties": { + "available_workers": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "canceled_at": { + "type": "string", + "format": "date-time" + }, + "completed_at": { + "type": "string", + "format": "date-time" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "error": { + "type": "string" + }, + "error_code": { + "enum": [ + "REQUIRED_TEMPLATE_VARIABLES" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.JobErrorCode" + } + ] + }, + "file_id": { + "type": "string", + "format": "uuid" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "input": { + "$ref": "#/definitions/codersdk.ProvisionerJobInput" + }, + "metadata": { + "$ref": "#/definitions/codersdk.ProvisionerJobMetadata" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "queue_position": { + "type": "integer" + }, + "queue_size": { + "type": "integer" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "status": { + "enum": [ + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ProvisionerJobStatus" + } + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "$ref": "#/definitions/codersdk.ProvisionerJobType" + }, + "worker_id": { + "type": "string", + "format": "uuid" + }, + "worker_name": { + "type": "string" + } + } + }, + "codersdk.ProvisionerJobInput": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "template_version_id": { + "type": "string", + "format": "uuid" + }, + "workspace_build_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.ProvisionerJobLog": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "integer" + }, + "log_level": { + "enum": [ + "trace", + "debug", + "info", + "warn", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.LogLevel" + } + ] + }, + "log_source": { + "$ref": "#/definitions/codersdk.LogSource" + }, + "output": { + "type": "string" + }, + "stage": { + "type": "string" + } + } + }, + "codersdk.ProvisionerJobMetadata": { + "type": "object", + "properties": { + "template_display_name": { + "type": "string" + }, + "template_icon": { + "type": "string" + }, + "template_id": { + "type": "string", + "format": "uuid" + }, + "template_name": { + "type": "string" + }, + "template_version_name": { + "type": "string" + }, + "workspace_id": { + "type": "string", + "format": "uuid" + }, + "workspace_name": { + "type": "string" + } + } + }, + "codersdk.ProvisionerJobStatus": { + "type": "string", + "enum": [ + "pending", + "running", + "succeeded", + "canceling", + "canceled", + "failed", + "unknown" + ], + "x-enum-varnames": [ + "ProvisionerJobPending", + "ProvisionerJobRunning", + "ProvisionerJobSucceeded", + "ProvisionerJobCanceling", + "ProvisionerJobCanceled", + "ProvisionerJobFailed", + "ProvisionerJobUnknown" + ] + }, + "codersdk.ProvisionerJobType": { + "type": "string", + "enum": [ + "template_version_import", + "workspace_build", + "template_version_dry_run" + ], + "x-enum-varnames": [ + "ProvisionerJobTypeTemplateVersionImport", + "ProvisionerJobTypeWorkspaceBuild", + "ProvisionerJobTypeTemplateVersionDryRun" + ] + }, + "codersdk.ProvisionerKey": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string", + "format": "uuid" + }, + "tags": { + "$ref": "#/definitions/codersdk.ProvisionerKeyTags" + } + } + }, + "codersdk.ProvisionerKeyDaemons": { + "type": "object", + "properties": { + "daemons": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerDaemon" + } + }, + "key": { + "$ref": "#/definitions/codersdk.ProvisionerKey" + } + } + }, + "codersdk.ProvisionerKeyTags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "codersdk.ProvisionerLogLevel": { + "type": "string", + "enum": [ + "debug" + ], + "x-enum-varnames": [ + "ProvisionerLogLevelDebug" + ] + }, + "codersdk.ProvisionerStorageMethod": { + "type": "string", + "enum": [ + "file" + ], + "x-enum-varnames": [ + "ProvisionerStorageMethodFile" + ] + }, + "codersdk.ProvisionerTiming": { + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "ended_at": { + "type": "string", + "format": "date-time" + }, + "job_id": { + "type": "string", + "format": "uuid" + }, + "resource": { + "type": "string" + }, + "source": { + "type": "string" + }, + "stage": { + "$ref": "#/definitions/codersdk.TimingStage" + }, + "started_at": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.ProxyHealthReport": { + "type": "object", + "properties": { + "errors": { + "description": "Errors are problems that prevent the workspace proxy from being healthy", + "type": "array", + "items": { + "type": "string" + } + }, + "warnings": { + "description": "Warnings do not prevent the workspace proxy from being healthy, but\nshould be addressed.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.ProxyHealthStatus": { + "type": "string", + "enum": [ + "ok", + "unreachable", + "unhealthy", + "unregistered" + ], + "x-enum-varnames": [ + "ProxyHealthy", + "ProxyUnreachable", + "ProxyUnhealthy", + "ProxyUnregistered" + ] + }, + "codersdk.PutExtendWorkspaceRequest": { + "type": "object", + "required": [ + "deadline" + ], + "properties": { + "deadline": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.PutOAuth2ProviderAppRequest": { + "type": "object", + "required": [ + "callback_url", + "name" + ], + "properties": { + "callback_url": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.RBACAction": { + "type": "string", + "enum": [ + "application_connect", + "assign", + "create", + "create_agent", + "delete", + "delete_agent", + "read", + "read_personal", + "ssh", + "unassign", + "update", + "update_personal", + "use", + "view_insights", + "start", + "stop" + ], + "x-enum-varnames": [ + "ActionApplicationConnect", + "ActionAssign", + "ActionCreate", + "ActionCreateAgent", + "ActionDelete", + "ActionDeleteAgent", + "ActionRead", + "ActionReadPersonal", + "ActionSSH", + "ActionUnassign", + "ActionUpdate", + "ActionUpdatePersonal", + "ActionUse", + "ActionViewInsights", + "ActionWorkspaceStart", + "ActionWorkspaceStop" + ] + }, + "codersdk.RBACResource": { + "type": "string", + "enum": [ + "*", + "api_key", + "assign_org_role", + "assign_role", + "audit_log", + "connection_log", + "crypto_key", + "debug_info", + "deployment_config", + "deployment_stats", + "file", + "group", + "group_member", + "idpsync_settings", + "inbox_notification", + "license", + "notification_message", + "notification_preference", + "notification_template", + "oauth2_app", + "oauth2_app_code_token", + "oauth2_app_secret", + "organization", + "organization_member", + "prebuilt_workspace", + "provisioner_daemon", + "provisioner_jobs", + "replicas", + "system", + "tailnet_coordinator", + "template", + "user", + "webpush_subscription", + "workspace", + "workspace_agent_devcontainers", + "workspace_agent_resource_monitor", + "workspace_dormant", + "workspace_proxy" + ], + "x-enum-varnames": [ + "ResourceWildcard", + "ResourceApiKey", + "ResourceAssignOrgRole", + "ResourceAssignRole", + "ResourceAuditLog", + "ResourceConnectionLog", + "ResourceCryptoKey", + "ResourceDebugInfo", + "ResourceDeploymentConfig", + "ResourceDeploymentStats", + "ResourceFile", + "ResourceGroup", + "ResourceGroupMember", + "ResourceIdpsyncSettings", + "ResourceInboxNotification", + "ResourceLicense", + "ResourceNotificationMessage", + "ResourceNotificationPreference", + "ResourceNotificationTemplate", + "ResourceOauth2App", + "ResourceOauth2AppCodeToken", + "ResourceOauth2AppSecret", + "ResourceOrganization", + "ResourceOrganizationMember", + "ResourcePrebuiltWorkspace", + "ResourceProvisionerDaemon", + "ResourceProvisionerJobs", + "ResourceReplicas", + "ResourceSystem", + "ResourceTailnetCoordinator", + "ResourceTemplate", + "ResourceUser", + "ResourceWebpushSubscription", + "ResourceWorkspace", + "ResourceWorkspaceAgentDevcontainers", + "ResourceWorkspaceAgentResourceMonitor", + "ResourceWorkspaceDormant", + "ResourceWorkspaceProxy" + ] + }, + "codersdk.RateLimitConfig": { + "type": "object", + "properties": { + "api": { + "type": "integer" + }, + "disable_all": { + "type": "boolean" + } + } + }, + "codersdk.ReducedUser": { + "type": "object", + "required": [ + "created_at", + "email", + "id", + "username" + ], + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "email": { + "type": "string", + "format": "email" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "last_seen_at": { + "type": "string", + "format": "date-time" + }, + "login_type": { + "$ref": "#/definitions/codersdk.LoginType" + }, + "name": { + "type": "string" + }, + "status": { + "enum": [ + "active", + "suspended" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.UserStatus" + } + ] + }, + "theme_preference": { + "description": "Deprecated: this value should be retrieved from\n`codersdk.UserPreferenceSettings` instead.", + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.Region": { + "type": "object", + "properties": { + "display_name": { + "type": "string" + }, + "healthy": { + "type": "boolean" + }, + "icon_url": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + }, + "path_app_url": { + "description": "PathAppURL is the URL to the base path for path apps. Optional\nunless wildcard_hostname is set.\nE.g. https://us.example.com", + "type": "string" + }, + "wildcard_hostname": { + "description": "WildcardHostname is the wildcard hostname for subdomain apps.\nE.g. *.us.example.com\nE.g. *--suffix.au.example.com\nOptional. Does not need to be on the same domain as PathAppURL.", + "type": "string" + } + } + }, + "codersdk.RegionsResponse-codersdk_Region": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Region" + } + } + } + }, + "codersdk.RegionsResponse-codersdk_WorkspaceProxy": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceProxy" + } + } + } + }, + "codersdk.Replica": { + "type": "object", + "properties": { + "created_at": { + "description": "CreatedAt is the timestamp when the replica was first seen.", + "type": "string", + "format": "date-time" + }, + "database_latency": { + "description": "DatabaseLatency is the latency in microseconds to the database.", + "type": "integer" + }, + "error": { + "description": "Error is the replica error.", + "type": "string" + }, + "hostname": { + "description": "Hostname is the hostname of the replica.", + "type": "string" + }, + "id": { + "description": "ID is the unique identifier for the replica.", + "type": "string", + "format": "uuid" + }, + "region_id": { + "description": "RegionID is the region of the replica.", + "type": "integer" + }, + "relay_address": { + "description": "RelayAddress is the accessible address to relay DERP connections.", + "type": "string" + } + } + }, + "codersdk.RequestOneTimePasscodeRequest": { + "type": "object", + "required": [ + "email" + ], + "properties": { + "email": { + "type": "string", + "format": "email" + } + } + }, + "codersdk.ResolveAutostartResponse": { + "type": "object", + "properties": { + "parameter_mismatch": { + "type": "boolean" + } + } + }, + "codersdk.ResourceType": { + "type": "string", + "enum": [ + "template", + "template_version", + "user", + "workspace", + "workspace_build", + "git_ssh_key", + "api_key", + "group", + "license", + "convert_login", + "health_settings", + "notifications_settings", + "prebuilds_settings", + "workspace_proxy", + "organization", + "oauth2_provider_app", + "oauth2_provider_app_secret", + "custom_role", + "organization_member", + "notification_template", + "idp_sync_settings_organization", + "idp_sync_settings_group", + "idp_sync_settings_role", + "workspace_agent", + "workspace_app" + ], + "x-enum-varnames": [ + "ResourceTypeTemplate", + "ResourceTypeTemplateVersion", + "ResourceTypeUser", + "ResourceTypeWorkspace", + "ResourceTypeWorkspaceBuild", + "ResourceTypeGitSSHKey", + "ResourceTypeAPIKey", + "ResourceTypeGroup", + "ResourceTypeLicense", + "ResourceTypeConvertLogin", + "ResourceTypeHealthSettings", + "ResourceTypeNotificationsSettings", + "ResourceTypePrebuildsSettings", + "ResourceTypeWorkspaceProxy", + "ResourceTypeOrganization", + "ResourceTypeOAuth2ProviderApp", + "ResourceTypeOAuth2ProviderAppSecret", + "ResourceTypeCustomRole", + "ResourceTypeOrganizationMember", + "ResourceTypeNotificationTemplate", + "ResourceTypeIdpSyncSettingsOrganization", + "ResourceTypeIdpSyncSettingsGroup", + "ResourceTypeIdpSyncSettingsRole", + "ResourceTypeWorkspaceAgent", + "ResourceTypeWorkspaceApp" + ] + }, + "codersdk.Response": { + "type": "object", + "properties": { + "detail": { + "description": "Detail is a debug message that provides further insight into why the\naction failed. This information can be technical and a regular golang\nerr.Error() text.\n- \"database: too many open connections\"\n- \"stat: too many open files\"", + "type": "string" + }, + "message": { + "description": "Message is an actionable message that depicts actions the request took.\nThese messages should be fully formed sentences with proper punctuation.\nExamples:\n- \"A user has been created.\"\n- \"Failed to create a user.\"", + "type": "string" + }, + "validations": { + "description": "Validations are form field-specific friendly error messages. They will be\nshown on a form field in the UI. These can also be used to add additional\ncontext if there is a set of errors in the primary 'Message'.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ValidationError" + } + } + } + }, + "codersdk.Role": { + "type": "object", + "properties": { + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "organization_permissions": { + "description": "OrganizationPermissions are specific for the organization in the field 'OrganizationID' above.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + }, + "site_permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + }, + "user_permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Permission" + } + } + } + }, + "codersdk.RoleSyncSettings": { + "type": "object", + "properties": { + "field": { + "description": "Field is the name of the claim field that specifies what organization roles\na user should be given. If empty, no roles will be synced.", + "type": "string" + }, + "mapping": { + "description": "Mapping is a map from OIDC groups to Coder organization roles.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "codersdk.SSHConfig": { + "type": "object", + "properties": { + "deploymentName": { + "description": "DeploymentName is the config-ssh Hostname prefix", + "type": "string" + }, + "sshconfigOptions": { + "description": "SSHConfigOptions are additional options to add to the ssh config file.\nThis will override defaults.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.SSHConfigResponse": { + "type": "object", + "properties": { + "hostname_prefix": { + "description": "HostnamePrefix is the prefix we append to workspace names for SSH hostnames.\nDeprecated: use HostnameSuffix instead.", + "type": "string" + }, + "hostname_suffix": { + "description": "HostnameSuffix is the suffix to append to workspace names for SSH hostnames.", + "type": "string" + }, + "ssh_config_options": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "codersdk.ServerSentEvent": { + "type": "object", + "properties": { + "data": {}, + "type": { + "$ref": "#/definitions/codersdk.ServerSentEventType" + } + } + }, + "codersdk.ServerSentEventType": { + "type": "string", + "enum": [ + "ping", + "data", + "error" + ], + "x-enum-varnames": [ + "ServerSentEventTypePing", + "ServerSentEventTypeData", + "ServerSentEventTypeError" + ] + }, + "codersdk.SessionCountDeploymentStats": { + "type": "object", + "properties": { + "jetbrains": { + "type": "integer" + }, + "reconnecting_pty": { + "type": "integer" + }, + "ssh": { + "type": "integer" + }, + "vscode": { + "type": "integer" + } + } + }, + "codersdk.SessionLifetime": { + "type": "object", + "properties": { + "default_duration": { + "description": "DefaultDuration is only for browser, workspace app and oauth sessions.", + "type": "integer" + }, + "default_token_lifetime": { + "type": "integer" + }, + "disable_expiry_refresh": { + "description": "DisableExpiryRefresh will disable automatically refreshing api\nkeys when they are used from the api. This means the api key lifetime at\ncreation is the lifetime of the api key.", + "type": "boolean" + }, + "max_admin_token_lifetime": { + "type": "integer" + }, + "max_token_lifetime": { + "type": "integer" + } + } + }, + "codersdk.SlimRole": { + "type": "object", + "properties": { + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string" + } + } + }, + "codersdk.SupportConfig": { + "type": "object", + "properties": { + "links": { + "$ref": "#/definitions/serpent.Struct-array_codersdk_LinkConfig" + } + } + }, + "codersdk.SwaggerConfig": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + } + } + }, + "codersdk.TLSConfig": { + "type": "object", + "properties": { + "address": { + "$ref": "#/definitions/serpent.HostPort" + }, + "allow_insecure_ciphers": { + "type": "boolean" + }, + "cert_file": { + "type": "array", + "items": { + "type": "string" + } + }, + "client_auth": { + "type": "string" + }, + "client_ca_file": { + "type": "string" + }, + "client_cert_file": { + "type": "string" + }, + "client_key_file": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "key_file": { + "type": "array", + "items": { + "type": "string" + } + }, + "min_version": { + "type": "string" + }, + "redirect_http": { + "type": "boolean" + }, + "supported_ciphers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.TelemetryConfig": { + "type": "object", + "properties": { + "enable": { + "type": "boolean" + }, + "trace": { + "type": "boolean" + }, + "url": { + "$ref": "#/definitions/serpent.URL" + } + } + }, + "codersdk.Template": { + "type": "object", + "properties": { + "active_user_count": { + "description": "ActiveUserCount is set to -1 when loading.", + "type": "integer" + }, + "active_version_id": { + "type": "string", + "format": "uuid" + }, + "activity_bump_ms": { + "type": "integer" + }, + "allow_user_autostart": { + "description": "AllowUserAutostart and AllowUserAutostop are enterprise-only. Their\nvalues are only used if your license is entitled to use the advanced\ntemplate scheduling feature.", + "type": "boolean" + }, + "allow_user_autostop": { + "type": "boolean" + }, + "allow_user_cancel_workspace_jobs": { + "type": "boolean" + }, + "autostart_requirement": { + "$ref": "#/definitions/codersdk.TemplateAutostartRequirement" + }, + "autostop_requirement": { + "description": "AutostopRequirement and AutostartRequirement are enterprise features. Its\nvalue is only used if your license is entitled to use the advanced template\nscheduling feature.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.TemplateAutostopRequirement" + } + ] + }, + "build_time_stats": { + "$ref": "#/definitions/codersdk.TemplateBuildTimeStats" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "created_by_id": { + "type": "string", + "format": "uuid" + }, + "created_by_name": { + "type": "string" + }, + "default_ttl_ms": { + "type": "integer" + }, + "deprecated": { + "type": "boolean" + }, + "deprecation_message": { + "type": "string" + }, + "description": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "failure_ttl_ms": { + "description": "FailureTTLMillis, TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their\nvalues are used if your license is entitled to use the advanced\ntemplate scheduling feature.", + "type": "integer" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "max_port_share_level": { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" + }, + "name": { + "type": "string" + }, + "organization_display_name": { + "type": "string" + }, + "organization_icon": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "organization_name": { + "type": "string", + "format": "url" + }, + "provisioner": { + "type": "string", + "enum": [ + "terraform" + ] + }, + "require_active_version": { + "description": "RequireActiveVersion mandates that workspaces are built with the active\ntemplate version.", + "type": "boolean" + }, + "time_til_dormant_autodelete_ms": { + "type": "integer" + }, + "time_til_dormant_ms": { + "type": "integer" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "use_classic_parameter_flow": { + "type": "boolean" + } + } + }, + "codersdk.TemplateACL": { + "type": "object", + "properties": { + "group": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateGroup" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateUser" + } + } + } + }, + "codersdk.TemplateAppUsage": { + "type": "object", + "properties": { + "display_name": { + "type": "string", + "example": "Visual Studio Code" + }, + "icon": { + "type": "string" + }, + "seconds": { + "type": "integer", + "example": 80500 + }, + "slug": { + "type": "string", + "example": "vscode" + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "times_used": { + "type": "integer", + "example": 2 + }, + "type": { + "allOf": [ + { + "$ref": "#/definitions/codersdk.TemplateAppsType" + } + ], + "example": "builtin" + } + } + }, + "codersdk.TemplateAppsType": { + "type": "string", + "enum": [ + "builtin", + "app" + ], + "x-enum-varnames": [ + "TemplateAppsTypeBuiltin", + "TemplateAppsTypeApp" + ] + }, + "codersdk.TemplateAutostartRequirement": { + "type": "object", + "properties": { + "days_of_week": { + "description": "DaysOfWeek is a list of days of the week in which autostart is allowed\nto happen. If no days are specified, autostart is not allowed.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ] + } + } + } + }, + "codersdk.TemplateAutostopRequirement": { + "type": "object", + "properties": { + "days_of_week": { + "description": "DaysOfWeek is a list of days of the week on which restarts are required.\nRestarts happen within the user's quiet hours (in their configured\ntimezone). If no days are specified, restarts are not required. Weekdays\ncannot be specified twice.\n\nRestarts will only happen on weekdays in this list on weeks which line up\nwith Weeks.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ] + } + }, + "weeks": { + "description": "Weeks is the number of weeks between required restarts. Weeks are synced\nacross all workspaces (and Coder deployments) using modulo math on a\nhardcoded epoch week of January 2nd, 2023 (the first Monday of 2023).\nValues of 0 or 1 indicate weekly restarts. Values of 2 indicate\nfortnightly restarts, etc.", + "type": "integer" + } + } + }, + "codersdk.TemplateBuildTimeStats": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.TransitionStats" + } + }, + "codersdk.TemplateExample": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "markdown": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "url": { + "type": "string" + } + } + }, + "codersdk.TemplateGroup": { + "type": "object", + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "display_name": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ReducedUser" + } + }, + "name": { + "type": "string" + }, + "organization_display_name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "organization_name": { + "type": "string" + }, + "quota_allowance": { + "type": "integer" + }, + "role": { + "enum": [ + "admin", + "use" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.TemplateRole" + } + ] + }, + "source": { + "$ref": "#/definitions/codersdk.GroupSource" + }, + "total_member_count": { + "description": "How many members are in this group. Shows the total count,\neven if the user is not authorized to read group member details.\nMay be greater than `len(Group.Members)`.", + "type": "integer" + } + } + }, + "codersdk.TemplateInsightsIntervalReport": { + "type": "object", + "properties": { + "active_users": { + "type": "integer", + "example": 14 + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "interval": { + "allOf": [ + { + "$ref": "#/definitions/codersdk.InsightsReportInterval" + } + ], + "example": "week" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + } + } + }, + "codersdk.TemplateInsightsReport": { + "type": "object", + "properties": { + "active_users": { + "type": "integer", + "example": 22 + }, + "apps_usage": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateAppUsage" + } + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "parameters_usage": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateParameterUsage" + } + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + } + } + }, + "codersdk.TemplateInsightsResponse": { + "type": "object", + "properties": { + "interval_reports": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateInsightsIntervalReport" + } + }, + "report": { + "$ref": "#/definitions/codersdk.TemplateInsightsReport" + } + } + }, + "codersdk.TemplateParameterUsage": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersionParameterOption" + } + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "type": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateParameterValue" + } + } + } + }, + "codersdk.TemplateParameterValue": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.TemplateRole": { + "type": "string", + "enum": [ + "admin", + "use", + "" + ], + "x-enum-varnames": [ + "TemplateRoleAdmin", + "TemplateRoleUse", + "TemplateRoleDeleted" + ] + }, + "codersdk.TemplateUser": { + "type": "object", + "required": [ + "created_at", + "email", + "id", + "username" + ], + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "email": { + "type": "string", + "format": "email" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "last_seen_at": { + "type": "string", + "format": "date-time" + }, + "login_type": { + "$ref": "#/definitions/codersdk.LoginType" + }, + "name": { + "type": "string" + }, + "organization_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "role": { + "enum": [ + "admin", + "use" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.TemplateRole" + } + ] + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.SlimRole" + } + }, + "status": { + "enum": [ + "active", + "suspended" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.UserStatus" + } + ] + }, + "theme_preference": { + "description": "Deprecated: this value should be retrieved from\n`codersdk.UserPreferenceSettings` instead.", + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.TemplateVersion": { + "type": "object", + "properties": { + "archived": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "created_by": { + "$ref": "#/definitions/codersdk.MinimalUser" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "job": { + "$ref": "#/definitions/codersdk.ProvisionerJob" + }, + "matched_provisioners": { + "$ref": "#/definitions/codersdk.MatchedProvisioners" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "readme": { + "type": "string" + }, + "template_id": { + "type": "string", + "format": "uuid" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "warnings": { + "type": "array", + "items": { + "enum": [ + "DEPRECATED_PARAMETERS" + ], + "$ref": "#/definitions/codersdk.TemplateVersionWarning" + } + } + } + }, + "codersdk.TemplateVersionExternalAuth": { + "type": "object", + "properties": { + "authenticate_url": { + "type": "string" + }, + "authenticated": { + "type": "boolean" + }, + "display_icon": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "id": { + "type": "string" + }, + "optional": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "codersdk.TemplateVersionParameter": { + "type": "object", + "properties": { + "default_value": { + "type": "string" + }, + "description": { + "type": "string" + }, + "description_plaintext": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "ephemeral": { + "type": "boolean" + }, + "form_type": { + "description": "FormType has an enum value of empty string, `\"\"`.\nKeep the leading comma in the enums struct tag.", + "type": "string", + "enum": [ + "", + "radio", + "dropdown", + "input", + "textarea", + "slider", + "checkbox", + "switch", + "tag-select", + "multi-select", + "error" + ] + }, + "icon": { + "type": "string" + }, + "mutable": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.TemplateVersionParameterOption" + } + }, + "required": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": [ + "string", + "number", + "bool", + "list(string)" + ] + }, + "validation_error": { + "type": "string" + }, + "validation_max": { + "type": "integer" + }, + "validation_min": { + "type": "integer" + }, + "validation_monotonic": { + "enum": [ + "increasing", + "decreasing" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.ValidationMonotonicOrder" + } + ] + }, + "validation_regex": { + "type": "string" + } + } + }, + "codersdk.TemplateVersionParameterOption": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.TemplateVersionVariable": { + "type": "object", + "properties": { + "default_value": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "sensitive": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": [ + "string", + "number", + "bool" + ] + }, + "value": { + "type": "string" + } + } + }, + "codersdk.TemplateVersionWarning": { + "type": "string", + "enum": [ + "UNSUPPORTED_WORKSPACES" + ], + "x-enum-varnames": [ + "TemplateVersionWarningUnsupportedWorkspaces" + ] + }, + "codersdk.TerminalFontName": { + "type": "string", + "enum": [ + "", + "ibm-plex-mono", + "fira-code", + "source-code-pro", + "jetbrains-mono" + ], + "x-enum-varnames": [ + "TerminalFontUnknown", + "TerminalFontIBMPlexMono", + "TerminalFontFiraCode", + "TerminalFontSourceCodePro", + "TerminalFontJetBrainsMono" + ] + }, + "codersdk.TimingStage": { + "type": "string", + "enum": [ + "init", + "plan", + "graph", + "apply", + "start", + "stop", + "cron", + "connect" + ], + "x-enum-varnames": [ + "TimingStageInit", + "TimingStagePlan", + "TimingStageGraph", + "TimingStageApply", + "TimingStageStart", + "TimingStageStop", + "TimingStageCron", + "TimingStageConnect" + ] + }, + "codersdk.TokenConfig": { + "type": "object", + "properties": { + "max_token_lifetime": { + "type": "integer" + } + } + }, + "codersdk.TraceConfig": { + "type": "object", + "properties": { + "capture_logs": { + "type": "boolean" + }, + "data_dog": { + "type": "boolean" + }, + "enable": { + "type": "boolean" + }, + "honeycomb_api_key": { + "type": "string" + } + } + }, + "codersdk.TransitionStats": { + "type": "object", + "properties": { + "p50": { + "type": "integer", + "example": 123 + }, + "p95": { + "type": "integer", + "example": 146 + } + } + }, + "codersdk.UpdateActiveTemplateVersion": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.UpdateAppearanceConfig": { + "type": "object", + "properties": { + "announcement_banners": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.BannerConfig" + } + }, + "application_name": { + "type": "string" + }, + "logo_url": { + "type": "string" + }, + "service_banner": { + "description": "Deprecated: ServiceBanner has been replaced by AnnouncementBanners.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.BannerConfig" + } + ] + } + } + }, + "codersdk.UpdateCheckResponse": { + "type": "object", + "properties": { + "current": { + "description": "Current indicates whether the server version is the same as the latest.", + "type": "boolean" + }, + "url": { + "description": "URL to download the latest release of Coder.", + "type": "string" + }, + "version": { + "description": "Version is the semantic version for the latest release of Coder.", + "type": "string" + } + } + }, + "codersdk.UpdateOrganizationRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.UpdateRoles": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.UpdateTemplateACL": { + "type": "object", + "properties": { + "group_perms": { + "description": "GroupPerms should be a mapping of group id to role.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.TemplateRole" + }, + "example": { + "8bd26b20-f3e8-48be-a903-46bb920cf671": "use", + "\u003cgroup_id\u003e": "admin" + } + }, + "user_perms": { + "description": "UserPerms should be a mapping of user id to role. The user id must be the\nuuid of the user, not a username or email address.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.TemplateRole" + }, + "example": { + "4df59e74-c027-470b-ab4d-cbba8963a5e9": "use", + "\u003cuser_id\u003e": "admin" + } + } + } + }, + "codersdk.UpdateUserAppearanceSettingsRequest": { + "type": "object", + "required": [ + "terminal_font", + "theme_preference" + ], + "properties": { + "terminal_font": { + "$ref": "#/definitions/codersdk.TerminalFontName" + }, + "theme_preference": { + "type": "string" + } + } + }, + "codersdk.UpdateUserNotificationPreferences": { + "type": "object", + "properties": { + "template_disabled_map": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + } + }, + "codersdk.UpdateUserPasswordRequest": { + "type": "object", + "required": [ + "password" + ], + "properties": { + "old_password": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "codersdk.UpdateUserProfileRequest": { + "type": "object", + "required": [ + "username" + ], + "properties": { + "name": { + "type": "string" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.UpdateUserQuietHoursScheduleRequest": { + "type": "object", + "required": [ + "schedule" + ], + "properties": { + "schedule": { + "description": "Schedule is a cron expression that defines when the user's quiet hours\nwindow is. Schedule must not be empty. For new users, the schedule is set\nto 2am in their browser or computer's timezone. The schedule denotes the\nbeginning of a 4 hour window where the workspace is allowed to\nautomatically stop or restart due to maintenance or template schedule.\n\nThe schedule must be daily with a single time, and should have a timezone\nspecified via a CRON_TZ prefix (otherwise UTC will be used).\n\nIf the schedule is empty, the user will be updated to use the default\nschedule.", + "type": "string" + } + } + }, + "codersdk.UpdateWorkspaceAutomaticUpdatesRequest": { + "type": "object", + "properties": { + "automatic_updates": { + "$ref": "#/definitions/codersdk.AutomaticUpdates" + } + } + }, + "codersdk.UpdateWorkspaceAutostartRequest": { + "type": "object", + "properties": { + "schedule": { + "description": "Schedule is expected to be of the form `CRON_TZ=\u003cIANA Timezone\u003e \u003cmin\u003e \u003chour\u003e * * \u003cdow\u003e`\nExample: `CRON_TZ=US/Central 30 9 * * 1-5` represents 0930 in the timezone US/Central\non weekdays (Mon-Fri). `CRON_TZ` defaults to UTC if not present.", + "type": "string" + } + } + }, + "codersdk.UpdateWorkspaceDormancy": { + "type": "object", + "properties": { + "dormant": { + "type": "boolean" + } + } + }, + "codersdk.UpdateWorkspaceRequest": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "codersdk.UpdateWorkspaceTTLRequest": { + "type": "object", + "properties": { + "ttl_ms": { + "type": "integer" + } + } + }, + "codersdk.UploadResponse": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.UpsertWorkspaceAgentPortShareRequest": { + "type": "object", + "properties": { + "agent_name": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "protocol": { + "enum": [ + "http", + "https" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareProtocol" + } + ] + }, + "share_level": { + "enum": [ + "owner", + "authenticated", + "organization", + "public" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" + } + ] + } + } + }, + "codersdk.UsageAppName": { + "type": "string", + "enum": [ + "vscode", + "jetbrains", + "reconnecting-pty", + "ssh" + ], + "x-enum-varnames": [ + "UsageAppNameVscode", + "UsageAppNameJetbrains", + "UsageAppNameReconnectingPty", + "UsageAppNameSSH" + ] + }, + "codersdk.UsagePeriod": { + "type": "object", + "properties": { + "end": { + "type": "string", + "format": "date-time" + }, + "issued_at": { + "type": "string", + "format": "date-time" + }, + "start": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.User": { + "type": "object", + "required": [ + "created_at", + "email", + "id", + "username" + ], + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "email": { + "type": "string", + "format": "email" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "last_seen_at": { + "type": "string", + "format": "date-time" + }, + "login_type": { + "$ref": "#/definitions/codersdk.LoginType" + }, + "name": { + "type": "string" + }, + "organization_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.SlimRole" + } + }, + "status": { + "enum": [ + "active", + "suspended" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.UserStatus" + } + ] + }, + "theme_preference": { + "description": "Deprecated: this value should be retrieved from\n`codersdk.UserPreferenceSettings` instead.", + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.UserActivity": { + "type": "object", + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "seconds": { + "type": "integer", + "example": 80500 + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "user_id": { + "type": "string", + "format": "uuid" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.UserActivityInsightsReport": { + "type": "object", + "properties": { + "end_time": { + "type": "string", + "format": "date-time" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.UserActivity" + } + } + } + }, + "codersdk.UserActivityInsightsResponse": { + "type": "object", + "properties": { + "report": { + "$ref": "#/definitions/codersdk.UserActivityInsightsReport" + } + } + }, + "codersdk.UserAppearanceSettings": { + "type": "object", + "properties": { + "terminal_font": { + "$ref": "#/definitions/codersdk.TerminalFontName" + }, + "theme_preference": { + "type": "string" + } + } + }, + "codersdk.UserLatency": { + "type": "object", + "properties": { + "avatar_url": { + "type": "string", + "format": "uri" + }, + "latency_ms": { + "$ref": "#/definitions/codersdk.ConnectionLatency" + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "user_id": { + "type": "string", + "format": "uuid" + }, + "username": { + "type": "string" + } + } + }, + "codersdk.UserLatencyInsightsReport": { + "type": "object", + "properties": { + "end_time": { + "type": "string", + "format": "date-time" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "template_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "users": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.UserLatency" + } + } + } + }, + "codersdk.UserLatencyInsightsResponse": { + "type": "object", + "properties": { + "report": { + "$ref": "#/definitions/codersdk.UserLatencyInsightsReport" + } + } + }, + "codersdk.UserLoginType": { + "type": "object", + "properties": { + "login_type": { + "$ref": "#/definitions/codersdk.LoginType" + } + } + }, + "codersdk.UserParameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.UserQuietHoursScheduleConfig": { + "type": "object", + "properties": { + "allow_user_custom": { + "type": "boolean" + }, + "default_schedule": { + "type": "string" + } + } + }, + "codersdk.UserQuietHoursScheduleResponse": { + "type": "object", + "properties": { + "next": { + "description": "Next is the next time that the quiet hours window will start.", + "type": "string", + "format": "date-time" + }, + "raw_schedule": { + "type": "string" + }, + "time": { + "description": "Time is the time of day that the quiet hours window starts in the given\nTimezone each day.", + "type": "string" + }, + "timezone": { + "description": "raw format from the cron expression, UTC if unspecified", + "type": "string" + }, + "user_can_set": { + "description": "UserCanSet is true if the user is allowed to set their own quiet hours\nschedule. If false, the user cannot set a custom schedule and the default\nschedule will always be used.", + "type": "boolean" + }, + "user_set": { + "description": "UserSet is true if the user has set their own quiet hours schedule. If\nfalse, the user is using the default schedule.", + "type": "boolean" + } + } + }, + "codersdk.UserStatus": { + "type": "string", + "enum": [ + "active", + "dormant", + "suspended" + ], + "x-enum-varnames": [ + "UserStatusActive", + "UserStatusDormant", + "UserStatusSuspended" + ] + }, + "codersdk.UserStatusChangeCount": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "example": 10 + }, + "date": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.ValidateUserPasswordRequest": { + "type": "object", + "required": [ + "password" + ], + "properties": { + "password": { + "type": "string" + } + } + }, + "codersdk.ValidateUserPasswordResponse": { + "type": "object", + "properties": { + "details": { + "type": "string" + }, + "valid": { + "type": "boolean" + } + } + }, + "codersdk.ValidationError": { + "type": "object", + "required": [ + "detail", + "field" + ], + "properties": { + "detail": { + "type": "string" + }, + "field": { + "type": "string" + } + } + }, + "codersdk.ValidationMonotonicOrder": { + "type": "string", + "enum": [ + "increasing", + "decreasing" + ], + "x-enum-varnames": [ + "MonotonicOrderIncreasing", + "MonotonicOrderDecreasing" + ] + }, + "codersdk.VariableValue": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.WebpushSubscription": { + "type": "object", + "properties": { + "auth_key": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "p256dh_key": { + "type": "string" + } + } + }, + "codersdk.Workspace": { + "type": "object", + "properties": { + "allow_renames": { + "type": "boolean" + }, + "automatic_updates": { + "enum": [ + "always", + "never" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.AutomaticUpdates" + } + ] + }, + "autostart_schedule": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "deleting_at": { + "description": "DeletingAt indicates the time at which the workspace will be permanently deleted.\nA workspace is eligible for deletion if it is dormant (a non-nil dormant_at value)\nand a value has been specified for time_til_dormant_autodelete on its template.", + "type": "string", + "format": "date-time" + }, + "dormant_at": { + "description": "DormantAt being non-nil indicates a workspace that is dormant.\nA dormant workspace is no longer accessible must be activated.\nIt is subject to deletion if it breaches\nthe duration of the time_til_ field on its template.", + "type": "string", + "format": "date-time" + }, + "favorite": { + "type": "boolean" + }, + "health": { + "description": "Health shows the health of the workspace and information about\nwhat is causing an unhealthy status.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceHealth" + } + ] + }, + "id": { + "type": "string", + "format": "uuid" + }, + "is_prebuild": { + "description": "IsPrebuild indicates whether the workspace is a prebuilt workspace.\nPrebuilt workspaces are owned by the prebuilds system user and have specific behavior,\nsuch as being managed differently from regular workspaces.\nOnce a prebuilt workspace is claimed by a user, it transitions to a regular workspace,\nand IsPrebuild returns false.", + "type": "boolean" + }, + "last_used_at": { + "type": "string", + "format": "date-time" + }, + "latest_app_status": { + "$ref": "#/definitions/codersdk.WorkspaceAppStatus" + }, + "latest_build": { + "$ref": "#/definitions/codersdk.WorkspaceBuild" + }, + "name": { + "type": "string" + }, + "next_start_at": { + "type": "string", + "format": "date-time" + }, + "organization_id": { + "type": "string", + "format": "uuid" + }, + "organization_name": { + "type": "string" + }, + "outdated": { + "type": "boolean" + }, + "owner_avatar_url": { + "type": "string" + }, + "owner_id": { + "type": "string", + "format": "uuid" + }, + "owner_name": { + "description": "OwnerName is the username of the owner of the workspace.", + "type": "string" + }, + "template_active_version_id": { + "type": "string", + "format": "uuid" + }, + "template_allow_user_cancel_workspace_jobs": { + "type": "boolean" + }, + "template_display_name": { + "type": "string" + }, + "template_icon": { + "type": "string" + }, + "template_id": { + "type": "string", + "format": "uuid" + }, + "template_name": { + "type": "string" + }, + "template_require_active_version": { + "type": "boolean" + }, + "template_use_classic_parameter_flow": { + "type": "boolean" + }, + "ttl_ms": { + "type": "integer" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + } + }, + "codersdk.WorkspaceAgent": { + "type": "object", + "properties": { + "api_version": { + "type": "string" + }, + "apps": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceApp" + } + }, + "architecture": { + "type": "string" + }, + "connection_timeout_seconds": { + "type": "integer" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "directory": { + "type": "string" + }, + "disconnected_at": { + "type": "string", + "format": "date-time" + }, + "display_apps": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.DisplayApp" + } + }, + "environment_variables": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "expanded_directory": { + "type": "string" + }, + "first_connected_at": { + "type": "string", + "format": "date-time" + }, + "health": { + "description": "Health reports the health of the agent.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentHealth" + } + ] + }, + "id": { + "type": "string", + "format": "uuid" + }, + "instance_id": { + "type": "string" + }, + "last_connected_at": { + "type": "string", + "format": "date-time" + }, + "latency": { + "description": "DERPLatency is mapped by region name (e.g. \"New York City\", \"Seattle\").", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/codersdk.DERPRegion" + } + }, + "lifecycle_state": { + "$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle" + }, + "log_sources": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentLogSource" + } + }, + "logs_length": { + "type": "integer" + }, + "logs_overflowed": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "operating_system": { + "type": "string" + }, + "parent_id": { + "format": "uuid", + "allOf": [ + { + "$ref": "#/definitions/uuid.NullUUID" + } + ] + }, + "ready_at": { + "type": "string", + "format": "date-time" + }, + "resource_id": { + "type": "string", + "format": "uuid" + }, + "scripts": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentScript" + } + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "startup_script_behavior": { + "description": "StartupScriptBehavior is a legacy field that is deprecated in favor\nof the `coder_script` resource. It's only referenced by old clients.\nDeprecated: Remove in the future!", + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentStartupScriptBehavior" + } + ] + }, + "status": { + "$ref": "#/definitions/codersdk.WorkspaceAgentStatus" + }, + "subsystems": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.AgentSubsystem" + } + }, + "troubleshooting_url": { + "type": "string" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "version": { + "type": "string" + } + } + }, + "codersdk.WorkspaceAgentContainer": { + "type": "object", + "properties": { + "created_at": { + "description": "CreatedAt is the time the container was created.", + "type": "string", + "format": "date-time" + }, + "id": { + "description": "ID is the unique identifier of the container.", + "type": "string" + }, + "image": { + "description": "Image is the name of the container image.", + "type": "string" + }, + "labels": { + "description": "Labels is a map of key-value pairs of container labels.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "FriendlyName is the human-readable name of the container.", + "type": "string" + }, + "ports": { + "description": "Ports includes ports exposed by the container.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentContainerPort" + } + }, + "running": { + "description": "Running is true if the container is currently running.", + "type": "boolean" + }, + "status": { + "description": "Status is the current status of the container. This is somewhat\nimplementation-dependent, but should generally be a human-readable\nstring.", + "type": "string" + }, + "volumes": { + "description": "Volumes is a map of \"things\" mounted into the container. Again, this\nis somewhat implementation-dependent.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "codersdk.WorkspaceAgentContainerPort": { + "type": "object", + "properties": { + "host_ip": { + "description": "HostIP is the IP address of the host interface to which the port is\nbound. Note that this can be an IPv4 or IPv6 address.", + "type": "string" + }, + "host_port": { + "description": "HostPort is the port number *outside* the container.", + "type": "integer" + }, + "network": { + "description": "Network is the network protocol used by the port (tcp, udp, etc).", + "type": "string" + }, + "port": { + "description": "Port is the port number *inside* the container.", + "type": "integer" + } + } + }, + "codersdk.WorkspaceAgentDevcontainer": { + "type": "object", + "properties": { + "agent": { + "$ref": "#/definitions/codersdk.WorkspaceAgentDevcontainerAgent" + }, + "config_path": { + "type": "string" + }, + "container": { + "$ref": "#/definitions/codersdk.WorkspaceAgentContainer" + }, + "dirty": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + }, + "status": { + "description": "Additional runtime fields.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentDevcontainerStatus" + } + ] + }, + "workspace_folder": { + "type": "string" + } + } + }, + "codersdk.WorkspaceAgentDevcontainerAgent": { + "type": "object", + "properties": { + "directory": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + } + } + }, + "codersdk.WorkspaceAgentDevcontainerStatus": { + "type": "string", + "enum": [ + "running", + "stopped", + "starting", + "error" + ], + "x-enum-varnames": [ + "WorkspaceAgentDevcontainerStatusRunning", + "WorkspaceAgentDevcontainerStatusStopped", + "WorkspaceAgentDevcontainerStatusStarting", + "WorkspaceAgentDevcontainerStatusError" + ] + }, + "codersdk.WorkspaceAgentHealth": { + "type": "object", + "properties": { + "healthy": { + "description": "Healthy is true if the agent is healthy.", + "type": "boolean", + "example": false + }, + "reason": { + "description": "Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.", + "type": "string", + "example": "agent has lost connection" + } + } + }, + "codersdk.WorkspaceAgentLifecycle": { + "type": "string", + "enum": [ + "created", + "starting", + "start_timeout", + "start_error", + "ready", + "shutting_down", + "shutdown_timeout", + "shutdown_error", + "off" + ], + "x-enum-varnames": [ + "WorkspaceAgentLifecycleCreated", + "WorkspaceAgentLifecycleStarting", + "WorkspaceAgentLifecycleStartTimeout", + "WorkspaceAgentLifecycleStartError", + "WorkspaceAgentLifecycleReady", + "WorkspaceAgentLifecycleShuttingDown", + "WorkspaceAgentLifecycleShutdownTimeout", + "WorkspaceAgentLifecycleShutdownError", + "WorkspaceAgentLifecycleOff" + ] + }, + "codersdk.WorkspaceAgentListContainersResponse": { + "type": "object", + "properties": { + "containers": { + "description": "Containers is a list of containers visible to the workspace agent.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentContainer" + } + }, + "devcontainers": { + "description": "Devcontainers is a list of devcontainers visible to the workspace agent.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentDevcontainer" + } + }, + "warnings": { + "description": "Warnings is a list of warnings that may have occurred during the\nprocess of listing containers. This should not include fatal errors.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "codersdk.WorkspaceAgentListeningPort": { + "type": "object", + "properties": { + "network": { + "description": "only \"tcp\" at the moment", + "type": "string" + }, + "port": { + "type": "integer" + }, + "process_name": { + "description": "may be empty", + "type": "string" + } + } + }, + "codersdk.WorkspaceAgentListeningPortsResponse": { + "type": "object", + "properties": { + "ports": { + "description": "If there are no ports in the list, nothing should be displayed in the UI.\nThere must not be a \"no ports available\" message or anything similar, as\nthere will always be no ports displayed on platforms where our port\ndetection logic is unsupported.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentListeningPort" + } + } + } + }, + "codersdk.WorkspaceAgentLog": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "integer" + }, + "level": { + "$ref": "#/definitions/codersdk.LogLevel" + }, + "output": { + "type": "string" + }, + "source_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.WorkspaceAgentLogSource": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "display_name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "workspace_agent_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.WorkspaceAgentPortShare": { + "type": "object", + "properties": { + "agent_name": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "protocol": { + "enum": [ + "http", + "https" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareProtocol" + } + ] + }, + "share_level": { + "enum": [ + "owner", + "authenticated", + "organization", + "public" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShareLevel" + } + ] + }, + "workspace_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.WorkspaceAgentPortShareLevel": { + "type": "string", + "enum": [ + "owner", + "authenticated", + "organization", + "public" + ], + "x-enum-varnames": [ + "WorkspaceAgentPortShareLevelOwner", + "WorkspaceAgentPortShareLevelAuthenticated", + "WorkspaceAgentPortShareLevelOrganization", + "WorkspaceAgentPortShareLevelPublic" + ] + }, + "codersdk.WorkspaceAgentPortShareProtocol": { + "type": "string", + "enum": [ + "http", + "https" + ], + "x-enum-varnames": [ + "WorkspaceAgentPortShareProtocolHTTP", + "WorkspaceAgentPortShareProtocolHTTPS" + ] + }, + "codersdk.WorkspaceAgentPortShares": { + "type": "object", + "properties": { + "shares": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgentPortShare" + } + } + } + }, + "codersdk.WorkspaceAgentScript": { + "type": "object", + "properties": { + "cron": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "log_path": { + "type": "string" + }, + "log_source_id": { + "type": "string", + "format": "uuid" + }, + "run_on_start": { + "type": "boolean" + }, + "run_on_stop": { + "type": "boolean" + }, + "script": { + "type": "string" + }, + "start_blocks_login": { + "type": "boolean" + }, + "timeout": { + "type": "integer" + } + } + }, + "codersdk.WorkspaceAgentStartupScriptBehavior": { + "type": "string", + "enum": [ + "blocking", + "non-blocking" + ], + "x-enum-varnames": [ + "WorkspaceAgentStartupScriptBehaviorBlocking", + "WorkspaceAgentStartupScriptBehaviorNonBlocking" + ] + }, + "codersdk.WorkspaceAgentStatus": { + "type": "string", + "enum": [ + "connecting", + "connected", + "disconnected", + "timeout" + ], + "x-enum-varnames": [ + "WorkspaceAgentConnecting", + "WorkspaceAgentConnected", + "WorkspaceAgentDisconnected", + "WorkspaceAgentTimeout" + ] + }, + "codersdk.WorkspaceApp": { + "type": "object", + "properties": { + "command": { + "type": "string" + }, + "display_name": { + "description": "DisplayName is a friendly name for the app.", + "type": "string" + }, + "external": { + "description": "External specifies whether the URL should be opened externally on\nthe client or not.", + "type": "boolean" + }, + "group": { + "type": "string" + }, + "health": { + "$ref": "#/definitions/codersdk.WorkspaceAppHealth" + }, + "healthcheck": { + "description": "Healthcheck specifies the configuration for checking app health.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.Healthcheck" + } + ] + }, + "hidden": { + "type": "boolean" + }, + "icon": { + "description": "Icon is a relative path or external URL that specifies\nan icon to be displayed in the dashboard.", + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "open_in": { + "$ref": "#/definitions/codersdk.WorkspaceAppOpenIn" + }, + "sharing_level": { + "enum": [ + "owner", + "authenticated", + "organization", + "public" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceAppSharingLevel" + } + ] + }, + "slug": { + "description": "Slug is a unique identifier within the agent.", + "type": "string" + }, + "statuses": { + "description": "Statuses is a list of statuses for the app.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAppStatus" + } + }, + "subdomain": { + "description": "Subdomain denotes whether the app should be accessed via a path on the\n`coder server` or via a hostname-based dev URL. If this is set to true\nand there is no app wildcard configured on the server, the app will not\nbe accessible in the UI.", + "type": "boolean" + }, + "subdomain_name": { + "description": "SubdomainName is the application domain exposed on the `coder server`.", + "type": "string" + }, + "url": { + "description": "URL is the address being proxied to inside the workspace.\nIf external is specified, this will be opened on the client.", + "type": "string" + } + } + }, + "codersdk.WorkspaceAppHealth": { + "type": "string", + "enum": [ + "disabled", + "initializing", + "healthy", + "unhealthy" + ], + "x-enum-varnames": [ + "WorkspaceAppHealthDisabled", + "WorkspaceAppHealthInitializing", + "WorkspaceAppHealthHealthy", + "WorkspaceAppHealthUnhealthy" + ] + }, + "codersdk.WorkspaceAppOpenIn": { + "type": "string", + "enum": [ + "slim-window", + "tab" + ], + "x-enum-varnames": [ + "WorkspaceAppOpenInSlimWindow", + "WorkspaceAppOpenInTab" + ] + }, + "codersdk.WorkspaceAppSharingLevel": { + "type": "string", + "enum": [ + "owner", + "authenticated", + "organization", + "public" + ], + "x-enum-varnames": [ + "WorkspaceAppSharingLevelOwner", + "WorkspaceAppSharingLevelAuthenticated", + "WorkspaceAppSharingLevelOrganization", + "WorkspaceAppSharingLevelPublic" + ] + }, + "codersdk.WorkspaceAppStatus": { + "type": "object", + "properties": { + "agent_id": { + "type": "string", + "format": "uuid" + }, + "app_id": { + "type": "string", + "format": "uuid" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "icon": { + "description": "Deprecated: This field is unused and will be removed in a future version.\nIcon is an external URL to an icon that will be rendered in the UI.", + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "message": { + "type": "string" + }, + "needs_user_attention": { + "description": "Deprecated: This field is unused and will be removed in a future version.\nNeedsUserAttention specifies whether the status needs user attention.", + "type": "boolean" + }, + "state": { + "$ref": "#/definitions/codersdk.WorkspaceAppStatusState" + }, + "uri": { + "description": "URI is the URI of the resource that the status is for.\ne.g. https://github.com/org/repo/pull/123\ne.g. file:///path/to/file", + "type": "string" + }, + "workspace_id": { + "type": "string", + "format": "uuid" + } + } + }, + "codersdk.WorkspaceAppStatusState": { + "type": "string", + "enum": [ + "working", + "idle", + "complete", + "failure" + ], + "x-enum-varnames": [ + "WorkspaceAppStatusStateWorking", + "WorkspaceAppStatusStateIdle", + "WorkspaceAppStatusStateComplete", + "WorkspaceAppStatusStateFailure" + ] + }, + "codersdk.WorkspaceBuild": { + "type": "object", + "properties": { + "ai_task_sidebar_app_id": { + "type": "string", + "format": "uuid" + }, + "build_number": { + "type": "integer" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "daily_cost": { + "type": "integer" + }, + "deadline": { + "type": "string", + "format": "date-time" + }, + "has_ai_task": { + "type": "boolean" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "initiator_id": { + "type": "string", + "format": "uuid" + }, + "initiator_name": { + "type": "string" + }, + "job": { + "$ref": "#/definitions/codersdk.ProvisionerJob" + }, + "matched_provisioners": { + "$ref": "#/definitions/codersdk.MatchedProvisioners" + }, + "max_deadline": { + "type": "string", + "format": "date-time" + }, + "reason": { + "enum": [ + "initiator", + "autostart", + "autostop" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.BuildReason" + } + ] + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceResource" + } + }, + "status": { + "enum": [ + "pending", + "starting", + "running", + "stopping", + "stopped", + "failed", + "canceling", + "canceled", + "deleting", + "deleted" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceStatus" + } + ] + }, + "template_version_id": { + "type": "string", + "format": "uuid" + }, + "template_version_name": { + "type": "string" + }, + "template_version_preset_id": { + "type": "string", + "format": "uuid" + }, + "transition": { + "enum": [ + "start", + "stop", + "delete" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceTransition" + } + ] + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "workspace_id": { + "type": "string", + "format": "uuid" + }, + "workspace_name": { + "type": "string" + }, + "workspace_owner_avatar_url": { + "type": "string" + }, + "workspace_owner_id": { + "type": "string", + "format": "uuid" + }, + "workspace_owner_name": { + "description": "WorkspaceOwnerName is the username of the owner of the workspace.", + "type": "string" + } + } + }, + "codersdk.WorkspaceBuildParameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.WorkspaceBuildTimings": { + "type": "object", + "properties": { + "agent_connection_timings": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.AgentConnectionTiming" + } + }, + "agent_script_timings": { + "description": "TODO: Consolidate agent-related timing metrics into a single struct when\nupdating the API version", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.AgentScriptTiming" + } + }, + "provisioner_timings": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ProvisionerTiming" + } + } + } + }, + "codersdk.WorkspaceConnectionLatencyMS": { + "type": "object", + "properties": { + "p50": { + "type": "number" + }, + "p95": { + "type": "number" + } + } + }, + "codersdk.WorkspaceDeploymentStats": { + "type": "object", + "properties": { + "building": { + "type": "integer" + }, + "connection_latency_ms": { + "$ref": "#/definitions/codersdk.WorkspaceConnectionLatencyMS" + }, + "failed": { + "type": "integer" + }, + "pending": { + "type": "integer" + }, + "running": { + "type": "integer" + }, + "rx_bytes": { + "type": "integer" + }, + "stopped": { + "type": "integer" + }, + "tx_bytes": { + "type": "integer" + } + } + }, + "codersdk.WorkspaceHealth": { + "type": "object", + "properties": { + "failing_agents": { + "description": "FailingAgents lists the IDs of the agents that are failing, if any.", + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "healthy": { + "description": "Healthy is true if the workspace is healthy.", + "type": "boolean", + "example": false + } + } + }, + "codersdk.WorkspaceProxy": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "deleted": { + "type": "boolean" + }, + "derp_enabled": { + "type": "boolean" + }, + "derp_only": { + "type": "boolean" + }, + "display_name": { + "type": "string" + }, + "healthy": { + "type": "boolean" + }, + "icon_url": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + }, + "path_app_url": { + "description": "PathAppURL is the URL to the base path for path apps. Optional\nunless wildcard_hostname is set.\nE.g. https://us.example.com", + "type": "string" + }, + "status": { + "description": "Status is the latest status check of the proxy. This will be empty for deleted\nproxies. This value can be used to determine if a workspace proxy is healthy\nand ready to use.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceProxyStatus" + } + ] + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "version": { + "type": "string" + }, + "wildcard_hostname": { + "description": "WildcardHostname is the wildcard hostname for subdomain apps.\nE.g. *.us.example.com\nE.g. *--suffix.au.example.com\nOptional. Does not need to be on the same domain as PathAppURL.", + "type": "string" + } + } + }, + "codersdk.WorkspaceProxyStatus": { + "type": "object", + "properties": { + "checked_at": { + "type": "string", + "format": "date-time" + }, + "report": { + "description": "Report provides more information about the health of the workspace proxy.", + "allOf": [ + { + "$ref": "#/definitions/codersdk.ProxyHealthReport" + } + ] + }, + "status": { + "$ref": "#/definitions/codersdk.ProxyHealthStatus" + } + } + }, + "codersdk.WorkspaceQuota": { + "type": "object", + "properties": { + "budget": { + "type": "integer" + }, + "credits_consumed": { + "type": "integer" + } + } + }, + "codersdk.WorkspaceResource": { + "type": "object", + "properties": { + "agents": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceAgent" + } + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "daily_cost": { + "type": "integer" + }, + "hide": { + "type": "boolean" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "job_id": { + "type": "string", + "format": "uuid" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.WorkspaceResourceMetadata" + } + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "workspace_transition": { + "enum": [ + "start", + "stop", + "delete" + ], + "allOf": [ + { + "$ref": "#/definitions/codersdk.WorkspaceTransition" + } + ] + } + } + }, + "codersdk.WorkspaceResourceMetadata": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "sensitive": { + "type": "boolean" + }, + "value": { + "type": "string" + } + } + }, + "codersdk.WorkspaceStatus": { + "type": "string", + "enum": [ + "pending", + "starting", + "running", + "stopping", + "stopped", + "failed", + "canceling", + "canceled", + "deleting", + "deleted" + ], + "x-enum-varnames": [ + "WorkspaceStatusPending", + "WorkspaceStatusStarting", + "WorkspaceStatusRunning", + "WorkspaceStatusStopping", + "WorkspaceStatusStopped", + "WorkspaceStatusFailed", + "WorkspaceStatusCanceling", + "WorkspaceStatusCanceled", + "WorkspaceStatusDeleting", + "WorkspaceStatusDeleted" + ] + }, + "codersdk.WorkspaceTransition": { + "type": "string", + "enum": [ + "start", + "stop", + "delete" + ], + "x-enum-varnames": [ + "WorkspaceTransitionStart", + "WorkspaceTransitionStop", + "WorkspaceTransitionDelete" + ] + }, + "codersdk.WorkspacesResponse": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "workspaces": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Workspace" + } + } + } + }, + "derp.BytesSentRecv": { + "type": "object", + "properties": { + "key": { + "description": "Key is the public key of the client which sent/received these bytes.", + "allOf": [ + { + "$ref": "#/definitions/key.NodePublic" + } + ] + }, + "recv": { + "type": "integer" + }, + "sent": { + "type": "integer" + } + } + }, + "derp.ServerInfoMessage": { + "type": "object", + "properties": { + "tokenBucketBytesBurst": { + "description": "TokenBucketBytesBurst is how many bytes the server will\nallow to burst, temporarily violating\nTokenBucketBytesPerSecond.\n\nZero means unspecified. There might be a limit, but the\nclient need not try to respect it.", + "type": "integer" + }, + "tokenBucketBytesPerSecond": { + "description": "TokenBucketBytesPerSecond is how many bytes per second the\nserver says it will accept, including all framing bytes.\n\nZero means unspecified. There might be a limit, but the\nclient need not try to respect it.", + "type": "integer" + } + } + }, + "health.Code": { + "type": "string", + "enum": [ + "EUNKNOWN", + "EWP01", + "EWP02", + "EWP04", + "EDB01", + "EDB02", + "EWS01", + "EWS02", + "EWS03", + "EACS01", + "EACS02", + "EACS03", + "EACS04", + "EDERP01", + "EDERP02", + "EPD01", + "EPD02", + "EPD03" + ], + "x-enum-varnames": [ + "CodeUnknown", + "CodeProxyUpdate", + "CodeProxyFetch", + "CodeProxyUnhealthy", + "CodeDatabasePingFailed", + "CodeDatabasePingSlow", + "CodeWebsocketDial", + "CodeWebsocketEcho", + "CodeWebsocketMsg", + "CodeAccessURLNotSet", + "CodeAccessURLInvalid", + "CodeAccessURLFetch", + "CodeAccessURLNotOK", + "CodeDERPNodeUsesWebsocket", + "CodeDERPOneNodeUnhealthy", + "CodeProvisionerDaemonsNoProvisionerDaemons", + "CodeProvisionerDaemonVersionMismatch", + "CodeProvisionerDaemonAPIMajorVersionDeprecated" + ] + }, + "health.Message": { + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/health.Code" + }, + "message": { + "type": "string" + } + } + }, + "health.Severity": { + "type": "string", + "enum": [ + "ok", + "warning", + "error" + ], + "x-enum-varnames": [ + "SeverityOK", + "SeverityWarning", + "SeverityError" + ] + }, + "healthsdk.AccessURLReport": { + "type": "object", + "properties": { + "access_url": { + "type": "string" + }, + "dismissed": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "healthz_response": { + "type": "string" + }, + "reachable": { + "type": "boolean" + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "status_code": { + "type": "integer" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.DERPHealthReport": { + "type": "object", + "properties": { + "dismissed": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "netcheck": { + "$ref": "#/definitions/netcheck.Report" + }, + "netcheck_err": { + "type": "string" + }, + "netcheck_logs": { + "type": "array", + "items": { + "type": "string" + } + }, + "regions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/healthsdk.DERPRegionReport" + } + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.DERPNodeReport": { + "type": "object", + "properties": { + "can_exchange_messages": { + "type": "boolean" + }, + "client_errs": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "client_logs": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "node": { + "$ref": "#/definitions/tailcfg.DERPNode" + }, + "node_info": { + "$ref": "#/definitions/derp.ServerInfoMessage" + }, + "round_trip_ping": { + "type": "string" + }, + "round_trip_ping_ms": { + "type": "integer" + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "stun": { + "$ref": "#/definitions/healthsdk.STUNReport" + }, + "uses_websocket": { + "type": "boolean" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.DERPRegionReport": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "node_reports": { + "type": "array", + "items": { + "$ref": "#/definitions/healthsdk.DERPNodeReport" + } + }, + "region": { + "$ref": "#/definitions/tailcfg.DERPRegion" + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.DatabaseReport": { + "type": "object", + "properties": { + "dismissed": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "latency": { + "type": "string" + }, + "latency_ms": { + "type": "integer" + }, + "reachable": { + "type": "boolean" + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "threshold_ms": { + "type": "integer" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.HealthSection": { + "type": "string", + "enum": [ + "DERP", + "AccessURL", + "Websocket", + "Database", + "WorkspaceProxy", + "ProvisionerDaemons" + ], + "x-enum-varnames": [ + "HealthSectionDERP", + "HealthSectionAccessURL", + "HealthSectionWebsocket", + "HealthSectionDatabase", + "HealthSectionWorkspaceProxy", + "HealthSectionProvisionerDaemons" + ] + }, + "healthsdk.HealthSettings": { + "type": "object", + "properties": { + "dismissed_healthchecks": { + "type": "array", + "items": { + "$ref": "#/definitions/healthsdk.HealthSection" + } + } + } + }, + "healthsdk.HealthcheckReport": { + "type": "object", + "properties": { + "access_url": { + "$ref": "#/definitions/healthsdk.AccessURLReport" + }, + "coder_version": { + "description": "The Coder version of the server that the report was generated on.", + "type": "string" + }, + "database": { + "$ref": "#/definitions/healthsdk.DatabaseReport" + }, + "derp": { + "$ref": "#/definitions/healthsdk.DERPHealthReport" + }, + "healthy": { + "description": "Healthy is true if the report returns no errors.\nDeprecated: use `Severity` instead", + "type": "boolean" + }, + "provisioner_daemons": { + "$ref": "#/definitions/healthsdk.ProvisionerDaemonsReport" + }, + "severity": { + "description": "Severity indicates the status of Coder health.", + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "time": { + "description": "Time is the time the report was generated at.", + "type": "string", + "format": "date-time" + }, + "websocket": { + "$ref": "#/definitions/healthsdk.WebsocketReport" + }, + "workspace_proxy": { + "$ref": "#/definitions/healthsdk.WorkspaceProxyReport" + } + } + }, + "healthsdk.ProvisionerDaemonsReport": { + "type": "object", + "properties": { + "dismissed": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/healthsdk.ProvisionerDaemonsReportItem" + } + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.ProvisionerDaemonsReportItem": { + "type": "object", + "properties": { + "provisioner_daemon": { + "$ref": "#/definitions/codersdk.ProvisionerDaemon" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.STUNReport": { + "type": "object", + "properties": { + "canSTUN": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + }, + "error": { + "type": "string" + } + } + }, + "healthsdk.UpdateHealthSettings": { + "type": "object", + "properties": { + "dismissed_healthchecks": { + "type": "array", + "items": { + "$ref": "#/definitions/healthsdk.HealthSection" + } + } + } + }, + "healthsdk.WebsocketReport": { + "type": "object", + "properties": { + "body": { + "type": "string" + }, + "code": { + "type": "integer" + }, + "dismissed": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + } + } + }, + "healthsdk.WorkspaceProxyReport": { + "type": "object", + "properties": { + "dismissed": { + "type": "boolean" + }, + "error": { + "type": "string" + }, + "healthy": { + "description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.", + "type": "boolean" + }, + "severity": { + "enum": [ + "ok", + "warning", + "error" + ], + "allOf": [ + { + "$ref": "#/definitions/health.Severity" + } + ] + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/definitions/health.Message" + } + }, + "workspace_proxies": { + "$ref": "#/definitions/codersdk.RegionsResponse-codersdk_WorkspaceProxy" + } + } + }, + "key.NodePublic": { + "type": "object" + }, + "netcheck.Report": { + "type": "object", + "properties": { + "captivePortal": { + "description": "CaptivePortal is set when we think there's a captive portal that is\nintercepting HTTP traffic.", + "type": "string" + }, + "globalV4": { + "description": "ip:port of global IPv4", + "type": "string" + }, + "globalV6": { + "description": "[ip]:port of global IPv6", + "type": "string" + }, + "hairPinning": { + "description": "HairPinning is whether the router supports communicating\nbetween two local devices through the NATted public IP address\n(on IPv4).", + "type": "string" + }, + "icmpv4": { + "description": "an ICMPv4 round trip completed", + "type": "boolean" + }, + "ipv4": { + "description": "an IPv4 STUN round trip completed", + "type": "boolean" + }, + "ipv4CanSend": { + "description": "an IPv4 packet was able to be sent", + "type": "boolean" + }, + "ipv6": { + "description": "an IPv6 STUN round trip completed", + "type": "boolean" + }, + "ipv6CanSend": { + "description": "an IPv6 packet was able to be sent", + "type": "boolean" + }, + "mappingVariesByDestIP": { + "description": "MappingVariesByDestIP is whether STUN results depend which\nSTUN server you're talking to (on IPv4).", + "type": "string" + }, + "oshasIPv6": { + "description": "could bind a socket to ::1", + "type": "boolean" + }, + "pcp": { + "description": "PCP is whether PCP appears present on the LAN.\nEmpty means not checked.", + "type": "string" + }, + "pmp": { + "description": "PMP is whether NAT-PMP appears present on the LAN.\nEmpty means not checked.", + "type": "string" + }, + "preferredDERP": { + "description": "or 0 for unknown", + "type": "integer" + }, + "regionLatency": { + "description": "keyed by DERP Region ID", + "type": "object", + "additionalProperties": { + "type": "integer" + } + }, + "regionV4Latency": { + "description": "keyed by DERP Region ID", + "type": "object", + "additionalProperties": { + "type": "integer" + } + }, + "regionV6Latency": { + "description": "keyed by DERP Region ID", + "type": "object", + "additionalProperties": { + "type": "integer" + } + }, + "udp": { + "description": "a UDP STUN round trip completed", + "type": "boolean" + }, + "upnP": { + "description": "UPnP is whether UPnP appears present on the LAN.\nEmpty means not checked.", + "type": "string" + } + } + }, + "oauth2.Token": { + "type": "object", + "properties": { + "access_token": { + "description": "AccessToken is the token that authorizes and authenticates\nthe requests.", + "type": "string" + }, + "expires_in": { + "description": "ExpiresIn is the OAuth2 wire format \"expires_in\" field,\nwhich specifies how many seconds later the token expires,\nrelative to an unknown time base approximately around \"now\".\nIt is the application's responsibility to populate\n`Expiry` from `ExpiresIn` when required.", + "type": "integer" + }, + "expiry": { + "description": "Expiry is the optional expiration time of the access token.\n\nIf zero, [TokenSource] implementations will reuse the same\ntoken forever and RefreshToken or equivalent\nmechanisms for that TokenSource will not be used.", + "type": "string" + }, + "refresh_token": { + "description": "RefreshToken is a token that's used by the application\n(as opposed to the user) to refresh the access token\nif it expires.", + "type": "string" + }, + "token_type": { + "description": "TokenType is the type of token.\nThe Type method returns either this or \"Bearer\", the default.", + "type": "string" + } + } + }, + "regexp.Regexp": { + "type": "object" + }, + "serpent.Annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "serpent.Group": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "parent": { + "$ref": "#/definitions/serpent.Group" + }, + "yaml": { + "type": "string" + } + } + }, + "serpent.HostPort": { + "type": "object", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "string" + } + } + }, + "serpent.Option": { + "type": "object", + "properties": { + "annotations": { + "description": "Annotations enable extensions to serpent higher up in the stack. It's useful for\nhelp formatting and documentation generation.", + "allOf": [ + { + "$ref": "#/definitions/serpent.Annotations" + } + ] + }, + "default": { + "description": "Default is parsed into Value if set.", + "type": "string" + }, + "description": { + "type": "string" + }, + "env": { + "description": "Env is the environment variable used to configure this option. If unset,\nenvironment configuring is disabled.", + "type": "string" + }, + "flag": { + "description": "Flag is the long name of the flag used to configure this option. If unset,\nflag configuring is disabled.", + "type": "string" + }, + "flag_shorthand": { + "description": "FlagShorthand is the one-character shorthand for the flag. If unset, no\nshorthand is used.", + "type": "string" + }, + "group": { + "description": "Group is a group hierarchy that helps organize this option in help, configs\nand other documentation.", + "allOf": [ + { + "$ref": "#/definitions/serpent.Group" + } + ] + }, + "hidden": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "required": { + "description": "Required means this value must be set by some means. It requires\n`ValueSource != ValueSourceNone`\nIf `Default` is set, then `Required` is ignored.", + "type": "boolean" + }, + "use_instead": { + "description": "UseInstead is a list of options that should be used instead of this one.\nThe field is used to generate a deprecation warning.", + "type": "array", + "items": { + "$ref": "#/definitions/serpent.Option" + } + }, + "value": { + "description": "Value includes the types listed in values.go." + }, + "value_source": { + "$ref": "#/definitions/serpent.ValueSource" + }, + "yaml": { + "description": "YAML is the YAML key used to configure this option. If unset, YAML\nconfiguring is disabled.", + "type": "string" + } + } + }, + "serpent.Regexp": { + "type": "object" + }, + "serpent.Struct-array_codersdk_ExternalAuthConfig": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.ExternalAuthConfig" + } + } + } + }, + "serpent.Struct-array_codersdk_LinkConfig": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.LinkConfig" + } + } + } + }, + "serpent.URL": { + "type": "object", + "properties": { + "forceQuery": { + "description": "append a query ('?') even if RawQuery is empty", + "type": "boolean" + }, + "fragment": { + "description": "fragment for references, without '#'", + "type": "string" + }, + "host": { + "description": "host or host:port (see Hostname and Port methods)", + "type": "string" + }, + "omitHost": { + "description": "do not emit empty host (authority)", + "type": "boolean" + }, + "opaque": { + "description": "encoded opaque data", + "type": "string" + }, + "path": { + "description": "path (relative paths may omit leading slash)", + "type": "string" + }, + "rawFragment": { + "description": "encoded fragment hint (see EscapedFragment method)", + "type": "string" + }, + "rawPath": { + "description": "encoded path hint (see EscapedPath method)", + "type": "string" + }, + "rawQuery": { + "description": "encoded query values, without '?'", + "type": "string" + }, + "scheme": { + "type": "string" + }, + "user": { + "description": "username and password information", + "allOf": [ + { + "$ref": "#/definitions/url.Userinfo" + } + ] + } + } + }, + "serpent.ValueSource": { + "type": "string", + "enum": [ + "", + "flag", + "env", + "yaml", + "default" + ], + "x-enum-varnames": [ + "ValueSourceNone", + "ValueSourceFlag", + "ValueSourceEnv", + "ValueSourceYAML", + "ValueSourceDefault" + ] + }, + "tailcfg.DERPHomeParams": { + "type": "object", + "properties": { + "regionScore": { + "description": "RegionScore scales latencies of DERP regions by a given scaling\nfactor when determining which region to use as the home\n(\"preferred\") DERP. Scores in the range (0, 1) will cause this\nregion to be proportionally more preferred, and scores in the range\n(1, ∞) will penalize a region.\n\nIf a region is not present in this map, it is treated as having a\nscore of 1.0.\n\nScores should not be 0 or negative; such scores will be ignored.\n\nA nil map means no change from the previous value (if any); an empty\nnon-nil map can be sent to reset all scores back to 1.0.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + } + }, + "tailcfg.DERPMap": { + "type": "object", + "properties": { + "homeParams": { + "description": "HomeParams, if non-nil, is a change in home parameters.\n\nThe rest of the DEPRMap fields, if zero, means unchanged.", + "allOf": [ + { + "$ref": "#/definitions/tailcfg.DERPHomeParams" + } + ] + }, + "omitDefaultRegions": { + "description": "OmitDefaultRegions specifies to not use Tailscale's DERP servers, and only use those\nspecified in this DERPMap. If there are none set outside of the defaults, this is a noop.\n\nThis field is only meaningful if the Regions map is non-nil (indicating a change).", + "type": "boolean" + }, + "regions": { + "description": "Regions is the set of geographic regions running DERP node(s).\n\nIt's keyed by the DERPRegion.RegionID.\n\nThe numbers are not necessarily contiguous.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/tailcfg.DERPRegion" + } + } + } + }, + "tailcfg.DERPNode": { + "type": "object", + "properties": { + "canPort80": { + "description": "CanPort80 specifies whether this DERP node is accessible over HTTP\non port 80 specifically. This is used for captive portal checks.", + "type": "boolean" + }, + "certName": { + "description": "CertName optionally specifies the expected TLS cert common\nname. If empty, HostName is used. If CertName is non-empty,\nHostName is only used for the TCP dial (if IPv4/IPv6 are\nnot present) + TLS ClientHello.", + "type": "string" + }, + "derpport": { + "description": "DERPPort optionally provides an alternate TLS port number\nfor the DERP HTTPS server.\n\nIf zero, 443 is used.", + "type": "integer" + }, + "forceHTTP": { + "description": "ForceHTTP is used by unit tests to force HTTP.\nIt should not be set by users.", + "type": "boolean" + }, + "hostName": { + "description": "HostName is the DERP node's hostname.\n\nIt is required but need not be unique; multiple nodes may\nhave the same HostName but vary in configuration otherwise.", + "type": "string" + }, + "insecureForTests": { + "description": "InsecureForTests is used by unit tests to disable TLS verification.\nIt should not be set by users.", + "type": "boolean" + }, + "ipv4": { + "description": "IPv4 optionally forces an IPv4 address to use, instead of using DNS.\nIf empty, A record(s) from DNS lookups of HostName are used.\nIf the string is not an IPv4 address, IPv4 is not used; the\nconventional string to disable IPv4 (and not use DNS) is\n\"none\".", + "type": "string" + }, + "ipv6": { + "description": "IPv6 optionally forces an IPv6 address to use, instead of using DNS.\nIf empty, AAAA record(s) from DNS lookups of HostName are used.\nIf the string is not an IPv6 address, IPv6 is not used; the\nconventional string to disable IPv6 (and not use DNS) is\n\"none\".", + "type": "string" + }, + "name": { + "description": "Name is a unique node name (across all regions).\nIt is not a host name.\nIt's typically of the form \"1b\", \"2a\", \"3b\", etc. (region\nID + suffix within that region)", + "type": "string" + }, + "regionID": { + "description": "RegionID is the RegionID of the DERPRegion that this node\nis running in.", + "type": "integer" + }, + "stunonly": { + "description": "STUNOnly marks a node as only a STUN server and not a DERP\nserver.", + "type": "boolean" + }, + "stunport": { + "description": "Port optionally specifies a STUN port to use.\nZero means 3478.\nTo disable STUN on this node, use -1.", + "type": "integer" + }, + "stuntestIP": { + "description": "STUNTestIP is used in tests to override the STUN server's IP.\nIf empty, it's assumed to be the same as the DERP server.", + "type": "string" + } + } + }, + "tailcfg.DERPRegion": { + "type": "object", + "properties": { + "avoid": { + "description": "Avoid is whether the client should avoid picking this as its home\nregion. The region should only be used if a peer is there.\nClients already using this region as their home should migrate\naway to a new region without Avoid set.", + "type": "boolean" + }, + "embeddedRelay": { + "description": "EmbeddedRelay is true when the region is bundled with the Coder\ncontrol plane.", + "type": "boolean" + }, + "nodes": { + "description": "Nodes are the DERP nodes running in this region, in\npriority order for the current client. Client TLS\nconnections should ideally only go to the first entry\n(falling back to the second if necessary). STUN packets\nshould go to the first 1 or 2.\n\nIf nodes within a region route packets amongst themselves,\nbut not to other regions. That said, each user/domain\nshould get a the same preferred node order, so if all nodes\nfor a user/network pick the first one (as they should, when\nthings are healthy), the inter-cluster routing is minimal\nto zero.", + "type": "array", + "items": { + "$ref": "#/definitions/tailcfg.DERPNode" + } + }, + "regionCode": { + "description": "RegionCode is a short name for the region. It's usually a popular\ncity or airport code in the region: \"nyc\", \"sf\", \"sin\",\n\"fra\", etc.", + "type": "string" + }, + "regionID": { + "description": "RegionID is a unique integer for a geographic region.\n\nIt corresponds to the legacy derpN.tailscale.com hostnames\nused by older clients. (Older clients will continue to resolve\nderpN.tailscale.com when contacting peers, rather than use\nthe server-provided DERPMap)\n\nRegionIDs must be non-zero, positive, and guaranteed to fit\nin a JavaScript number.\n\nRegionIDs in range 900-999 are reserved for end users to run their\nown DERP nodes.", + "type": "integer" + }, + "regionName": { + "description": "RegionName is a long English name for the region: \"New York City\",\n\"San Francisco\", \"Singapore\", \"Frankfurt\", etc.", + "type": "string" + } + } + }, + "url.Userinfo": { + "type": "object" + }, + "uuid.NullUUID": { + "type": "object", + "properties": { + "uuid": { + "type": "string" + }, + "valid": { + "description": "Valid is true if UUID is not NULL", + "type": "boolean" + } + } + }, + "workspaceapps.AccessMethod": { + "type": "string", + "enum": [ + "path", + "subdomain", + "terminal" + ], + "x-enum-varnames": [ + "AccessMethodPath", + "AccessMethodSubdomain", + "AccessMethodTerminal" + ] + }, + "workspaceapps.IssueTokenRequest": { + "type": "object", + "properties": { + "app_hostname": { + "description": "AppHostname is the optional hostname for subdomain apps on the external\nproxy. It must start with an asterisk.", + "type": "string" + }, + "app_path": { + "description": "AppPath is the path of the user underneath the app base path.", + "type": "string" + }, + "app_query": { + "description": "AppQuery is the query parameters the user provided in the app request.", + "type": "string" + }, + "app_request": { + "$ref": "#/definitions/workspaceapps.Request" + }, + "path_app_base_url": { + "description": "PathAppBaseURL is required.", + "type": "string" + }, + "session_token": { + "description": "SessionToken is the session token provided by the user.", + "type": "string" + } + } + }, + "workspaceapps.Request": { + "type": "object", + "properties": { + "access_method": { + "$ref": "#/definitions/workspaceapps.AccessMethod" + }, + "agent_name_or_id": { + "description": "AgentNameOrID is not required if the workspace has only one agent.", + "type": "string" + }, + "app_prefix": { + "description": "Prefix is the prefix of the subdomain app URL. Prefix should have a\ntrailing \"---\" if set.", + "type": "string" + }, + "app_slug_or_port": { + "type": "string" + }, + "base_path": { + "description": "BasePath of the app. For path apps, this is the path prefix in the router\nfor this particular app. For subdomain apps, this should be \"/\". This is\nused for setting the cookie path.", + "type": "string" + }, + "username_or_id": { + "description": "For the following fields, if the AccessMethod is AccessMethodTerminal,\nthen only AgentNameOrID may be set and it must be a UUID. The other\nfields must be left blank.", + "type": "string" + }, + "workspace_name_or_id": { + "type": "string" + } + } + }, + "workspaceapps.StatsReport": { + "type": "object", + "properties": { + "access_method": { + "$ref": "#/definitions/workspaceapps.AccessMethod" + }, + "agent_id": { + "type": "string" + }, + "requests": { + "type": "integer" + }, + "session_ended_at": { + "description": "Updated periodically while app is in use active and when the last connection is closed.", + "type": "string" + }, + "session_id": { + "type": "string" + }, + "session_started_at": { + "type": "string" + }, + "slug_or_port": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "workspace_id": { + "type": "string" + } + } + }, + "workspacesdk.AgentConnectionInfo": { + "type": "object", + "properties": { + "derp_force_websockets": { + "type": "boolean" + }, + "derp_map": { + "$ref": "#/definitions/tailcfg.DERPMap" + }, + "disable_direct_connections": { + "type": "boolean" + }, + "hostname_suffix": { + "type": "string" + } + } + }, + "wsproxysdk.CryptoKeysResponse": { + "type": "object", + "properties": { + "crypto_keys": { + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.CryptoKey" + } + } + } + }, + "wsproxysdk.DeregisterWorkspaceProxyRequest": { + "type": "object", + "properties": { + "replica_id": { + "description": "ReplicaID is a unique identifier for the replica of the proxy that is\nderegistering. It should be generated by the client on startup and\nshould've already been passed to the register endpoint.", + "type": "string" + } + } + }, + "wsproxysdk.IssueSignedAppTokenResponse": { + "type": "object", + "properties": { + "signed_token_str": { + "description": "SignedTokenStr should be set as a cookie on the response.", + "type": "string" + } + } + }, + "wsproxysdk.RegisterWorkspaceProxyRequest": { + "type": "object", + "properties": { + "access_url": { + "description": "AccessURL that hits the workspace proxy api.", + "type": "string" + }, + "derp_enabled": { + "description": "DerpEnabled indicates whether the proxy should be included in the DERP\nmap or not.", + "type": "boolean" + }, + "derp_only": { + "description": "DerpOnly indicates whether the proxy should only be included in the DERP\nmap and should not be used for serving apps.", + "type": "boolean" + }, + "hostname": { + "description": "ReplicaHostname is the OS hostname of the machine that the proxy is running\non. This is only used for tracking purposes in the replicas table.", + "type": "string" + }, + "replica_error": { + "description": "ReplicaError is the error that the replica encountered when trying to\ndial it's peers. This is stored in the replicas table for debugging\npurposes but does not affect the proxy's ability to register.\n\nThis value is only stored on subsequent requests to the register\nendpoint, not the first request.", + "type": "string" + }, + "replica_id": { + "description": "ReplicaID is a unique identifier for the replica of the proxy that is\nregistering. It should be generated by the client on startup and\npersisted (in memory only) until the process is restarted.", + "type": "string" + }, + "replica_relay_address": { + "description": "ReplicaRelayAddress is the DERP address of the replica that other\nreplicas may use to connect internally for DERP meshing.", + "type": "string" + }, + "version": { + "description": "Version is the Coder version of the proxy.", + "type": "string" + }, + "wildcard_hostname": { + "description": "WildcardHostname that the workspace proxy api is serving for subdomain apps.", + "type": "string" + } + } + }, + "wsproxysdk.RegisterWorkspaceProxyResponse": { + "type": "object", + "properties": { + "derp_force_websockets": { + "type": "boolean" + }, + "derp_map": { + "$ref": "#/definitions/tailcfg.DERPMap" + }, + "derp_mesh_key": { + "type": "string" + }, + "derp_region_id": { + "type": "integer" + }, + "sibling_replicas": { + "description": "SiblingReplicas is a list of all other replicas of the proxy that have\nnot timed out.", + "type": "array", + "items": { + "$ref": "#/definitions/codersdk.Replica" + } + } + } + }, + "wsproxysdk.ReportAppStatsRequest": { + "type": "object", + "properties": { + "stats": { + "type": "array", + "items": { + "$ref": "#/definitions/workspaceapps.StatsReport" + } + } + } + } + }, + "securityDefinitions": { + "Authorization": { + "type": "apiKey", + "name": "Authorizaiton", + "in": "header" + }, + "CoderSessionToken": { + "type": "apiKey", + "name": "Coder-Session-Token", + "in": "header" + } + } +} \ No newline at end of file diff --git a/docs/reference/api/agents.md b/docs/reference/api/agents.md index 54e9b0e6ad628..31ae993c7b8d0 100644 --- a/docs/reference/api/agents.md +++ b/docs/reference/api/agents.md @@ -14,9 +14,9 @@ curl -X GET http://coder-server:8080/api/v2/derp-map \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------------------|---------------------|--------| -| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|101|[Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2)|Switching Protocols|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -34,9 +34,9 @@ curl -X GET http://coder-server:8080/api/v2/tailnet \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------------------|---------------------|--------| -| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|101|[Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2)|Switching Protocols|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -65,9 +65,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/aws-instance-identi ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------|----------|-------------------------| -| `body` | body | [agentsdk.AWSInstanceIdentityToken](schemas.md#agentsdkawsinstanceidentitytoken) | true | Instance identity token | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.AWSInstanceIdentityToken](schemas.md#agentsdkawsinstanceidentitytoken)|true|Instance identity token| ### Example responses @@ -81,9 +81,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/aws-instance-identi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -112,9 +112,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/azure-instance-iden ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------------------|----------|-------------------------| -| `body` | body | [agentsdk.AzureInstanceIdentityToken](schemas.md#agentsdkazureinstanceidentitytoken) | true | Instance identity token | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.AzureInstanceIdentityToken](schemas.md#agentsdkazureinstanceidentitytoken)|true|Instance identity token| ### Example responses @@ -128,9 +128,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/azure-instance-iden ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -158,9 +158,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/google-instance-ide ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------------|----------|-------------------------| -| `body` | body | [agentsdk.GoogleInstanceIdentityToken](schemas.md#agentsdkgoogleinstanceidentitytoken) | true | Instance identity token | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.GoogleInstanceIdentityToken](schemas.md#agentsdkgoogleinstanceidentitytoken)|true|Instance identity token| ### Example responses @@ -174,9 +174,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/google-instance-ide ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.AuthenticateResponse](schemas.md#agentsdkauthenticateresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -209,9 +209,9 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceagents/me/app-status \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------|----------|-------------| -| `body` | body | [agentsdk.PatchAppStatus](schemas.md#agentsdkpatchappstatus) | true | app status | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.PatchAppStatus](schemas.md#agentsdkpatchappstatus)|true|app status| ### Example responses @@ -232,9 +232,9 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceagents/me/app-status \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -253,11 +253,11 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/external-auth?mat ### Parameters -| Name | In | Type | Required | Description | -|----------|-------|---------|----------|-----------------------------------| -| `match` | query | string | true | Match | -| `id` | query | string | true | Provider ID | -| `listen` | query | boolean | false | Wait for a new token to be issued | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`match`|query|string|true|Match| +|`id`|query|string|true|Provider ID| +|`listen`|query|boolean|false|Wait for a new token to be issued| ### Example responses @@ -276,9 +276,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/external-auth?mat ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.ExternalAuthResponse](schemas.md#agentsdkexternalauthresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.ExternalAuthResponse](schemas.md#agentsdkexternalauthresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -297,11 +297,11 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitauth?match=str ### Parameters -| Name | In | Type | Required | Description | -|----------|-------|---------|----------|-----------------------------------| -| `match` | query | string | true | Match | -| `id` | query | string | true | Provider ID | -| `listen` | query | boolean | false | Wait for a new token to be issued | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`match`|query|string|true|Match| +|`id`|query|string|true|Provider ID| +|`listen`|query|boolean|false|Wait for a new token to be issued| ### Example responses @@ -320,9 +320,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitauth?match=str ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.ExternalAuthResponse](schemas.md#agentsdkexternalauthresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.ExternalAuthResponse](schemas.md#agentsdkexternalauthresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -352,9 +352,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/gitsshkey \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.GitSSHKey](schemas.md#agentsdkgitsshkey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.GitSSHKey](schemas.md#agentsdkgitsshkey)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -384,9 +384,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/me/log-source \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------|----------|--------------------| -| `body` | body | [agentsdk.PostLogSourceRequest](schemas.md#agentsdkpostlogsourcerequest) | true | Log source request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.PostLogSourceRequest](schemas.md#agentsdkpostlogsourcerequest)|true|Log source request| ### Example responses @@ -404,9 +404,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/me/log-source \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentLogSource](schemas.md#codersdkworkspaceagentlogsource) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgentLogSource](schemas.md#codersdkworkspaceagentlogsource)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -441,9 +441,9 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceagents/me/logs \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------|----------|-------------| -| `body` | body | [agentsdk.PatchLogs](schemas.md#agentsdkpatchlogs) | true | logs | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[agentsdk.PatchLogs](schemas.md#agentsdkpatchlogs)|true|logs| ### Example responses @@ -464,9 +464,9 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceagents/me/logs \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -496,9 +496,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/me/reinit \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [agentsdk.ReinitializationEvent](schemas.md#agentsdkreinitializationevent) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[agentsdk.ReinitializationEvent](schemas.md#agentsdkreinitializationevent)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -517,9 +517,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \ ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -644,9 +644,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgent](schemas.md#codersdkworkspaceagent) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgent](schemas.md#codersdkworkspaceagent)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -665,9 +665,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -742,9 +742,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [workspacesdk.AgentConnectionInfo](schemas.md#workspacesdkagentconnectioninfo) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[workspacesdk.AgentConnectionInfo](schemas.md#workspacesdkagentconnectioninfo)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -763,10 +763,10 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con ### Parameters -| Name | In | Type | Required | Description | -|------------------|-------|-------------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | -| `label` | query | string(key=value) | true | Labels | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| +|`label`|query|string(key=value)|true|Labels| ### Example responses @@ -848,9 +848,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentListContainersResponse](schemas.md#codersdkworkspaceagentlistcontainersresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgentListContainersResponse](schemas.md#codersdkworkspaceagentlistcontainersresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -869,10 +869,10 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/co ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | -| `devcontainer` | path | string | true | Devcontainer ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| +|`devcontainer`|path|string|true|Devcontainer ID| ### Example responses @@ -893,9 +893,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/co ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------------|-------------|--------------------------------------------------| -| 202 | [Accepted](https://tools.ietf.org/html/rfc7231#section-6.3.3) | Accepted | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|202|[Accepted](https://tools.ietf.org/html/rfc7231#section-6.3.3)|Accepted|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -914,9 +914,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -998,9 +998,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/con ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentListContainersResponse](schemas.md#codersdkworkspaceagentlistcontainersresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgentListContainersResponse](schemas.md#codersdkworkspaceagentlistcontainersresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1018,15 +1018,15 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/coo ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------------------|---------------------|--------| -| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|101|[Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2)|Switching Protocols|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1045,9 +1045,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/lis ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Example responses @@ -1067,9 +1067,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/lis ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentListeningPortsResponse](schemas.md#codersdkworkspaceagentlisteningportsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgentListeningPortsResponse](schemas.md#codersdkworkspaceagentlisteningportsresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1088,13 +1088,13 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/log ### Parameters -| Name | In | Type | Required | Description | -|------------------|-------|--------------|----------|----------------------------------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | -| `before` | query | integer | false | Before log id | -| `after` | query | integer | false | After log id | -| `follow` | query | boolean | false | Follow log stream | -| `no_compression` | query | boolean | false | Disable compression for WebSocket connection | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| +|`before`|query|integer|false|Before log id| +|`after`|query|integer|false|After log id| +|`follow`|query|boolean|false|Follow log stream| +|`no_compression`|query|boolean|false|Disable compression for WebSocket connection| ### Example responses @@ -1114,32 +1114,32 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/log ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceAgentLog](schemas.md#codersdkworkspaceagentlog) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceAgentLog](schemas.md#codersdkworkspaceagentlog)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|--------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» output` | string | false | | | -| `» source_id` | string(uuid) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» output`|string|false||| +|`» source_id`|string(uuid)|false||| #### Enumerated Values -| Property | Value | -|----------|---------| -| `level` | `trace` | -| `level` | `debug` | -| `level` | `info` | -| `level` | `warn` | -| `level` | `error` | +|Property|Value| +|---|---| +|`level`|`trace`| +|`level`|`debug`| +|`level`|`info`| +|`level`|`warn`| +|`level`|`error`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1157,15 +1157,15 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/pty ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------------------|---------------------|--------| -| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|101|[Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2)|Switching Protocols|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1184,13 +1184,13 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/sta ### Parameters -| Name | In | Type | Required | Description | -|------------------|-------|--------------|----------|----------------------------------------------| -| `workspaceagent` | path | string(uuid) | true | Workspace agent ID | -| `before` | query | integer | false | Before log id | -| `after` | query | integer | false | After log id | -| `follow` | query | boolean | false | Follow log stream | -| `no_compression` | query | boolean | false | Disable compression for WebSocket connection | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceagent`|path|string(uuid)|true|Workspace agent ID| +|`before`|query|integer|false|Before log id| +|`after`|query|integer|false|After log id| +|`follow`|query|boolean|false|Follow log stream| +|`no_compression`|query|boolean|false|Disable compression for WebSocket connection| ### Example responses @@ -1210,31 +1210,31 @@ curl -X GET http://coder-server:8080/api/v2/workspaceagents/{workspaceagent}/sta ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceAgentLog](schemas.md#codersdkworkspaceagentlog) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceAgentLog](schemas.md#codersdkworkspaceagentlog)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|--------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» output` | string | false | | | -| `» source_id` | string(uuid) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» output`|string|false||| +|`» source_id`|string(uuid)|false||| #### Enumerated Values -| Property | Value | -|----------|---------| -| `level` | `trace` | -| `level` | `debug` | -| `level` | `info` | -| `level` | `warn` | -| `level` | `error` | +|Property|Value| +|---|---| +|`level`|`trace`| +|`level`|`debug`| +|`level`|`info`| +|`level`|`warn`| +|`level`|`error`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/applications.md b/docs/reference/api/applications.md index 77fe7095ee9db..789c33892047e 100644 --- a/docs/reference/api/applications.md +++ b/docs/reference/api/applications.md @@ -14,15 +14,15 @@ curl -X GET http://coder-server:8080/api/v2/applications/auth-redirect \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|--------|----------|----------------------| -| `redirect_uri` | query | string | false | Redirect destination | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`redirect_uri`|query|string|false|Redirect destination| ### Responses -| Status | Meaning | Description | Schema | -|--------|-------------------------------------------------------------------------|--------------------|--------| -| 307 | [Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7) | Temporary Redirect | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|307|[Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7)|Temporary Redirect|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -51,8 +51,8 @@ curl -X GET http://coder-server:8080/api/v2/applications/host \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AppHostResponse](schemas.md#codersdkapphostresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.AppHostResponse](schemas.md#codersdkapphostresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/audit.md b/docs/reference/api/audit.md index c717a75d51e54..3243223333150 100644 --- a/docs/reference/api/audit.md +++ b/docs/reference/api/audit.md @@ -15,11 +15,11 @@ curl -X GET http://coder-server:8080/api/v2/audit?limit=0 \ ### Parameters -| Name | In | Type | Required | Description | -|----------|-------|---------|----------|--------------| -| `q` | query | string | false | Search query | -| `limit` | query | integer | true | Page limit | -| `offset` | query | integer | false | Page offset | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`q`|query|string|false|Search query| +|`limit`|query|integer|true|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -94,8 +94,8 @@ curl -X GET http://coder-server:8080/api/v2/audit?limit=0 \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AuditLogResponse](schemas.md#codersdkauditlogresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.AuditLogResponse](schemas.md#codersdkauditlogresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/authorization.md b/docs/reference/api/authorization.md index 3565a8c922135..34d5cf38664ca 100644 --- a/docs/reference/api/authorization.md +++ b/docs/reference/api/authorization.md @@ -45,9 +45,9 @@ curl -X POST http://coder-server:8080/api/v2/authcheck \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------|----------|-----------------------| -| `body` | body | [codersdk.AuthorizationRequest](schemas.md#codersdkauthorizationrequest) | true | Authorization request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.AuthorizationRequest](schemas.md#codersdkauthorizationrequest)|true|Authorization request| ### Example responses @@ -62,9 +62,9 @@ curl -X POST http://coder-server:8080/api/v2/authcheck \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AuthorizationResponse](schemas.md#codersdkauthorizationresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.AuthorizationResponse](schemas.md#codersdkauthorizationresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -92,9 +92,9 @@ curl -X POST http://coder-server:8080/api/v2/users/login \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------|----------|---------------| -| `body` | body | [codersdk.LoginWithPasswordRequest](schemas.md#codersdkloginwithpasswordrequest) | true | Login request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.LoginWithPasswordRequest](schemas.md#codersdkloginwithpasswordrequest)|true|Login request| ### Example responses @@ -108,9 +108,9 @@ curl -X POST http://coder-server:8080/api/v2/users/login \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.LoginWithPasswordResponse](schemas.md#codersdkloginwithpasswordresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.LoginWithPasswordResponse](schemas.md#codersdkloginwithpasswordresponse)| ## Change password with a one-time passcode @@ -136,15 +136,15 @@ curl -X POST http://coder-server:8080/api/v2/users/otp/change-password \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------------------------------------|----------|-------------------------| -| `body` | body | [codersdk.ChangePasswordWithOneTimePasscodeRequest](schemas.md#codersdkchangepasswordwithonetimepasscoderequest) | true | Change password request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.ChangePasswordWithOneTimePasscodeRequest](schemas.md#codersdkchangepasswordwithonetimepasscoderequest)|true|Change password request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| ## Request one-time passcode @@ -168,15 +168,15 @@ curl -X POST http://coder-server:8080/api/v2/users/otp/request \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------------------------|----------|---------------------------| -| `body` | body | [codersdk.RequestOneTimePasscodeRequest](schemas.md#codersdkrequestonetimepasscoderequest) | true | One-time passcode request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.RequestOneTimePasscodeRequest](schemas.md#codersdkrequestonetimepasscoderequest)|true|One-time passcode request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| ## Validate user password @@ -202,9 +202,9 @@ curl -X POST http://coder-server:8080/api/v2/users/validate-password \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------------|----------|--------------------------------| -| `body` | body | [codersdk.ValidateUserPasswordRequest](schemas.md#codersdkvalidateuserpasswordrequest) | true | Validate user password request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.ValidateUserPasswordRequest](schemas.md#codersdkvalidateuserpasswordrequest)|true|Validate user password request| ### Example responses @@ -219,9 +219,9 @@ curl -X POST http://coder-server:8080/api/v2/users/validate-password \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ValidateUserPasswordResponse](schemas.md#codersdkvalidateuserpasswordresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ValidateUserPasswordResponse](schemas.md#codersdkvalidateuserpasswordresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -250,10 +250,10 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/convert-login \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.ConvertLoginRequest](schemas.md#codersdkconvertloginrequest) | true | Convert request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.ConvertLoginRequest](schemas.md#codersdkconvertloginrequest)|true|Convert request| ### Example responses @@ -270,8 +270,8 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/convert-login \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.OAuthConversionResponse](schemas.md#codersdkoauthconversionresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.OAuthConversionResponse](schemas.md#codersdkoauthconversionresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/builds.md b/docs/reference/api/builds.md index fb491405df362..c760ec7d2959d 100644 --- a/docs/reference/api/builds.md +++ b/docs/reference/api/builds.md @@ -15,11 +15,11 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam ### Parameters -| Name | In | Type | Required | Description | -|-----------------|------|----------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `workspacename` | path | string | true | Workspace name | -| `buildnumber` | path | string(number) | true | Build number | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`workspacename`|path|string|true|Workspace name| +|`buildnumber`|path|string(number)|true|Build number| ### Example responses @@ -233,9 +233,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -254,9 +254,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \ ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------|----------|--------------------| -| `workspacebuild` | path | string | true | Workspace build ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -470,9 +470,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -491,17 +491,17 @@ curl -X PATCH http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/c ### Parameters -| Name | In | Type | Required | Description | -|------------------|-------|--------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `workspacebuild` | path | string | true | Workspace build ID | -| `expect_status` | query | string | false | Expected status of the job. If expect_status is supplied, the request will be rejected with 412 Precondition Failed if the job doesn't match the state when performing the cancellation. | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| +|`expect_status`|query|string|false|Expected status of the job. If expect_status is supplied, the request will be rejected with 412 Precondition Failed if the job doesn't match the state when performing the cancellation.| #### Enumerated Values -| Parameter | Value | -|-----------------|-----------| -| `expect_status` | `running` | -| `expect_status` | `pending` | +|Parameter|Value| +|---|---| +|`expect_status`|`running`| +|`expect_status`|`pending`| ### Example responses @@ -522,9 +522,9 @@ curl -X PATCH http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/c ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -543,12 +543,12 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/log ### Parameters -| Name | In | Type | Required | Description | -|------------------|-------|---------|----------|--------------------| -| `workspacebuild` | path | string | true | Workspace build ID | -| `before` | query | integer | false | Before log id | -| `after` | query | integer | false | After log id | -| `follow` | query | boolean | false | Follow log stream | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| +|`before`|query|integer|false|Before log id| +|`after`|query|integer|false|After log id| +|`follow`|query|boolean|false|Follow log stream| ### Example responses @@ -569,35 +569,35 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/log ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|----------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» log_level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» log_source` | [codersdk.LogSource](schemas.md#codersdklogsource) | false | | | -| `» output` | string | false | | | -| `» stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» log_level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» log_source`|[codersdk.LogSource](schemas.md#codersdklogsource)|false||| +|`» output`|string|false||| +|`» stage`|string|false||| #### Enumerated Values -| Property | Value | -|--------------|----------------------| -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | -| `log_source` | `provisioner_daemon` | -| `log_source` | `provisioner` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| +|`log_source`|`provisioner_daemon`| +|`log_source`|`provisioner`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -616,9 +616,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/par ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------|----------|--------------------| -| `workspacebuild` | path | string | true | Workspace build ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -635,19 +635,19 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/par ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceBuildParameter](schemas.md#codersdkworkspacebuildparameter) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceBuildParameter](schemas.md#codersdkworkspacebuildparameter)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» name` | string | false | | | -| `» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» name`|string|false||| +|`» value`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -666,9 +666,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------|----------|--------------------| -| `workspacebuild` | path | string | true | Workspace build ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -815,153 +815,153 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/res ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|---------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» agents` | array | false | | | -| `»» api_version` | string | false | | | -| `»» apps` | array | false | | | -| `»»» command` | string | false | | | -| `»»» display_name` | string | false | | Display name is a friendly name for the app. | -| `»»» external` | boolean | false | | External specifies whether the URL should be opened externally on the client or not. | -| `»»» group` | string | false | | | -| `»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»» interval` | integer | false | | Interval specifies the seconds between each health check. | -| `»»»» threshold` | integer | false | | Threshold specifies the number of consecutive failed health checks before returning "unhealthy". | -| `»»»» url` | string | false | | URL specifies the endpoint to check for the app health. | -| `»»» hidden` | boolean | false | | | -| `»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. | -| `»»» id` | string(uuid) | false | | | -| `»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | | -| `»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | | -| `»»» slug` | string | false | | Slug is a unique identifier within the agent. | -| `»»» statuses` | array | false | | Statuses is a list of statuses for the app. | -| `»»»» agent_id` | string(uuid) | false | | | -| `»»»» app_id` | string(uuid) | false | | | -| `»»»» created_at` | string(date-time) | false | | | -| `»»»» icon` | string | false | | Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. | -| `»»»» id` | string(uuid) | false | | | -| `»»»» message` | string | false | | | -| `»»»» needs_user_attention` | boolean | false | | Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. | -| `»»»» state` | [codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate) | false | | | -| `»»»» uri` | string | false | | Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file | -| `»»»» workspace_id` | string(uuid) | false | | | -| `»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. | -| `»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»» architecture` | string | false | | | -| `»» connection_timeout_seconds` | integer | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» directory` | string | false | | | -| `»» disconnected_at` | string(date-time) | false | | | -| `»» display_apps` | array | false | | | -| `»» environment_variables` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» expanded_directory` | string | false | | | -| `»» first_connected_at` | string(date-time) | false | | | -| `»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»» healthy` | boolean | false | | Healthy is true if the agent is healthy. | -| `»»» reason` | string | false | | Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true. | -| `»» id` | string(uuid) | false | | | -| `»» instance_id` | string | false | | | -| `»» last_connected_at` | string(date-time) | false | | | -| `»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»» latency_ms` | number | false | | | -| `»»»» preferred` | boolean | false | | | -| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»» log_sources` | array | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» display_name` | string | false | | | -| `»»» icon` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» workspace_agent_id` | string(uuid) | false | | | -| `»» logs_length` | integer | false | | | -| `»» logs_overflowed` | boolean | false | | | -| `»» name` | string | false | | | -| `»» operating_system` | string | false | | | -| `»» parent_id` | [uuid.NullUUID](schemas.md#uuidnulluuid) | false | | | -| `»»» uuid` | string | false | | | -| `»»» valid` | boolean | false | | Valid is true if UUID is not NULL | -| `»» ready_at` | string(date-time) | false | | | -| `»» resource_id` | string(uuid) | false | | | -| `»» scripts` | array | false | | | -| `»»» cron` | string | false | | | -| `»»» display_name` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» log_path` | string | false | | | -| `»»» log_source_id` | string(uuid) | false | | | -| `»»» run_on_start` | boolean | false | | | -| `»»» run_on_stop` | boolean | false | | | -| `»»» script` | string | false | | | -| `»»» start_blocks_login` | boolean | false | | | -| `»»» timeout` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»» subsystems` | array | false | | | -| `»» troubleshooting_url` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» hide` | boolean | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» job_id` | string(uuid) | false | | | -| `» metadata` | array | false | | | -| `»» key` | string | false | | | -| `»» sensitive` | boolean | false | | | -| `»» value` | string | false | | | -| `» name` | string | false | | | -| `» type` | string | false | | | -| `» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» agents`|array|false||| +|`»» api_version`|string|false||| +|`»» apps`|array|false||| +|`»»» command`|string|false||| +|`»»» display_name`|string|false||Display name is a friendly name for the app.| +|`»»» external`|boolean|false||External specifies whether the URL should be opened externally on the client or not.| +|`»»» group`|string|false||| +|`»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»» interval`|integer|false||Interval specifies the seconds between each health check.| +|`»»»» threshold`|integer|false||Threshold specifies the number of consecutive failed health checks before returning "unhealthy".| +|`»»»» url`|string|false||URL specifies the endpoint to check for the app health.| +|`»»» hidden`|boolean|false||| +|`»»» icon`|string|false||Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard.| +|`»»» id`|string(uuid)|false||| +|`»»» open_in`|[codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin)|false||| +|`»»» sharing_level`|[codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel)|false||| +|`»»» slug`|string|false||Slug is a unique identifier within the agent.| +|`»»» statuses`|array|false||Statuses is a list of statuses for the app.| +|`»»»» agent_id`|string(uuid)|false||| +|`»»»» app_id`|string(uuid)|false||| +|`»»»» created_at`|string(date-time)|false||| +|`»»»» icon`|string|false||Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI.| +|`»»»» id`|string(uuid)|false||| +|`»»»» message`|string|false||| +|`»»»» needs_user_attention`|boolean|false||Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention.| +|`»»»» state`|[codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate)|false||| +|`»»»» uri`|string|false||Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file| +|`»»»» workspace_id`|string(uuid)|false||| +|`»»» subdomain`|boolean|false||Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI.| +|`»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»» architecture`|string|false||| +|`»» connection_timeout_seconds`|integer|false||| +|`»» created_at`|string(date-time)|false||| +|`»» directory`|string|false||| +|`»» disconnected_at`|string(date-time)|false||| +|`»» display_apps`|array|false||| +|`»» environment_variables`|object|false||| +|`»»» [any property]`|string|false||| +|`»» expanded_directory`|string|false||| +|`»» first_connected_at`|string(date-time)|false||| +|`»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»» healthy`|boolean|false||Healthy is true if the agent is healthy.| +|`»»» reason`|string|false||Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.| +|`»» id`|string(uuid)|false||| +|`»» instance_id`|string|false||| +|`»» last_connected_at`|string(date-time)|false||| +|`»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»» latency_ms`|number|false||| +|`»»»» preferred`|boolean|false||| +|`»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»» log_sources`|array|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» display_name`|string|false||| +|`»»» icon`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» workspace_agent_id`|string(uuid)|false||| +|`»» logs_length`|integer|false||| +|`»» logs_overflowed`|boolean|false||| +|`»» name`|string|false||| +|`»» operating_system`|string|false||| +|`»» parent_id`|[uuid.NullUUID](schemas.md#uuidnulluuid)|false||| +|`»»» uuid`|string|false||| +|`»»» valid`|boolean|false||Valid is true if UUID is not NULL| +|`»» ready_at`|string(date-time)|false||| +|`»» resource_id`|string(uuid)|false||| +|`»» scripts`|array|false||| +|`»»» cron`|string|false||| +|`»»» display_name`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» log_path`|string|false||| +|`»»» log_source_id`|string(uuid)|false||| +|`»»» run_on_start`|boolean|false||| +|`»»» run_on_stop`|boolean|false||| +|`»»» script`|string|false||| +|`»»» start_blocks_login`|boolean|false||| +|`»»» timeout`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»» subsystems`|array|false||| +|`»» troubleshooting_url`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» hide`|boolean|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» job_id`|string(uuid)|false||| +|`» metadata`|array|false||| +|`»» key`|string|false||| +|`»» sensitive`|boolean|false||| +|`»» value`|string|false||| +|`» name`|string|false||| +|`» type`|string|false||| +|`» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -|---------------------------|--------------------| -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `open_in` | `slim-window` | -| `open_in` | `tab` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `organization` | -| `sharing_level` | `public` | -| `state` | `working` | -| `state` | `idle` | -| `state` | `complete` | -| `state` | `failure` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`open_in`|`slim-window`| +|`open_in`|`tab`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`organization`| +|`sharing_level`|`public`| +|`state`|`working`| +|`state`|`idle`| +|`state`|`complete`| +|`state`|`failure`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -980,9 +980,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------|----------|--------------------| -| `workspacebuild` | path | string | true | Workspace build ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string|true|Workspace build ID| ### Example responses @@ -1196,9 +1196,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1217,9 +1217,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/tim ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|--------------------| -| `workspacebuild` | path | string(uuid) | true | Workspace build ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspacebuild`|path|string(uuid)|true|Workspace build ID| ### Example responses @@ -1264,9 +1264,9 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/tim ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuildTimings](schemas.md#codersdkworkspacebuildtimings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceBuildTimings](schemas.md#codersdkworkspacebuildtimings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1285,13 +1285,13 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|-------|-------------------|----------|-----------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `after_id` | query | string(uuid) | false | After ID | -| `limit` | query | integer | false | Page limit | -| `offset` | query | integer | false | Page offset | -| `since` | query | string(date-time) | false | Since timestamp | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`after_id`|query|string(uuid)|false|After ID| +|`limit`|query|integer|false|Page limit| +|`offset`|query|integer|false|Page offset| +|`since`|query|string(date-time)|false|Since timestamp| ### Example responses @@ -1507,237 +1507,237 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» ai_task_sidebar_app_id` | string(uuid) | false | | | -| `» build_number` | integer | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» deadline` | string(date-time) | false | | | -| `» has_ai_task` | boolean | false | | | -| `» id` | string(uuid) | false | | | -| `» initiator_id` | string(uuid) | false | | | -| `» initiator_name` | string | false | | | -| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | | -| `»» available_workers` | array | false | | | -| `»» canceled_at` | string(date-time) | false | | | -| `»» completed_at` | string(date-time) | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» error` | string | false | | | -| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | | -| `»» file_id` | string(uuid) | false | | | -| `»» id` | string(uuid) | false | | | -| `»» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | | -| `»»» error` | string | false | | | -| `»»» template_version_id` | string(uuid) | false | | | -| `»»» workspace_build_id` | string(uuid) | false | | | -| `»» metadata` | [codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata) | false | | | -| `»»» template_display_name` | string | false | | | -| `»»» template_icon` | string | false | | | -| `»»» template_id` | string(uuid) | false | | | -| `»»» template_name` | string | false | | | -| `»»» template_version_name` | string | false | | | -| `»»» workspace_id` | string(uuid) | false | | | -| `»»» workspace_name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» queue_position` | integer | false | | | -| `»» queue_size` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | | -| `»» tags` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | | -| `»» worker_id` | string(uuid) | false | | | -| `»» worker_name` | string | false | | | -| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | | -| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. | -| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. | -| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. | -| `» max_deadline` | string(date-time) | false | | | -| `» reason` | [codersdk.BuildReason](schemas.md#codersdkbuildreason) | false | | | -| `» resources` | array | false | | | -| `»» agents` | array | false | | | -| `»»» api_version` | string | false | | | -| `»»» apps` | array | false | | | -| `»»»» command` | string | false | | | -| `»»»» display_name` | string | false | | Display name is a friendly name for the app. | -| `»»»» external` | boolean | false | | External specifies whether the URL should be opened externally on the client or not. | -| `»»»» group` | string | false | | | -| `»»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»»» interval` | integer | false | | Interval specifies the seconds between each health check. | -| `»»»»» threshold` | integer | false | | Threshold specifies the number of consecutive failed health checks before returning "unhealthy". | -| `»»»»» url` | string | false | | URL specifies the endpoint to check for the app health. | -| `»»»» hidden` | boolean | false | | | -| `»»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. | -| `»»»» id` | string(uuid) | false | | | -| `»»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | | -| `»»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | | -| `»»»» slug` | string | false | | Slug is a unique identifier within the agent. | -| `»»»» statuses` | array | false | | Statuses is a list of statuses for the app. | -| `»»»»» agent_id` | string(uuid) | false | | | -| `»»»»» app_id` | string(uuid) | false | | | -| `»»»»» created_at` | string(date-time) | false | | | -| `»»»»» icon` | string | false | | Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. | -| `»»»»» id` | string(uuid) | false | | | -| `»»»»» message` | string | false | | | -| `»»»»» needs_user_attention` | boolean | false | | Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. | -| `»»»»» state` | [codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate) | false | | | -| `»»»»» uri` | string | false | | Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file | -| `»»»»» workspace_id` | string(uuid) | false | | | -| `»»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. | -| `»»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»»» architecture` | string | false | | | -| `»»» connection_timeout_seconds` | integer | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» directory` | string | false | | | -| `»»» disconnected_at` | string(date-time) | false | | | -| `»»» display_apps` | array | false | | | -| `»»» environment_variables` | object | false | | | -| `»»»» [any property]` | string | false | | | -| `»»» expanded_directory` | string | false | | | -| `»»» first_connected_at` | string(date-time) | false | | | -| `»»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»»» healthy` | boolean | false | | Healthy is true if the agent is healthy. | -| `»»»» reason` | string | false | | Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true. | -| `»»» id` | string(uuid) | false | | | -| `»»» instance_id` | string | false | | | -| `»»» last_connected_at` | string(date-time) | false | | | -| `»»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»»» latency_ms` | number | false | | | -| `»»»»» preferred` | boolean | false | | | -| `»»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»»» log_sources` | array | false | | | -| `»»»» created_at` | string(date-time) | false | | | -| `»»»» display_name` | string | false | | | -| `»»»» icon` | string | false | | | -| `»»»» id` | string(uuid) | false | | | -| `»»»» workspace_agent_id` | string(uuid) | false | | | -| `»»» logs_length` | integer | false | | | -| `»»» logs_overflowed` | boolean | false | | | -| `»»» name` | string | false | | | -| `»»» operating_system` | string | false | | | -| `»»» parent_id` | [uuid.NullUUID](schemas.md#uuidnulluuid) | false | | | -| `»»»» uuid` | string | false | | | -| `»»»» valid` | boolean | false | | Valid is true if UUID is not NULL | -| `»»» ready_at` | string(date-time) | false | | | -| `»»» resource_id` | string(uuid) | false | | | -| `»»» scripts` | array | false | | | -| `»»»» cron` | string | false | | | -| `»»»» display_name` | string | false | | | -| `»»»» id` | string(uuid) | false | | | -| `»»»» log_path` | string | false | | | -| `»»»» log_source_id` | string(uuid) | false | | | -| `»»»» run_on_start` | boolean | false | | | -| `»»»» run_on_stop` | boolean | false | | | -| `»»»» script` | string | false | | | -| `»»»» start_blocks_login` | boolean | false | | | -| `»»»» timeout` | integer | false | | | -| `»»» started_at` | string(date-time) | false | | | -| `»»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»»» subsystems` | array | false | | | -| `»»» troubleshooting_url` | string | false | | | -| `»»» updated_at` | string(date-time) | false | | | -| `»»» version` | string | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» daily_cost` | integer | false | | | -| `»» hide` | boolean | false | | | -| `»» icon` | string | false | | | -| `»» id` | string(uuid) | false | | | -| `»» job_id` | string(uuid) | false | | | -| `»» metadata` | array | false | | | -| `»»» key` | string | false | | | -| `»»» sensitive` | boolean | false | | | -| `»»» value` | string | false | | | -| `»» name` | string | false | | | -| `»» type` | string | false | | | -| `»» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | -| `» status` | [codersdk.WorkspaceStatus](schemas.md#codersdkworkspacestatus) | false | | | -| `» template_version_id` | string(uuid) | false | | | -| `» template_version_name` | string | false | | | -| `» template_version_preset_id` | string(uuid) | false | | | -| `» transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» workspace_id` | string(uuid) | false | | | -| `» workspace_name` | string | false | | | -| `» workspace_owner_avatar_url` | string | false | | | -| `» workspace_owner_id` | string(uuid) | false | | | -| `» workspace_owner_name` | string | false | | Workspace owner name is the username of the owner of the workspace. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» ai_task_sidebar_app_id`|string(uuid)|false||| +|`» build_number`|integer|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» deadline`|string(date-time)|false||| +|`» has_ai_task`|boolean|false||| +|`» id`|string(uuid)|false||| +|`» initiator_id`|string(uuid)|false||| +|`» initiator_name`|string|false||| +|`» job`|[codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)|false||| +|`»» available_workers`|array|false||| +|`»» canceled_at`|string(date-time)|false||| +|`»» completed_at`|string(date-time)|false||| +|`»» created_at`|string(date-time)|false||| +|`»» error`|string|false||| +|`»» error_code`|[codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode)|false||| +|`»» file_id`|string(uuid)|false||| +|`»» id`|string(uuid)|false||| +|`»» input`|[codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput)|false||| +|`»»» error`|string|false||| +|`»»» template_version_id`|string(uuid)|false||| +|`»»» workspace_build_id`|string(uuid)|false||| +|`»» metadata`|[codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata)|false||| +|`»»» template_display_name`|string|false||| +|`»»» template_icon`|string|false||| +|`»»» template_id`|string(uuid)|false||| +|`»»» template_name`|string|false||| +|`»»» template_version_name`|string|false||| +|`»»» workspace_id`|string(uuid)|false||| +|`»»» workspace_name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» queue_position`|integer|false||| +|`»» queue_size`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» status`|[codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus)|false||| +|`»» tags`|object|false||| +|`»»» [any property]`|string|false||| +|`»» type`|[codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype)|false||| +|`»» worker_id`|string(uuid)|false||| +|`»» worker_name`|string|false||| +|`» matched_provisioners`|[codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners)|false||| +|`»» available`|integer|false||Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped.| +|`»» count`|integer|false||Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags.| +|`»» most_recently_seen`|string(date-time)|false||Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null.| +|`» max_deadline`|string(date-time)|false||| +|`» reason`|[codersdk.BuildReason](schemas.md#codersdkbuildreason)|false||| +|`» resources`|array|false||| +|`»» agents`|array|false||| +|`»»» api_version`|string|false||| +|`»»» apps`|array|false||| +|`»»»» command`|string|false||| +|`»»»» display_name`|string|false||Display name is a friendly name for the app.| +|`»»»» external`|boolean|false||External specifies whether the URL should be opened externally on the client or not.| +|`»»»» group`|string|false||| +|`»»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»»» interval`|integer|false||Interval specifies the seconds between each health check.| +|`»»»»» threshold`|integer|false||Threshold specifies the number of consecutive failed health checks before returning "unhealthy".| +|`»»»»» url`|string|false||URL specifies the endpoint to check for the app health.| +|`»»»» hidden`|boolean|false||| +|`»»»» icon`|string|false||Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard.| +|`»»»» id`|string(uuid)|false||| +|`»»»» open_in`|[codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin)|false||| +|`»»»» sharing_level`|[codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel)|false||| +|`»»»» slug`|string|false||Slug is a unique identifier within the agent.| +|`»»»» statuses`|array|false||Statuses is a list of statuses for the app.| +|`»»»»» agent_id`|string(uuid)|false||| +|`»»»»» app_id`|string(uuid)|false||| +|`»»»»» created_at`|string(date-time)|false||| +|`»»»»» icon`|string|false||Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI.| +|`»»»»» id`|string(uuid)|false||| +|`»»»»» message`|string|false||| +|`»»»»» needs_user_attention`|boolean|false||Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention.| +|`»»»»» state`|[codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate)|false||| +|`»»»»» uri`|string|false||Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file| +|`»»»»» workspace_id`|string(uuid)|false||| +|`»»»» subdomain`|boolean|false||Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI.| +|`»»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»»» architecture`|string|false||| +|`»»» connection_timeout_seconds`|integer|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» directory`|string|false||| +|`»»» disconnected_at`|string(date-time)|false||| +|`»»» display_apps`|array|false||| +|`»»» environment_variables`|object|false||| +|`»»»» [any property]`|string|false||| +|`»»» expanded_directory`|string|false||| +|`»»» first_connected_at`|string(date-time)|false||| +|`»»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»»» healthy`|boolean|false||Healthy is true if the agent is healthy.| +|`»»»» reason`|string|false||Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.| +|`»»» id`|string(uuid)|false||| +|`»»» instance_id`|string|false||| +|`»»» last_connected_at`|string(date-time)|false||| +|`»»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»»» latency_ms`|number|false||| +|`»»»»» preferred`|boolean|false||| +|`»»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»»» log_sources`|array|false||| +|`»»»» created_at`|string(date-time)|false||| +|`»»»» display_name`|string|false||| +|`»»»» icon`|string|false||| +|`»»»» id`|string(uuid)|false||| +|`»»»» workspace_agent_id`|string(uuid)|false||| +|`»»» logs_length`|integer|false||| +|`»»» logs_overflowed`|boolean|false||| +|`»»» name`|string|false||| +|`»»» operating_system`|string|false||| +|`»»» parent_id`|[uuid.NullUUID](schemas.md#uuidnulluuid)|false||| +|`»»»» uuid`|string|false||| +|`»»»» valid`|boolean|false||Valid is true if UUID is not NULL| +|`»»» ready_at`|string(date-time)|false||| +|`»»» resource_id`|string(uuid)|false||| +|`»»» scripts`|array|false||| +|`»»»» cron`|string|false||| +|`»»»» display_name`|string|false||| +|`»»»» id`|string(uuid)|false||| +|`»»»» log_path`|string|false||| +|`»»»» log_source_id`|string(uuid)|false||| +|`»»»» run_on_start`|boolean|false||| +|`»»»» run_on_stop`|boolean|false||| +|`»»»» script`|string|false||| +|`»»»» start_blocks_login`|boolean|false||| +|`»»»» timeout`|integer|false||| +|`»»» started_at`|string(date-time)|false||| +|`»»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»»» subsystems`|array|false||| +|`»»» troubleshooting_url`|string|false||| +|`»»» updated_at`|string(date-time)|false||| +|`»»» version`|string|false||| +|`»» created_at`|string(date-time)|false||| +|`»» daily_cost`|integer|false||| +|`»» hide`|boolean|false||| +|`»» icon`|string|false||| +|`»» id`|string(uuid)|false||| +|`»» job_id`|string(uuid)|false||| +|`»» metadata`|array|false||| +|`»»» key`|string|false||| +|`»»» sensitive`|boolean|false||| +|`»»» value`|string|false||| +|`»» name`|string|false||| +|`»» type`|string|false||| +|`»» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| +|`» status`|[codersdk.WorkspaceStatus](schemas.md#codersdkworkspacestatus)|false||| +|`» template_version_id`|string(uuid)|false||| +|`» template_version_name`|string|false||| +|`» template_version_preset_id`|string(uuid)|false||| +|`» transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| +|`» updated_at`|string(date-time)|false||| +|`» workspace_id`|string(uuid)|false||| +|`» workspace_name`|string|false||| +|`» workspace_owner_avatar_url`|string|false||| +|`» workspace_owner_id`|string(uuid)|false||| +|`» workspace_owner_name`|string|false||Workspace owner name is the username of the owner of the workspace.| #### Enumerated Values -| Property | Value | -|---------------------------|-------------------------------| -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `type` | `template_version_import` | -| `type` | `workspace_build` | -| `type` | `template_version_dry_run` | -| `reason` | `initiator` | -| `reason` | `autostart` | -| `reason` | `autostop` | -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `open_in` | `slim-window` | -| `open_in` | `tab` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `organization` | -| `sharing_level` | `public` | -| `state` | `working` | -| `state` | `idle` | -| `state` | `complete` | -| `state` | `failure` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | -| `status` | `pending` | -| `status` | `starting` | -| `status` | `running` | -| `status` | `stopping` | -| `status` | `stopped` | -| `status` | `failed` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `deleting` | -| `status` | `deleted` | -| `transition` | `start` | -| `transition` | `stop` | -| `transition` | `delete` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`type`|`template_version_import`| +|`type`|`workspace_build`| +|`type`|`template_version_dry_run`| +|`reason`|`initiator`| +|`reason`|`autostart`| +|`reason`|`autostop`| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`open_in`|`slim-window`| +|`open_in`|`tab`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`organization`| +|`sharing_level`|`public`| +|`state`|`working`| +|`state`|`idle`| +|`state`|`complete`| +|`state`|`failure`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| +|`status`|`pending`| +|`status`|`starting`| +|`status`|`running`| +|`status`|`stopping`| +|`status`|`stopped`| +|`status`|`failed`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`deleting`| +|`status`|`deleted`| +|`transition`|`start`| +|`transition`|`stop`| +|`transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1780,10 +1780,10 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|----------------------------------------------------------------------------------------|----------|--------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.CreateWorkspaceBuildRequest](schemas.md#codersdkcreateworkspacebuildrequest) | true | Create workspace build request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.CreateWorkspaceBuildRequest](schemas.md#codersdkcreateworkspacebuildrequest)|true|Create workspace build request| ### Example responses @@ -1997,8 +1997,8 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceBuild](schemas.md#codersdkworkspacebuild)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/debug.md b/docs/reference/api/debug.md index 93fd3e7b638c2..1de16ad0bf90e 100644 --- a/docs/reference/api/debug.md +++ b/docs/reference/api/debug.md @@ -14,9 +14,9 @@ curl -X GET http://coder-server:8080/api/v2/debug/coordinator \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -35,9 +35,9 @@ curl -X GET http://coder-server:8080/api/v2/debug/health \ ### Parameters -| Name | In | Type | Required | Description | -|---------|-------|---------|----------|----------------------------| -| `force` | query | boolean | false | Force a healthcheck to run | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`force`|query|boolean|false|Force a healthcheck to run| ### Example responses @@ -417,9 +417,9 @@ curl -X GET http://coder-server:8080/api/v2/debug/health \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.HealthcheckReport](schemas.md#healthsdkhealthcheckreport) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[healthsdk.HealthcheckReport](schemas.md#healthsdkhealthcheckreport)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -450,9 +450,9 @@ curl -X GET http://coder-server:8080/api/v2/debug/health/settings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.HealthSettings](schemas.md#healthsdkhealthsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[healthsdk.HealthSettings](schemas.md#healthsdkhealthsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -482,9 +482,9 @@ curl -X PUT http://coder-server:8080/api/v2/debug/health/settings \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------|----------|------------------------| -| `body` | body | [healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings) | true | Update health settings | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings)|true|Update health settings| ### Example responses @@ -500,9 +500,9 @@ curl -X PUT http://coder-server:8080/api/v2/debug/health/settings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[healthsdk.UpdateHealthSettings](schemas.md#healthsdkupdatehealthsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -520,8 +520,8 @@ curl -X GET http://coder-server:8080/api/v2/debug/tailnet \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/enterprise.md b/docs/reference/api/enterprise.md index c9b65a97d2f03..e43913e3ab05c 100644 --- a/docs/reference/api/enterprise.md +++ b/docs/reference/api/enterprise.md @@ -42,9 +42,9 @@ curl -X GET http://coder-server:8080/api/v2/.well-known/oauth-authorization-serv ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2AuthorizationServerMetadata](schemas.md#codersdkoauth2authorizationservermetadata) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2AuthorizationServerMetadata](schemas.md#codersdkoauth2authorizationservermetadata)| ## OAuth2 protected resource metadata @@ -79,9 +79,9 @@ curl -X GET http://coder-server:8080/api/v2/.well-known/oauth-protected-resource ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProtectedResourceMetadata](schemas.md#codersdkoauth2protectedresourcemetadata) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2ProtectedResourceMetadata](schemas.md#codersdkoauth2protectedresourcemetadata)| ## Get appearance @@ -129,9 +129,9 @@ curl -X GET http://coder-server:8080/api/v2/appearance \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AppearanceConfig](schemas.md#codersdkappearanceconfig) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.AppearanceConfig](schemas.md#codersdkappearanceconfig)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -172,9 +172,9 @@ curl -X PUT http://coder-server:8080/api/v2/appearance \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------|----------|---------------------------| -| `body` | body | [codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig) | true | Update appearance request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig)|true|Update appearance request| ### Example responses @@ -201,9 +201,9 @@ curl -X PUT http://coder-server:8080/api/v2/appearance \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UpdateAppearanceConfig](schemas.md#codersdkupdateappearanceconfig)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -222,11 +222,11 @@ curl -X GET http://coder-server:8080/api/v2/connectionlog?limit=0 \ ### Parameters -| Name | In | Type | Required | Description | -|----------|-------|---------|----------|--------------| -| `q` | query | string | false | Search query | -| `limit` | query | integer | true | Page limit | -| `offset` | query | integer | false | Page offset | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`q`|query|string|false|Search query| +|`limit`|query|integer|true|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -293,9 +293,9 @@ curl -X GET http://coder-server:8080/api/v2/connectionlog?limit=0 \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ConnectionLogResponse](schemas.md#codersdkconnectionlogresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ConnectionLogResponse](schemas.md#codersdkconnectionlogresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -359,9 +359,9 @@ curl -X GET http://coder-server:8080/api/v2/entitlements \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Entitlements](schemas.md#codersdkentitlements) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Entitlements](schemas.md#codersdkentitlements)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -380,11 +380,11 @@ curl -X GET http://coder-server:8080/api/v2/groups?organization=string&has_membe ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|--------|----------|-----------------------------------| -| `organization` | query | string | true | Organization ID or name | -| `has_member` | query | string | true | User ID or name | -| `group_ids` | query | string | true | Comma separated list of group IDs | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|query|string|true|Organization ID or name| +|`has_member`|query|string|true|User ID or name| +|`group_ids`|query|string|true|Comma separated list of group IDs| ### Example responses @@ -424,54 +424,54 @@ curl -X GET http://coder-server:8080/api/v2/groups?organization=string&has_membe ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Group](schemas.md#codersdkgroup)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» avatar_url` | string(uri) | false | | | -| `» display_name` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» members` | array | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» created_at` | string(date-time) | true | | | -| `»» email` | string(email) | true | | | -| `»» id` | string(uuid) | true | | | -| `»» last_seen_at` | string(date-time) | false | | | -| `»» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `»» name` | string | false | | | -| `»» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `»» theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. | -| `»» updated_at` | string(date-time) | false | | | -| `»» username` | string | true | | | -| `» name` | string | false | | | -| `» organization_display_name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_name` | string | false | | | -| `» quota_allowance` | integer | false | | | -| `» source` | [codersdk.GroupSource](schemas.md#codersdkgroupsource) | false | | | -| `» total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string(uri)|false||| +|`» display_name`|string|false||| +|`» id`|string(uuid)|false||| +|`» members`|array|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» created_at`|string(date-time)|true||| +|`»» email`|string(email)|true||| +|`»» id`|string(uuid)|true||| +|`»» last_seen_at`|string(date-time)|false||| +|`»» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`»» name`|string|false||| +|`»» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`»» theme_preference`|string|false||Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead.| +|`»» updated_at`|string(date-time)|false||| +|`»» username`|string|true||| +|`» name`|string|false||| +|`» organization_display_name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_name`|string|false||| +|`» quota_allowance`|integer|false||| +|`» source`|[codersdk.GroupSource](schemas.md#codersdkgroupsource)|false||| +|`» total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| #### Enumerated Values -| Property | Value | -|--------------|-------------| -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `status` | `active` | -| `status` | `suspended` | -| `source` | `user` | -| `source` | `oidc` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`status`|`active`| +|`status`|`suspended`| +|`source`|`user`| +|`source`|`oidc`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -490,9 +490,9 @@ curl -X GET http://coder-server:8080/api/v2/groups/{group} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------|----------|-------------| -| `group` | path | string | true | Group id | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`group`|path|string|true|Group id| ### Example responses @@ -530,9 +530,9 @@ curl -X GET http://coder-server:8080/api/v2/groups/{group} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Group](schemas.md#codersdkgroup)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -551,9 +551,9 @@ curl -X DELETE http://coder-server:8080/api/v2/groups/{group} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------|----------|-------------| -| `group` | path | string | true | Group name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`group`|path|string|true|Group name| ### Example responses @@ -591,9 +591,9 @@ curl -X DELETE http://coder-server:8080/api/v2/groups/{group} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Group](schemas.md#codersdkgroup)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -630,10 +630,10 @@ curl -X PATCH http://coder-server:8080/api/v2/groups/{group} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------------------------------------------------------------------|----------|---------------------| -| `group` | path | string | true | Group name | -| `body` | body | [codersdk.PatchGroupRequest](schemas.md#codersdkpatchgrouprequest) | true | Patch group request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`group`|path|string|true|Group name| +|`body`|body|[codersdk.PatchGroupRequest](schemas.md#codersdkpatchgrouprequest)|true|Patch group request| ### Example responses @@ -671,9 +671,9 @@ curl -X PATCH http://coder-server:8080/api/v2/groups/{group} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Group](schemas.md#codersdkgroup)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -707,21 +707,21 @@ curl -X GET http://coder-server:8080/api/v2/licenses \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.License](schemas.md#codersdklicense) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.License](schemas.md#codersdklicense)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------|-------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» claims` | object | false | | Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. | -| `» id` | integer | false | | | -| `» uploaded_at` | string(date-time) | false | | | -| `» uuid` | string(uuid) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» claims`|object|false||Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands.| +|`» id`|integer|false||| +|`» uploaded_at`|string(date-time)|false||| +|`» uuid`|string(uuid)|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -739,15 +739,15 @@ curl -X DELETE http://coder-server:8080/api/v2/licenses/{id} \ ### Parameters -| Name | In | Type | Required | Description | -|------|------|----------------|----------|-------------| -| `id` | path | string(number) | true | License ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`id`|path|string(number)|true|License ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -765,16 +765,16 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/templates/{notificatio ### Parameters -| Name | In | Type | Required | Description | -|-------------------------|------|--------|----------|----------------------------| -| `notification_template` | path | string | true | Notification template UUID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`notification_template`|path|string|true|Notification template UUID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|--------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | Success | | -| 304 | [Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1) | Not modified | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success|| +|304|[Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1)|Not modified|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -793,9 +793,9 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps \ ### Parameters -| Name | In | Type | Required | Description | -|-----------|-------|--------|----------|----------------------------------------------| -| `user_id` | query | string | false | Filter by applications authorized for a user | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user_id`|query|string|false|Filter by applications authorized for a user| ### Example responses @@ -819,25 +819,25 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|---------------------------|----------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» callback_url` | string | false | | | -| `» endpoints` | [codersdk.OAuth2AppEndpoints](schemas.md#codersdkoauth2appendpoints) | false | | Endpoints are included in the app response for easier discovery. The OAuth2 spec does not have a defined place to find these (for comparison, OIDC has a '/.well-known/openid-configuration' endpoint). | -| `»» authorization` | string | false | | | -| `»» device_authorization` | string | false | | Device authorization is optional. | -| `»» token` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» callback_url`|string|false||| +|`» endpoints`|[codersdk.OAuth2AppEndpoints](schemas.md#codersdkoauth2appendpoints)|false||Endpoints are included in the app response for easier discovery. The OAuth2 spec does not have a defined place to find these (for comparison, OIDC has a '/.well-known/openid-configuration' endpoint).| +|`»» authorization`|string|false||| +|`»» device_authorization`|string|false||Device authorization is optional.| +|`»» token`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» name`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -867,9 +867,9 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------------|----------|-----------------------------------| -| `body` | body | [codersdk.PostOAuth2ProviderAppRequest](schemas.md#codersdkpostoauth2providerapprequest) | true | The OAuth2 application to create. | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.PostOAuth2ProviderAppRequest](schemas.md#codersdkpostoauth2providerapprequest)|true|The OAuth2 application to create.| ### Example responses @@ -891,9 +891,9 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -912,9 +912,9 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \ ### Parameters -| Name | In | Type | Required | Description | -|-------|------|--------|----------|-------------| -| `app` | path | string | true | App ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| ### Example responses @@ -936,9 +936,9 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -968,10 +968,10 @@ curl -X PUT http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------------|----------|-------------------------------| -| `app` | path | string | true | App ID | -| `body` | body | [codersdk.PutOAuth2ProviderAppRequest](schemas.md#codersdkputoauth2providerapprequest) | true | Update an OAuth2 application. | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| +|`body`|body|[codersdk.PutOAuth2ProviderAppRequest](schemas.md#codersdkputoauth2providerapprequest)|true|Update an OAuth2 application.| ### Example responses @@ -993,9 +993,9 @@ curl -X PUT http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2ProviderApp](schemas.md#codersdkoauth2providerapp)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1013,15 +1013,15 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2-provider/apps/{app} \ ### Parameters -| Name | In | Type | Required | Description | -|-------|------|--------|----------|-------------| -| `app` | path | string | true | App ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1040,9 +1040,9 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets \ ### Parameters -| Name | In | Type | Required | Description | -|-------|------|--------|----------|-------------| -| `app` | path | string | true | App ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| ### Example responses @@ -1060,20 +1060,20 @@ curl -X GET http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OAuth2ProviderAppSecret](schemas.md#codersdkoauth2providerappsecret) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.OAuth2ProviderAppSecret](schemas.md#codersdkoauth2providerappsecret)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------------------|--------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» client_secret_truncated` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» last_used_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» client_secret_truncated`|string|false||| +|`» id`|string(uuid)|false||| +|`» last_used_at`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1092,9 +1092,9 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets ### Parameters -| Name | In | Type | Required | Description | -|-------|------|--------|----------|-------------| -| `app` | path | string | true | App ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| ### Example responses @@ -1111,19 +1111,19 @@ curl -X POST http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secrets ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OAuth2ProviderAppSecretFull](schemas.md#codersdkoauth2providerappsecretfull) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.OAuth2ProviderAppSecretFull](schemas.md#codersdkoauth2providerappsecretfull)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------|--------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» client_secret_full` | string | false | | | -| `» id` | string(uuid) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» client_secret_full`|string|false||| +|`» id`|string(uuid)|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1141,16 +1141,16 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2-provider/apps/{app}/secret ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------|----------|-------------| -| `app` | path | string | true | App ID | -| `secretID` | path | string | true | Secret ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`app`|path|string|true|App ID| +|`secretID`|path|string|true|Secret ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1168,25 +1168,25 @@ curl -X GET http://coder-server:8080/api/v2/oauth2/authorize?client_id=string&st ### Parameters -| Name | In | Type | Required | Description | -|-----------------|-------|--------|----------|-----------------------------------| -| `client_id` | query | string | true | Client ID | -| `state` | query | string | true | A random unguessable string | -| `response_type` | query | string | true | Response type | -| `redirect_uri` | query | string | false | Redirect here after authorization | -| `scope` | query | string | false | Token scopes (currently ignored) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`client_id`|query|string|true|Client ID| +|`state`|query|string|true|A random unguessable string| +|`response_type`|query|string|true|Response type| +|`redirect_uri`|query|string|false|Redirect here after authorization| +|`scope`|query|string|false|Token scopes (currently ignored)| #### Enumerated Values -| Parameter | Value | -|-----------------|--------| -| `response_type` | `code` | +|Parameter|Value| +|---|---| +|`response_type`|`code`| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|---------------------------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | Returns HTML authorization page | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Returns HTML authorization page|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1204,25 +1204,25 @@ curl -X POST http://coder-server:8080/api/v2/oauth2/authorize?client_id=string&s ### Parameters -| Name | In | Type | Required | Description | -|-----------------|-------|--------|----------|-----------------------------------| -| `client_id` | query | string | true | Client ID | -| `state` | query | string | true | A random unguessable string | -| `response_type` | query | string | true | Response type | -| `redirect_uri` | query | string | false | Redirect here after authorization | -| `scope` | query | string | false | Token scopes (currently ignored) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`client_id`|query|string|true|Client ID| +|`state`|query|string|true|A random unguessable string| +|`response_type`|query|string|true|Response type| +|`redirect_uri`|query|string|false|Redirect here after authorization| +|`scope`|query|string|false|Token scopes (currently ignored)| #### Enumerated Values -| Parameter | Value | -|-----------------|--------| -| `response_type` | `code` | +|Parameter|Value| +|---|---| +|`response_type`|`code`| ### Responses -| Status | Meaning | Description | Schema | -|--------|------------------------------------------------------------|------------------------------------------|--------| -| 302 | [Found](https://tools.ietf.org/html/rfc7231#section-6.4.3) | Returns redirect with authorization code | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|302|[Found](https://tools.ietf.org/html/rfc7231#section-6.4.3)|Returns redirect with authorization code|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1240,9 +1240,9 @@ curl -X GET http://coder-server:8080/api/v2/oauth2/clients/{client_id} \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------|----------|-------------| -| `client_id` | path | string | true | Client ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`client_id`|path|string|true|Client ID| ### Example responses @@ -1283,9 +1283,9 @@ curl -X GET http://coder-server:8080/api/v2/oauth2/clients/{client_id} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ClientConfiguration](schemas.md#codersdkoauth2clientconfiguration) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2ClientConfiguration](schemas.md#codersdkoauth2clientconfiguration)| ## Update OAuth2 client configuration (RFC 7592) @@ -1333,10 +1333,10 @@ curl -X PUT http://coder-server:8080/api/v2/oauth2/clients/{client_id} \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|------------------------------------------------------------------------------------------------|----------|-----------------------| -| `client_id` | path | string | true | Client ID | -| `body` | body | [codersdk.OAuth2ClientRegistrationRequest](schemas.md#codersdkoauth2clientregistrationrequest) | true | Client update request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`client_id`|path|string|true|Client ID| +|`body`|body|[codersdk.OAuth2ClientRegistrationRequest](schemas.md#codersdkoauth2clientregistrationrequest)|true|Client update request| ### Example responses @@ -1377,9 +1377,9 @@ curl -X PUT http://coder-server:8080/api/v2/oauth2/clients/{client_id} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OAuth2ClientConfiguration](schemas.md#codersdkoauth2clientconfiguration) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OAuth2ClientConfiguration](schemas.md#codersdkoauth2clientconfiguration)| ## Delete OAuth2 client registration (RFC 7592) @@ -1395,15 +1395,15 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2/clients/{client_id} ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------|----------|-------------| -| `client_id` | path | string | true | Client ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`client_id`|path|string|true|Client ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| ## OAuth2 dynamic client registration (RFC 7591) @@ -1451,9 +1451,9 @@ curl -X POST http://coder-server:8080/api/v2/oauth2/register \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------------------|----------|-----------------------------| -| `body` | body | [codersdk.OAuth2ClientRegistrationRequest](schemas.md#codersdkoauth2clientregistrationrequest) | true | Client registration request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.OAuth2ClientRegistrationRequest](schemas.md#codersdkoauth2clientregistrationrequest)|true|Client registration request| ### Example responses @@ -1495,9 +1495,9 @@ curl -X POST http://coder-server:8080/api/v2/oauth2/register \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.OAuth2ClientRegistrationResponse](schemas.md#codersdkoauth2clientregistrationresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.OAuth2ClientRegistrationResponse](schemas.md#codersdkoauth2clientregistrationresponse)| ## OAuth2 token exchange @@ -1524,21 +1524,21 @@ grant_type: authorization_code ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------|----------|---------------------------------------------------------------| -| `body` | body | object | false | | -| `» client_id` | body | string | false | Client ID, required if grant_type=authorization_code | -| `» client_secret` | body | string | false | Client secret, required if grant_type=authorization_code | -| `» code` | body | string | false | Authorization code, required if grant_type=authorization_code | -| `» refresh_token` | body | string | false | Refresh token, required if grant_type=refresh_token | -| `» grant_type` | body | string | true | Grant type | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|object|false|| +|`» client_id`|body|string|false|Client ID, required if grant_type=authorization_code| +|`» client_secret`|body|string|false|Client secret, required if grant_type=authorization_code| +|`» code`|body|string|false|Authorization code, required if grant_type=authorization_code| +|`» refresh_token`|body|string|false|Refresh token, required if grant_type=refresh_token| +|`» grant_type`|body|string|true|Grant type| #### Enumerated Values -| Parameter | Value | -|----------------|----------------------| -| `» grant_type` | `authorization_code` | -| `» grant_type` | `refresh_token` | +|Parameter|Value| +|---|---| +|`» grant_type`|`authorization_code`| +|`» grant_type`|`refresh_token`| ### Example responses @@ -1556,9 +1556,9 @@ grant_type: authorization_code ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [oauth2.Token](schemas.md#oauth2token) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[oauth2.Token](schemas.md#oauth2token)| ## Delete OAuth2 application tokens @@ -1574,15 +1574,15 @@ curl -X DELETE http://coder-server:8080/api/v2/oauth2/tokens?client_id=string \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|-------|--------|----------|-------------| -| `client_id` | query | string | true | Client ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`client_id`|query|string|true|Client ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1601,9 +1601,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -1643,54 +1643,54 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Group](schemas.md#codersdkgroup)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» avatar_url` | string(uri) | false | | | -| `» display_name` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» members` | array | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» created_at` | string(date-time) | true | | | -| `»» email` | string(email) | true | | | -| `»» id` | string(uuid) | true | | | -| `»» last_seen_at` | string(date-time) | false | | | -| `»» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `»» name` | string | false | | | -| `»» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `»» theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. | -| `»» updated_at` | string(date-time) | false | | | -| `»» username` | string | true | | | -| `» name` | string | false | | | -| `» organization_display_name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_name` | string | false | | | -| `» quota_allowance` | integer | false | | | -| `» source` | [codersdk.GroupSource](schemas.md#codersdkgroupsource) | false | | | -| `» total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string(uri)|false||| +|`» display_name`|string|false||| +|`» id`|string(uuid)|false||| +|`» members`|array|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» created_at`|string(date-time)|true||| +|`»» email`|string(email)|true||| +|`»» id`|string(uuid)|true||| +|`»» last_seen_at`|string(date-time)|false||| +|`»» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`»» name`|string|false||| +|`»» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`»» theme_preference`|string|false||Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead.| +|`»» updated_at`|string(date-time)|false||| +|`»» username`|string|true||| +|`» name`|string|false||| +|`» organization_display_name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_name`|string|false||| +|`» quota_allowance`|integer|false||| +|`» source`|[codersdk.GroupSource](schemas.md#codersdkgroupsource)|false||| +|`» total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| #### Enumerated Values -| Property | Value | -|--------------|-------------| -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `status` | `active` | -| `status` | `suspended` | -| `source` | `user` | -| `source` | `oidc` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`status`|`active`| +|`status`|`suspended`| +|`source`|`user`| +|`source`|`oidc`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1721,10 +1721,10 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/groups ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------------------------------------------------------------|----------|----------------------| -| `organization` | path | string | true | Organization ID | -| `body` | body | [codersdk.CreateGroupRequest](schemas.md#codersdkcreategrouprequest) | true | Create group request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`body`|body|[codersdk.CreateGroupRequest](schemas.md#codersdkcreategrouprequest)|true|Create group request| ### Example responses @@ -1762,9 +1762,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/groups ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.Group](schemas.md#codersdkgroup)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1783,10 +1783,10 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups/ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `groupName` | path | string | true | Group name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`groupName`|path|string|true|Group name| ### Example responses @@ -1824,9 +1824,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/groups/ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Group](schemas.md#codersdkgroup) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Group](schemas.md#codersdkgroup)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1845,10 +1845,10 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -1863,9 +1863,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceQuota](schemas.md#codersdkworkspacequota) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceQuota](schemas.md#codersdkworkspacequota)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1883,15 +1883,15 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------------------|---------------------|--------| -| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|101|[Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2)|Switching Protocols|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1910,9 +1910,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|-----------------| -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -1935,23 +1935,23 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|---------------------|----------------------------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | string(uuid) | false | | | -| `» name` | string | false | | | -| `» organization` | string(uuid) | false | | | -| `» tags` | [codersdk.ProvisionerKeyTags](schemas.md#codersdkprovisionerkeytags) | false | | | -| `»» [any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|string(uuid)|false||| +|`» name`|string|false||| +|`» organization`|string(uuid)|false||| +|`» tags`|[codersdk.ProvisionerKeyTags](schemas.md#codersdkprovisionerkeytags)|false||| +|`»» [any property]`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1970,9 +1970,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/provis ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|-----------------| -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -1986,9 +1986,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/provis ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.CreateProvisionerKeyResponse](schemas.md#codersdkcreateprovisionerkeyresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.CreateProvisionerKeyResponse](schemas.md#codersdkcreateprovisionerkeyresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2007,9 +2007,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|-----------------| -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -2069,59 +2069,59 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerKeyDaemons](schemas.md#codersdkprovisionerkeydaemons) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerKeyDaemons](schemas.md#codersdkprovisionerkeydaemons)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------------------|--------------------------------------------------------------------------------|----------|--------------|------------------| -| `[array item]` | array | false | | | -| `» daemons` | array | false | | | -| `»» api_version` | string | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» current_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | | -| `»»» template_display_name` | string | false | | | -| `»»» template_icon` | string | false | | | -| `»»» template_name` | string | false | | | -| `»» id` | string(uuid) | false | | | -| `»» key_id` | string(uuid) | false | | | -| `»» key_name` | string | false | | Optional fields. | -| `»» last_seen_at` | string(date-time) | false | | | -| `»» name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» previous_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | | -| `»» provisioners` | array | false | | | -| `»» status` | [codersdk.ProvisionerDaemonStatus](schemas.md#codersdkprovisionerdaemonstatus) | false | | | -| `»» tags` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» version` | string | false | | | -| `» key` | [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» id` | string(uuid) | false | | | -| `»» name` | string | false | | | -| `»» organization` | string(uuid) | false | | | -| `»» tags` | [codersdk.ProvisionerKeyTags](schemas.md#codersdkprovisionerkeytags) | false | | | -| `»»» [any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» daemons`|array|false||| +|`»» api_version`|string|false||| +|`»» created_at`|string(date-time)|false||| +|`»» current_job`|[codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob)|false||| +|`»»» id`|string(uuid)|false||| +|`»»» status`|[codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus)|false||| +|`»»» template_display_name`|string|false||| +|`»»» template_icon`|string|false||| +|`»»» template_name`|string|false||| +|`»» id`|string(uuid)|false||| +|`»» key_id`|string(uuid)|false||| +|`»» key_name`|string|false||Optional fields.| +|`»» last_seen_at`|string(date-time)|false||| +|`»» name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» previous_job`|[codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob)|false||| +|`»» provisioners`|array|false||| +|`»» status`|[codersdk.ProvisionerDaemonStatus](schemas.md#codersdkprovisionerdaemonstatus)|false||| +|`»» tags`|object|false||| +|`»»» [any property]`|string|false||| +|`»» version`|string|false||| +|`» key`|[codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey)|false||| +|`»» created_at`|string(date-time)|false||| +|`»» id`|string(uuid)|false||| +|`»» name`|string|false||| +|`»» organization`|string(uuid)|false||| +|`»» tags`|[codersdk.ProvisionerKeyTags](schemas.md#codersdkprovisionerkeytags)|false||| +|`»»» [any property]`|string|false||| #### Enumerated Values -| Property | Value | -|----------|-------------| -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `status` | `offline` | -| `status` | `idle` | -| `status` | `busy` | +|Property|Value| +|---|---| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`status`|`offline`| +|`status`|`idle`| +|`status`|`busy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2139,16 +2139,16 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/prov ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------|----------|----------------------| -| `organization` | path | string | true | Organization ID | -| `provisionerkey` | path | string | true | Provisioner key name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`provisionerkey`|path|string|true|Provisioner key name| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2167,9 +2167,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -2183,9 +2183,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of string|

Response Schema

@@ -2206,10 +2206,10 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|----------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `claimField` | query | string(string) | true | Claim Field | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`claimField`|query|string(string)|true|Claim Field| ### Example responses @@ -2223,9 +2223,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of string|

Response Schema

@@ -2246,9 +2246,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -2276,9 +2276,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2320,10 +2320,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------------------------------------------------------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `body` | body | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) | true | New settings | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings)|true|New settings| ### Example responses @@ -2351,9 +2351,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2383,10 +2383,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------------------------------------------------------------------------------------|----------|-------------------------| -| `organization` | path | string(uuid) | true | Organization ID or name | -| `body` | body | [codersdk.PatchGroupIDPSyncConfigRequest](schemas.md#codersdkpatchgroupidpsyncconfigrequest) | true | New config values | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID or name| +|`body`|body|[codersdk.PatchGroupIDPSyncConfigRequest](schemas.md#codersdkpatchgroupidpsyncconfigrequest)|true|New config values| ### Example responses @@ -2414,9 +2414,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2455,10 +2455,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|------------------------------------------------------------------------------------------------|----------|-----------------------------------------------| -| `organization` | path | string(uuid) | true | Organization ID or name | -| `body` | body | [codersdk.PatchGroupIDPSyncMappingRequest](schemas.md#codersdkpatchgroupidpsyncmappingrequest) | true | Description of the mappings to add and remove | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID or name| +|`body`|body|[codersdk.PatchGroupIDPSyncMappingRequest](schemas.md#codersdkpatchgroupidpsyncmappingrequest)|true|Description of the mappings to add and remove| ### Example responses @@ -2486,9 +2486,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GroupSyncSettings](schemas.md#codersdkgroupsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2507,9 +2507,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -2531,9 +2531,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/setting ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2569,10 +2569,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|------------------------------------------------------------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `body` | body | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) | true | New settings | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings)|true|New settings| ### Example responses @@ -2594,9 +2594,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2624,10 +2624,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------------------------------------------------------------------------------------|----------|-------------------------| -| `organization` | path | string(uuid) | true | Organization ID or name | -| `body` | body | [codersdk.PatchRoleIDPSyncConfigRequest](schemas.md#codersdkpatchroleidpsyncconfigrequest) | true | New config values | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID or name| +|`body`|body|[codersdk.PatchRoleIDPSyncConfigRequest](schemas.md#codersdkpatchroleidpsyncconfigrequest)|true|New config values| ### Example responses @@ -2649,9 +2649,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2690,10 +2690,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------------------------------------------------------------------------------------|----------|-----------------------------------------------| -| `organization` | path | string(uuid) | true | Organization ID or name | -| `body` | body | [codersdk.PatchRoleIDPSyncMappingRequest](schemas.md#codersdkpatchroleidpsyncmappingrequest) | true | Description of the mappings to add and remove | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID or name| +|`body`|body|[codersdk.PatchRoleIDPSyncMappingRequest](schemas.md#codersdkpatchroleidpsyncmappingrequest)|true|Description of the mappings to add and remove| ### Example responses @@ -2715,9 +2715,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization}/setti ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.RoleSyncSettings](schemas.md#codersdkrolesyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2735,9 +2735,9 @@ curl -X GET http://coder-server:8080/api/v2/provisionerkeys/{provisionerkey} \ ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------|----------|-----------------| -| `provisionerkey` | path | string | true | Provisioner Key | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`provisionerkey`|path|string|true|Provisioner Key| ### Example responses @@ -2758,9 +2758,9 @@ curl -X GET http://coder-server:8080/api/v2/provisionerkeys/{provisionerkey} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ProvisionerKey](schemas.md#codersdkprovisionerkey)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2797,24 +2797,24 @@ curl -X GET http://coder-server:8080/api/v2/replicas \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Replica](schemas.md#codersdkreplica) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Replica](schemas.md#codersdkreplica)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------|-------------------|----------|--------------|--------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | Created at is the timestamp when the replica was first seen. | -| `» database_latency` | integer | false | | Database latency is the latency in microseconds to the database. | -| `» error` | string | false | | Error is the replica error. | -| `» hostname` | string | false | | Hostname is the hostname of the replica. | -| `» id` | string(uuid) | false | | ID is the unique identifier for the replica. | -| `» region_id` | integer | false | | Region ID is the region of the replica. | -| `» relay_address` | string | false | | Relay address is the accessible address to relay DERP connections. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||Created at is the timestamp when the replica was first seen.| +|`» database_latency`|integer|false||Database latency is the latency in microseconds to the database.| +|`» error`|string|false||Error is the replica error.| +|`» hostname`|string|false||Hostname is the hostname of the replica.| +|`» id`|string(uuid)|false||ID is the unique identifier for the replica.| +|`» region_id`|integer|false||Region ID is the region of the replica.| +|`» relay_address`|string|false||Relay address is the accessible address to relay DERP connections.| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2832,9 +2832,9 @@ curl -X GET http://coder-server:8080/api/v2/scim/v2/ServiceProviderConfig ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| ## SCIM 2.0: Get users @@ -2850,9 +2850,9 @@ curl -X GET http://coder-server:8080/api/v2/scim/v2/Users \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2903,9 +2903,9 @@ curl -X POST http://coder-server:8080/api/v2/scim/v2/Users \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------|----------|-------------| -| `body` | body | [coderd.SCIMUser](schemas.md#coderdscimuser) | true | New user | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[coderd.SCIMUser](schemas.md#coderdscimuser)|true|New user| ### Example responses @@ -2942,9 +2942,9 @@ curl -X POST http://coder-server:8080/api/v2/scim/v2/Users \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [coderd.SCIMUser](schemas.md#coderdscimuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[coderd.SCIMUser](schemas.md#coderdscimuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2962,15 +2962,15 @@ curl -X GET http://coder-server:8080/api/v2/scim/v2/Users/{id} \ ### Parameters -| Name | In | Type | Required | Description | -|------|------|--------------|----------|-------------| -| `id` | path | string(uuid) | true | User ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`id`|path|string(uuid)|true|User ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|----------------------------------------------------------------|-------------|--------| -| 404 | [Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4) | Not Found | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not Found|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3021,10 +3021,10 @@ curl -X PUT http://coder-server:8080/api/v2/scim/v2/Users/{id} \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------|----------|----------------------| -| `id` | path | string(uuid) | true | User ID | -| `body` | body | [coderd.SCIMUser](schemas.md#coderdscimuser) | true | Replace user request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`id`|path|string(uuid)|true|User ID| +|`body`|body|[coderd.SCIMUser](schemas.md#coderdscimuser)|true|Replace user request| ### Example responses @@ -3058,9 +3058,9 @@ curl -X PUT http://coder-server:8080/api/v2/scim/v2/Users/{id} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3111,10 +3111,10 @@ curl -X PATCH http://coder-server:8080/api/v2/scim/v2/Users/{id} \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------|----------|---------------------| -| `id` | path | string(uuid) | true | User ID | -| `body` | body | [coderd.SCIMUser](schemas.md#coderdscimuser) | true | Update user request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`id`|path|string(uuid)|true|User ID| +|`body`|body|[coderd.SCIMUser](schemas.md#coderdscimuser)|true|Update user request| ### Example responses @@ -3148,9 +3148,9 @@ curl -X PATCH http://coder-server:8080/api/v2/scim/v2/Users/{id} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3169,9 +3169,9 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/available-fields \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -3185,9 +3185,9 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/available-fields \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of string|

Response Schema

@@ -3208,10 +3208,10 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/field-values?claimF ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|----------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `claimField` | query | string(string) | true | Claim Field | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`claimField`|query|string(string)|true|Claim Field| ### Example responses @@ -3225,9 +3225,9 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/field-values?claimF ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of string | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of string|

Response Schema

@@ -3267,9 +3267,9 @@ curl -X GET http://coder-server:8080/api/v2/settings/idpsync/organization \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3306,9 +3306,9 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------|----------|--------------| -| `body` | body | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) | true | New settings | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings)|true|New settings| ### Example responses @@ -3331,9 +3331,9 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3362,9 +3362,9 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization/conf ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------------------------------|----------|-------------------| -| `body` | body | [codersdk.PatchOrganizationIDPSyncConfigRequest](schemas.md#codersdkpatchorganizationidpsyncconfigrequest) | true | New config values | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.PatchOrganizationIDPSyncConfigRequest](schemas.md#codersdkpatchorganizationidpsyncconfigrequest)|true|New config values| ### Example responses @@ -3387,9 +3387,9 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization/conf ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3428,9 +3428,9 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization/mapp ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------------------------------------------|----------|-----------------------------------------------| -| `body` | body | [codersdk.PatchOrganizationIDPSyncMappingRequest](schemas.md#codersdkpatchorganizationidpsyncmappingrequest) | true | Description of the mappings to add and remove | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.PatchOrganizationIDPSyncMappingRequest](schemas.md#codersdkpatchorganizationidpsyncmappingrequest)|true|Description of the mappings to add and remove| ### Example responses @@ -3453,9 +3453,9 @@ curl -X PATCH http://coder-server:8080/api/v2/settings/idpsync/organization/mapp ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OrganizationSyncSettings](schemas.md#codersdkorganizationsyncsettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3474,9 +3474,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------|----------|-------------| -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -3545,9 +3545,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateACL](schemas.md#codersdktemplateacl) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TemplateACL](schemas.md#codersdktemplateacl)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3582,10 +3582,10 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/acl \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------------------------------------------------------------|----------|-------------------------| -| `template` | path | string(uuid) | true | Template ID | -| `body` | body | [codersdk.UpdateTemplateACL](schemas.md#codersdkupdatetemplateacl) | true | Update template request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`body`|body|[codersdk.UpdateTemplateACL](schemas.md#codersdkupdatetemplateacl)|true|Update template request| ### Example responses @@ -3606,9 +3606,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/acl \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3627,9 +3627,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl/available \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------|----------|-------------| -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -3688,56 +3688,56 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/acl/available \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ACLAvailable](schemas.md#codersdkaclavailable) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ACLAvailable](schemas.md#codersdkaclavailable)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|--------------------------------|--------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» groups` | array | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» display_name` | string | false | | | -| `»» id` | string(uuid) | false | | | -| `»» members` | array | false | | | -| `»»» avatar_url` | string(uri) | false | | | -| `»»» created_at` | string(date-time) | true | | | -| `»»» email` | string(email) | true | | | -| `»»» id` | string(uuid) | true | | | -| `»»» last_seen_at` | string(date-time) | false | | | -| `»»» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | false | | | -| `»»» name` | string | false | | | -| `»»» status` | [codersdk.UserStatus](schemas.md#codersdkuserstatus) | false | | | -| `»»» theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. | -| `»»» updated_at` | string(date-time) | false | | | -| `»»» username` | string | true | | | -| `»» name` | string | false | | | -| `»» organization_display_name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» organization_name` | string | false | | | -| `»» quota_allowance` | integer | false | | | -| `»» source` | [codersdk.GroupSource](schemas.md#codersdkgroupsource) | false | | | -| `»» total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | -| `» users` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» groups`|array|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» display_name`|string|false||| +|`»» id`|string(uuid)|false||| +|`»» members`|array|false||| +|`»»» avatar_url`|string(uri)|false||| +|`»»» created_at`|string(date-time)|true||| +|`»»» email`|string(email)|true||| +|`»»» id`|string(uuid)|true||| +|`»»» last_seen_at`|string(date-time)|false||| +|`»»» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|false||| +|`»»» name`|string|false||| +|`»»» status`|[codersdk.UserStatus](schemas.md#codersdkuserstatus)|false||| +|`»»» theme_preference`|string|false||Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead.| +|`»»» updated_at`|string(date-time)|false||| +|`»»» username`|string|true||| +|`»» name`|string|false||| +|`»» organization_display_name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» organization_name`|string|false||| +|`»» quota_allowance`|integer|false||| +|`»» source`|[codersdk.GroupSource](schemas.md#codersdkgroupsource)|false||| +|`»» total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| +|`» users`|array|false||| #### Enumerated Values -| Property | Value | -|--------------|-------------| -| `login_type` | `` | -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `login_type` | `none` | -| `status` | `active` | -| `status` | `suspended` | -| `source` | `user` | -| `source` | `oidc` | +|Property|Value| +|---|---| +|`login_type`|``| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`login_type`|`none`| +|`status`|`active`| +|`status`|`suspended`| +|`source`|`user`| +|`source`|`oidc`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3756,9 +3756,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/quiet-hours \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------|----------|-------------| -| `user` | path | string(uuid) | true | User ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string(uuid)|true|User ID| ### Example responses @@ -3779,23 +3779,23 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/quiet-hours \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.UserQuietHoursScheduleResponse](schemas.md#codersdkuserquiethoursscheduleresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.UserQuietHoursScheduleResponse](schemas.md#codersdkuserquiethoursscheduleresponse)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------|-------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» next` | string(date-time) | false | | Next is the next time that the quiet hours window will start. | -| `» raw_schedule` | string | false | | | -| `» time` | string | false | | Time is the time of day that the quiet hours window starts in the given Timezone each day. | -| `» timezone` | string | false | | raw format from the cron expression, UTC if unspecified | -| `» user_can_set` | boolean | false | | User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used. | -| `» user_set` | boolean | false | | User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» next`|string(date-time)|false||Next is the next time that the quiet hours window will start.| +|`» raw_schedule`|string|false||| +|`» time`|string|false||Time is the time of day that the quiet hours window starts in the given Timezone each day.| +|`» timezone`|string|false||raw format from the cron expression, UTC if unspecified| +|`» user_can_set`|boolean|false||User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used.| +|`» user_set`|boolean|false||User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3823,10 +3823,10 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/quiet-hours \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------------------------------------|----------|-------------------------| -| `user` | path | string(uuid) | true | User ID | -| `body` | body | [codersdk.UpdateUserQuietHoursScheduleRequest](schemas.md#codersdkupdateuserquiethoursschedulerequest) | true | Update schedule request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string(uuid)|true|User ID| +|`body`|body|[codersdk.UpdateUserQuietHoursScheduleRequest](schemas.md#codersdkupdateuserquiethoursschedulerequest)|true|Update schedule request| ### Example responses @@ -3847,23 +3847,23 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/quiet-hours \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.UserQuietHoursScheduleResponse](schemas.md#codersdkuserquiethoursscheduleresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.UserQuietHoursScheduleResponse](schemas.md#codersdkuserquiethoursscheduleresponse)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------|-------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» next` | string(date-time) | false | | Next is the next time that the quiet hours window will start. | -| `» raw_schedule` | string | false | | | -| `» time` | string | false | | Time is the time of day that the quiet hours window starts in the given Timezone each day. | -| `» timezone` | string | false | | raw format from the cron expression, UTC if unspecified | -| `» user_can_set` | boolean | false | | User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used. | -| `» user_set` | boolean | false | | User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» next`|string(date-time)|false||Next is the next time that the quiet hours window will start.| +|`» raw_schedule`|string|false||| +|`» time`|string|false||Time is the time of day that the quiet hours window starts in the given Timezone each day.| +|`» timezone`|string|false||raw format from the cron expression, UTC if unspecified| +|`» user_can_set`|boolean|false||User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used.| +|`» user_set`|boolean|false||User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3882,9 +3882,9 @@ curl -X GET http://coder-server:8080/api/v2/workspace-quota/{user} \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -3899,9 +3899,9 @@ curl -X GET http://coder-server:8080/api/v2/workspace-quota/{user} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceQuota](schemas.md#codersdkworkspacequota) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceQuota](schemas.md#codersdkworkspacequota)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3960,46 +3960,46 @@ curl -X GET http://coder-server:8080/api/v2/workspaceproxies \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.RegionsResponse-codersdk_WorkspaceProxy](schemas.md#codersdkregionsresponse-codersdk_workspaceproxy) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.RegionsResponse-codersdk_WorkspaceProxy](schemas.md#codersdkregionsresponse-codersdk_workspaceproxy)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------|--------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» regions` | array | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» deleted` | boolean | false | | | -| `»» derp_enabled` | boolean | false | | | -| `»» derp_only` | boolean | false | | | -| `»» display_name` | string | false | | | -| `»» healthy` | boolean | false | | | -| `»» icon_url` | string | false | | | -| `»» id` | string(uuid) | false | | | -| `»» name` | string | false | | | -| `»» path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com | -| `»» status` | [codersdk.WorkspaceProxyStatus](schemas.md#codersdkworkspaceproxystatus) | false | | Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. | -| `»»» checked_at` | string(date-time) | false | | | -| `»»» report` | [codersdk.ProxyHealthReport](schemas.md#codersdkproxyhealthreport) | false | | Report provides more information about the health of the workspace proxy. | -| `»»»» errors` | array | false | | Errors are problems that prevent the workspace proxy from being healthy | -| `»»»» warnings` | array | false | | Warnings do not prevent the workspace proxy from being healthy, but should be addressed. | -| `»»» status` | [codersdk.ProxyHealthStatus](schemas.md#codersdkproxyhealthstatus) | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `»» wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» regions`|array|false||| +|`»» created_at`|string(date-time)|false||| +|`»» deleted`|boolean|false||| +|`»» derp_enabled`|boolean|false||| +|`»» derp_only`|boolean|false||| +|`»» display_name`|string|false||| +|`»» healthy`|boolean|false||| +|`»» icon_url`|string|false||| +|`»» id`|string(uuid)|false||| +|`»» name`|string|false||| +|`»» path_app_url`|string|false||Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com| +|`»» status`|[codersdk.WorkspaceProxyStatus](schemas.md#codersdkworkspaceproxystatus)|false||Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use.| +|`»»» checked_at`|string(date-time)|false||| +|`»»» report`|[codersdk.ProxyHealthReport](schemas.md#codersdkproxyhealthreport)|false||Report provides more information about the health of the workspace proxy.| +|`»»»» errors`|array|false||Errors are problems that prevent the workspace proxy from being healthy| +|`»»»» warnings`|array|false||Warnings do not prevent the workspace proxy from being healthy, but should be addressed.| +|`»»» status`|[codersdk.ProxyHealthStatus](schemas.md#codersdkproxyhealthstatus)|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`»» wildcard_hostname`|string|false||Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL.| #### Enumerated Values -| Property | Value | -|----------|----------------| -| `status` | `ok` | -| `status` | `unreachable` | -| `status` | `unhealthy` | -| `status` | `unregistered` | +|Property|Value| +|---|---| +|`status`|`ok`| +|`status`|`unreachable`| +|`status`|`unhealthy`| +|`status`|`unregistered`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -4029,9 +4029,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceproxies \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------------|----------|--------------------------------| -| `body` | body | [codersdk.CreateWorkspaceProxyRequest](schemas.md#codersdkcreateworkspaceproxyrequest) | true | Create workspace proxy request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateWorkspaceProxyRequest](schemas.md#codersdkcreateworkspaceproxyrequest)|true|Create workspace proxy request| ### Example responses @@ -4069,9 +4069,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaceproxies \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -4090,9 +4090,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} \ ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|------------------| -| `workspaceproxy` | path | string(uuid) | true | Proxy ID or name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceproxy`|path|string(uuid)|true|Proxy ID or name| ### Example responses @@ -4130,9 +4130,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -4151,9 +4151,9 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|--------------|----------|------------------| -| `workspaceproxy` | path | string(uuid) | true | Proxy ID or name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceproxy`|path|string(uuid)|true|Proxy ID or name| ### Example responses @@ -4174,9 +4174,9 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -4208,10 +4208,10 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} ### Parameters -| Name | In | Type | Required | Description | -|------------------|------|------------------------------------------------------------------------|----------|--------------------------------| -| `workspaceproxy` | path | string(uuid) | true | Proxy ID or name | -| `body` | body | [codersdk.PatchWorkspaceProxy](schemas.md#codersdkpatchworkspaceproxy) | true | Update workspace proxy request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspaceproxy`|path|string(uuid)|true|Proxy ID or name| +|`body`|body|[codersdk.PatchWorkspaceProxy](schemas.md#codersdkpatchworkspaceproxy)|true|Update workspace proxy request| ### Example responses @@ -4249,8 +4249,8 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaceproxies/{workspaceproxy} ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceProxy](schemas.md#codersdkworkspaceproxy)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/files.md b/docs/reference/api/files.md index 7b937876bbf3b..4c634830d4830 100644 --- a/docs/reference/api/files.md +++ b/docs/reference/api/files.md @@ -23,11 +23,11 @@ file: string ### Parameters -| Name | In | Type | Required | Description | -|----------------|--------|--------|----------|------------------------------------------------------------------------------------------------| -| `Content-Type` | header | string | true | Content-Type must be `application/x-tar` or `application/zip` | -| `body` | body | object | true | | -| `» file` | body | binary | true | File to be uploaded. If using tar format, file must conform to ustar (pax may cause problems). | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`Content-Type`|header|string|true|Content-Type must be `application/x-tar` or `application/zip`| +|`body`|body|object|true|| +|`» file`|body|binary|true|File to be uploaded. If using tar format, file must conform to ustar (pax may cause problems).| ### Example responses @@ -41,9 +41,9 @@ file: string ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.UploadResponse](schemas.md#codersdkuploadresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.UploadResponse](schemas.md#codersdkuploadresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -61,14 +61,14 @@ curl -X GET http://coder-server:8080/api/v2/files/{fileID} \ ### Parameters -| Name | In | Type | Required | Description | -|----------|------|--------------|----------|-------------| -| `fileID` | path | string(uuid) | true | File ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`fileID`|path|string(uuid)|true|File ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/general.md b/docs/reference/api/general.md index 72543f6774dfd..0d32b31728d16 100644 --- a/docs/reference/api/general.md +++ b/docs/reference/api/general.md @@ -31,9 +31,9 @@ curl -X GET http://coder-server:8080/api/v2/ \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| ## Build info @@ -68,9 +68,9 @@ curl -X GET http://coder-server:8080/api/v2/buildinfo \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.BuildInfoResponse](schemas.md#codersdkbuildinforesponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.BuildInfoResponse](schemas.md#codersdkbuildinforesponse)| ## Report CSP violations @@ -95,15 +95,15 @@ curl -X POST http://coder-server:8080/api/v2/csp/reports \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------|----------|------------------| -| `body` | body | [coderd.cspViolation](schemas.md#coderdcspviolation) | true | Violation report | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[coderd.cspViolation](schemas.md#coderdcspviolation)|true|Violation report| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -566,9 +566,9 @@ curl -X GET http://coder-server:8080/api/v2/deployment/config \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DeploymentConfig](schemas.md#codersdkdeploymentconfig) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.DeploymentConfig](schemas.md#codersdkdeploymentconfig)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -602,9 +602,9 @@ curl -X GET http://coder-server:8080/api/v2/deployment/ssh \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.SSHConfigResponse](schemas.md#codersdksshconfigresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.SSHConfigResponse](schemas.md#codersdksshconfigresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -654,9 +654,9 @@ curl -X GET http://coder-server:8080/api/v2/deployment/stats \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DeploymentStats](schemas.md#codersdkdeploymentstats) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.DeploymentStats](schemas.md#codersdkdeploymentstats)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -685,17 +685,17 @@ curl -X GET http://coder-server:8080/api/v2/experiments \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Experiment](schemas.md#codersdkexperiment) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Experiment](schemas.md#codersdkexperiment)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|-------|----------|--------------|-------------| -| `[array item]` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -724,17 +724,17 @@ curl -X GET http://coder-server:8080/api/v2/experiments/available \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Experiment](schemas.md#codersdkexperiment) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Experiment](schemas.md#codersdkexperiment)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|-------|----------|--------------|-------------| -| `[array item]` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -764,9 +764,9 @@ curl -X GET http://coder-server:8080/api/v2/updatecheck \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UpdateCheckResponse](schemas.md#codersdkupdatecheckresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UpdateCheckResponse](schemas.md#codersdkupdatecheckresponse)| ## Get token config @@ -783,9 +783,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/tokenconfig ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -799,8 +799,8 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/tokenconfig ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TokenConfig](schemas.md#codersdktokenconfig) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TokenConfig](schemas.md#codersdktokenconfig)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/git.md b/docs/reference/api/git.md index fc36f184a7c97..72a710ec95d7e 100644 --- a/docs/reference/api/git.md +++ b/docs/reference/api/git.md @@ -31,9 +31,9 @@ curl -X GET http://coder-server:8080/api/v2/external-auth \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuthLink](schemas.md#codersdkexternalauthlink) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ExternalAuthLink](schemas.md#codersdkexternalauthlink)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -52,9 +52,9 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth} \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------|----------|-----------------| -| `externalauth` | path | string(string) | true | Git Provider ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`externalauth`|path|string(string)|true|Git Provider ID| ### Example responses @@ -92,9 +92,9 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuth](schemas.md#codersdkexternalauth) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ExternalAuth](schemas.md#codersdkexternalauth)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -112,15 +112,15 @@ curl -X DELETE http://coder-server:8080/api/v2/external-auth/{externalauth} \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------|----------|-----------------| -| `externalauth` | path | string(string) | true | Git Provider ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`externalauth`|path|string(string)|true|Git Provider ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -139,9 +139,9 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth}/device ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------|----------|-----------------| -| `externalauth` | path | string(string) | true | Git Provider ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`externalauth`|path|string(string)|true|Git Provider ID| ### Example responses @@ -159,9 +159,9 @@ curl -X GET http://coder-server:8080/api/v2/external-auth/{externalauth}/device ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuthDevice](schemas.md#codersdkexternalauthdevice) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ExternalAuthDevice](schemas.md#codersdkexternalauthdevice)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -179,14 +179,14 @@ curl -X POST http://coder-server:8080/api/v2/external-auth/{externalauth}/device ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------|----------|----------------------| -| `externalauth` | path | string(string) | true | External Provider ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`externalauth`|path|string(string)|true|External Provider ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/insights.md b/docs/reference/api/insights.md index b8fcdbbb1e776..ed0c104c0f6ee 100644 --- a/docs/reference/api/insights.md +++ b/docs/reference/api/insights.md @@ -15,9 +15,9 @@ curl -X GET http://coder-server:8080/api/v2/insights/daus?tz_offset=0 \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|-------|---------|----------|----------------------------| -| `tz_offset` | query | integer | true | Time-zone offset (e.g. -2) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`tz_offset`|query|integer|true|Time-zone offset (e.g. -2)| ### Example responses @@ -37,9 +37,9 @@ curl -X GET http://coder-server:8080/api/v2/insights/daus?tz_offset=0 \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DAUsResponse](schemas.md#codersdkdausresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.DAUsResponse](schemas.md#codersdkdausresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -58,19 +58,19 @@ curl -X GET http://coder-server:8080/api/v2/insights/templates?start_time=2019-0 ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|-------------------|----------|--------------| -| `start_time` | query | string(date-time) | true | Start time | -| `end_time` | query | string(date-time) | true | End time | -| `interval` | query | string | true | Interval | -| `template_ids` | query | array[string] | false | Template IDs | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`start_time`|query|string(date-time)|true|Start time| +|`end_time`|query|string(date-time)|true|End time| +|`interval`|query|string|true|Interval| +|`template_ids`|query|array[string]|false|Template IDs| #### Enumerated Values -| Parameter | Value | -|------------|--------| -| `interval` | `week` | -| `interval` | `day` | +|Parameter|Value| +|---|---| +|`interval`|`week`| +|`interval`|`day`| ### Example responses @@ -140,9 +140,9 @@ curl -X GET http://coder-server:8080/api/v2/insights/templates?start_time=2019-0 ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateInsightsResponse](schemas.md#codersdktemplateinsightsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TemplateInsightsResponse](schemas.md#codersdktemplateinsightsresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -161,11 +161,11 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-activity?start_time=20 ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|-------------------|----------|--------------| -| `start_time` | query | string(date-time) | true | Start time | -| `end_time` | query | string(date-time) | true | End time | -| `template_ids` | query | array[string] | false | Template IDs | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`start_time`|query|string(date-time)|true|Start time| +|`end_time`|query|string(date-time)|true|End time| +|`template_ids`|query|array[string]|false|Template IDs| ### Example responses @@ -196,9 +196,9 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-activity?start_time=20 ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserActivityInsightsResponse](schemas.md#codersdkuseractivityinsightsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UserActivityInsightsResponse](schemas.md#codersdkuseractivityinsightsresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -217,11 +217,11 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-latency?start_time=201 ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|-------------------|----------|--------------| -| `start_time` | query | string(date-time) | true | Start time | -| `end_time` | query | string(date-time) | true | End time | -| `template_ids` | query | array[string] | false | Template IDs | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`start_time`|query|string(date-time)|true|Start time| +|`end_time`|query|string(date-time)|true|End time| +|`template_ids`|query|array[string]|false|Template IDs| ### Example responses @@ -255,9 +255,9 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-latency?start_time=201 ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserLatencyInsightsResponse](schemas.md#codersdkuserlatencyinsightsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UserLatencyInsightsResponse](schemas.md#codersdkuserlatencyinsightsresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -276,9 +276,9 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-status-counts?tz_offse ### Parameters -| Name | In | Type | Required | Description | -|-------------|-------|---------|----------|----------------------------| -| `tz_offset` | query | integer | true | Time-zone offset (e.g. -2) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`tz_offset`|query|integer|true|Time-zone offset (e.g. -2)| ### Example responses @@ -305,8 +305,8 @@ curl -X GET http://coder-server:8080/api/v2/insights/user-status-counts?tz_offse ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GetUserStatusCountsResponse](schemas.md#codersdkgetuserstatuscountsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GetUserStatusCountsResponse](schemas.md#codersdkgetuserstatuscountsresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/members.md b/docs/reference/api/members.md index 4b0adbf45e338..89353394182b5 100644 --- a/docs/reference/api/members.md +++ b/docs/reference/api/members.md @@ -15,9 +15,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|-----------------| -| `organization` | path | string | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| ### Example responses @@ -54,30 +54,30 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.OrganizationMemberWithUserData](schemas.md#codersdkorganizationmemberwithuserdata) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.OrganizationMemberWithUserData](schemas.md#codersdkorganizationmemberwithuserdata)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------|-------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» avatar_url` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» email` | string | false | | | -| `» global_roles` | array | false | | | -| `»» display_name` | string | false | | | -| `»» name` | string | false | | | -| `»» organization_id` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» roles` | array | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» user_id` | string(uuid) | false | | | -| `» username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» avatar_url`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» email`|string|false||| +|`» global_roles`|array|false||| +|`»» display_name`|string|false||| +|`»» name`|string|false||| +|`»» organization_id`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» roles`|array|false||| +|`» updated_at`|string(date-time)|false||| +|`» user_id`|string(uuid)|false||| +|`» username`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -96,9 +96,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -139,87 +139,87 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.AssignableRoles](schemas.md#codersdkassignableroles) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.AssignableRoles](schemas.md#codersdkassignableroles)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» assignable` | boolean | false | | | -| `» built_in` | boolean | false | | Built in roles are immutable | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» assignable`|boolean|false||| +|`» built_in`|boolean|false||Built in roles are immutable| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -|-----------------|------------------------------------| -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `create_agent` | -| `action` | `delete` | -| `action` | `delete_agent` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `unassign` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `connection_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `inbox_notification` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `prebuilt_workspace` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_jobs` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `webpush_subscription` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_agent_devcontainers` | -| `resource_type` | `workspace_agent_resource_monitor` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`create_agent`| +|`action`|`delete`| +|`action`|`delete_agent`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`unassign`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`connection_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`inbox_notification`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`prebuilt_workspace`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_jobs`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`webpush_subscription`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_agent_devcontainers`| +|`resource_type`|`workspace_agent_resource_monitor`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -269,10 +269,10 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------------------------------------------------------------|----------|---------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `body` | body | [codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest) | true | Upsert role request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest)|true|Upsert role request| ### Example responses @@ -311,85 +311,85 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Role](schemas.md#codersdkrole) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Role](schemas.md#codersdkrole)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -|-----------------|------------------------------------| -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `create_agent` | -| `action` | `delete` | -| `action` | `delete_agent` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `unassign` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `connection_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `inbox_notification` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `prebuilt_workspace` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_jobs` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `webpush_subscription` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_agent_devcontainers` | -| `resource_type` | `workspace_agent_resource_monitor` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`create_agent`| +|`action`|`delete`| +|`action`|`delete_agent`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`unassign`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`connection_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`inbox_notification`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`prebuilt_workspace`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_jobs`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`webpush_subscription`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_agent_devcontainers`| +|`resource_type`|`workspace_agent_resource_monitor`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -439,10 +439,10 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------------------------------------------------------------|----------|---------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `body` | body | [codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest) | true | Insert role request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.CustomRoleRequest](schemas.md#codersdkcustomrolerequest)|true|Insert role request| ### Example responses @@ -481,85 +481,85 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Role](schemas.md#codersdkrole) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Role](schemas.md#codersdkrole)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -|-----------------|------------------------------------| -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `create_agent` | -| `action` | `delete` | -| `action` | `delete_agent` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `unassign` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `connection_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `inbox_notification` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `prebuilt_workspace` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_jobs` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `webpush_subscription` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_agent_devcontainers` | -| `resource_type` | `workspace_agent_resource_monitor` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`create_agent`| +|`action`|`delete`| +|`action`|`delete_agent`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`unassign`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`connection_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`inbox_notification`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`prebuilt_workspace`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_jobs`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`webpush_subscription`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_agent_devcontainers`| +|`resource_type`|`workspace_agent_resource_monitor`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -578,10 +578,10 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `roleName` | path | string | true | Role name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`roleName`|path|string|true|Role name| ### Example responses @@ -620,85 +620,85 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Role](schemas.md#codersdkrole) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Role](schemas.md#codersdkrole)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -|-----------------|------------------------------------| -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `create_agent` | -| `action` | `delete` | -| `action` | `delete_agent` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `unassign` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `connection_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `inbox_notification` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `prebuilt_workspace` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_jobs` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `webpush_subscription` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_agent_devcontainers` | -| `resource_type` | `workspace_agent_resource_monitor` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`create_agent`| +|`action`|`delete`| +|`action`|`delete_agent`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`unassign`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`connection_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`inbox_notification`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`prebuilt_workspace`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_jobs`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`webpush_subscription`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_agent_devcontainers`| +|`resource_type`|`workspace_agent_resource_monitor`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -717,10 +717,10 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|----------------------| -| `organization` | path | string | true | Organization ID | -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -744,9 +744,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationMember](schemas.md#codersdkorganizationmember) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OrganizationMember](schemas.md#codersdkorganizationmember)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -764,16 +764,16 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/memb ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|----------------------| -| `organization` | path | string | true | Organization ID | -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`user`|path|string|true|User ID, name, or me| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -803,11 +803,11 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------------------------------------------------|----------|----------------------| -| `organization` | path | string | true | Organization ID | -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.UpdateRoles](schemas.md#codersdkupdateroles) | true | Update roles request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateRoles](schemas.md#codersdkupdateroles)|true|Update roles request| ### Example responses @@ -831,9 +831,9 @@ curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.OrganizationMember](schemas.md#codersdkorganizationmember) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.OrganizationMember](schemas.md#codersdkorganizationmember)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -852,11 +852,11 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/paginat ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|---------|----------|--------------------------------------| -| `organization` | path | string | true | Organization ID | -| `limit` | query | integer | false | Page limit, if 0 returns all members | -| `offset` | query | integer | false | Page offset | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`limit`|query|integer|false|Page limit, if 0 returns all members| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -898,32 +898,32 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/paginat ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.PaginatedMembersResponse](schemas.md#codersdkpaginatedmembersresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.PaginatedMembersResponse](schemas.md#codersdkpaginatedmembersresponse)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------------|-------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» count` | integer | false | | | -| `» members` | array | false | | | -| `»» avatar_url` | string | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» email` | string | false | | | -| `»» global_roles` | array | false | | | -| `»»» display_name` | string | false | | | -| `»»» name` | string | false | | | -| `»»» organization_id` | string | false | | | -| `»» name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» roles` | array | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» user_id` | string(uuid) | false | | | -| `»» username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» count`|integer|false||| +|`» members`|array|false||| +|`»» avatar_url`|string|false||| +|`»» created_at`|string(date-time)|false||| +|`»» email`|string|false||| +|`»» global_roles`|array|false||| +|`»»» display_name`|string|false||| +|`»»» name`|string|false||| +|`»»» organization_id`|string|false||| +|`»» name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» roles`|array|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» user_id`|string(uuid)|false||| +|`»» username`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -979,86 +979,86 @@ curl -X GET http://coder-server:8080/api/v2/users/roles \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.AssignableRoles](schemas.md#codersdkassignableroles) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.AssignableRoles](schemas.md#codersdkassignableroles)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------------|----------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» assignable` | boolean | false | | | -| `» built_in` | boolean | false | | Built in roles are immutable | -| `» display_name` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» organization_permissions` | array | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `»» action` | [codersdk.RBACAction](schemas.md#codersdkrbacaction) | false | | | -| `»» negate` | boolean | false | | Negate makes this a negative permission | -| `»» resource_type` | [codersdk.RBACResource](schemas.md#codersdkrbacresource) | false | | | -| `» site_permissions` | array | false | | | -| `» user_permissions` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» assignable`|boolean|false||| +|`» built_in`|boolean|false||Built in roles are immutable| +|`» display_name`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» organization_permissions`|array|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`»» action`|[codersdk.RBACAction](schemas.md#codersdkrbacaction)|false||| +|`»» negate`|boolean|false||Negate makes this a negative permission| +|`»» resource_type`|[codersdk.RBACResource](schemas.md#codersdkrbacresource)|false||| +|`» site_permissions`|array|false||| +|`» user_permissions`|array|false||| #### Enumerated Values -| Property | Value | -|-----------------|------------------------------------| -| `action` | `application_connect` | -| `action` | `assign` | -| `action` | `create` | -| `action` | `create_agent` | -| `action` | `delete` | -| `action` | `delete_agent` | -| `action` | `read` | -| `action` | `read_personal` | -| `action` | `ssh` | -| `action` | `unassign` | -| `action` | `update` | -| `action` | `update_personal` | -| `action` | `use` | -| `action` | `view_insights` | -| `action` | `start` | -| `action` | `stop` | -| `resource_type` | `*` | -| `resource_type` | `api_key` | -| `resource_type` | `assign_org_role` | -| `resource_type` | `assign_role` | -| `resource_type` | `audit_log` | -| `resource_type` | `connection_log` | -| `resource_type` | `crypto_key` | -| `resource_type` | `debug_info` | -| `resource_type` | `deployment_config` | -| `resource_type` | `deployment_stats` | -| `resource_type` | `file` | -| `resource_type` | `group` | -| `resource_type` | `group_member` | -| `resource_type` | `idpsync_settings` | -| `resource_type` | `inbox_notification` | -| `resource_type` | `license` | -| `resource_type` | `notification_message` | -| `resource_type` | `notification_preference` | -| `resource_type` | `notification_template` | -| `resource_type` | `oauth2_app` | -| `resource_type` | `oauth2_app_code_token` | -| `resource_type` | `oauth2_app_secret` | -| `resource_type` | `organization` | -| `resource_type` | `organization_member` | -| `resource_type` | `prebuilt_workspace` | -| `resource_type` | `provisioner_daemon` | -| `resource_type` | `provisioner_jobs` | -| `resource_type` | `replicas` | -| `resource_type` | `system` | -| `resource_type` | `tailnet_coordinator` | -| `resource_type` | `template` | -| `resource_type` | `user` | -| `resource_type` | `webpush_subscription` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_agent_devcontainers` | -| `resource_type` | `workspace_agent_resource_monitor` | -| `resource_type` | `workspace_dormant` | -| `resource_type` | `workspace_proxy` | +|Property|Value| +|---|---| +|`action`|`application_connect`| +|`action`|`assign`| +|`action`|`create`| +|`action`|`create_agent`| +|`action`|`delete`| +|`action`|`delete_agent`| +|`action`|`read`| +|`action`|`read_personal`| +|`action`|`ssh`| +|`action`|`unassign`| +|`action`|`update`| +|`action`|`update_personal`| +|`action`|`use`| +|`action`|`view_insights`| +|`action`|`start`| +|`action`|`stop`| +|`resource_type`|`*`| +|`resource_type`|`api_key`| +|`resource_type`|`assign_org_role`| +|`resource_type`|`assign_role`| +|`resource_type`|`audit_log`| +|`resource_type`|`connection_log`| +|`resource_type`|`crypto_key`| +|`resource_type`|`debug_info`| +|`resource_type`|`deployment_config`| +|`resource_type`|`deployment_stats`| +|`resource_type`|`file`| +|`resource_type`|`group`| +|`resource_type`|`group_member`| +|`resource_type`|`idpsync_settings`| +|`resource_type`|`inbox_notification`| +|`resource_type`|`license`| +|`resource_type`|`notification_message`| +|`resource_type`|`notification_preference`| +|`resource_type`|`notification_template`| +|`resource_type`|`oauth2_app`| +|`resource_type`|`oauth2_app_code_token`| +|`resource_type`|`oauth2_app_secret`| +|`resource_type`|`organization`| +|`resource_type`|`organization_member`| +|`resource_type`|`prebuilt_workspace`| +|`resource_type`|`provisioner_daemon`| +|`resource_type`|`provisioner_jobs`| +|`resource_type`|`replicas`| +|`resource_type`|`system`| +|`resource_type`|`tailnet_coordinator`| +|`resource_type`|`template`| +|`resource_type`|`user`| +|`resource_type`|`webpush_subscription`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_agent_devcontainers`| +|`resource_type`|`workspace_agent_resource_monitor`| +|`resource_type`|`workspace_dormant`| +|`resource_type`|`workspace_proxy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/notifications.md b/docs/reference/api/notifications.md index 09890d3b17864..11ce7eb3899d5 100644 --- a/docs/reference/api/notifications.md +++ b/docs/reference/api/notifications.md @@ -30,19 +30,19 @@ curl -X GET http://coder-server:8080/api/v2/notifications/dispatch-methods \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationMethodsResponse](schemas.md#codersdknotificationmethodsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.NotificationMethodsResponse](schemas.md#codersdknotificationmethodsresponse)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» available` | array | false | | | -| `» default` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» available`|array|false||| +|`» default`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -61,12 +61,12 @@ curl -X GET http://coder-server:8080/api/v2/notifications/inbox \ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|-------|--------------|----------|-----------------------------------------------------------------------------------------------------------------| -| `targets` | query | string | false | Comma-separated list of target IDs to filter notifications | -| `templates` | query | string | false | Comma-separated list of template IDs to filter notifications | -| `read_status` | query | string | false | Filter notifications by read status. Possible values: read, unread, all | -| `starting_before` | query | string(uuid) | false | ID of the last notification from the current page. Notifications returned will be older than the associated one | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`targets`|query|string|false|Comma-separated list of target IDs to filter notifications| +|`templates`|query|string|false|Comma-separated list of template IDs to filter notifications| +|`read_status`|query|string|false|Filter notifications by read status. Possible values: read, unread, all| +|`starting_before`|query|string(uuid)|false|ID of the last notification from the current page. Notifications returned will be older than the associated one| ### Example responses @@ -101,9 +101,9 @@ curl -X GET http://coder-server:8080/api/v2/notifications/inbox \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ListInboxNotificationsResponse](schemas.md#codersdklistinboxnotificationsresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ListInboxNotificationsResponse](schemas.md#codersdklistinboxnotificationsresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -121,9 +121,9 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/inbox/mark-all-as-read ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -142,19 +142,19 @@ curl -X GET http://coder-server:8080/api/v2/notifications/inbox/watch \ ### Parameters -| Name | In | Type | Required | Description | -|---------------|-------|--------|----------|-------------------------------------------------------------------------| -| `targets` | query | string | false | Comma-separated list of target IDs to filter notifications | -| `templates` | query | string | false | Comma-separated list of template IDs to filter notifications | -| `read_status` | query | string | false | Filter notifications by read status. Possible values: read, unread, all | -| `format` | query | string | false | Define the output format for notifications title and body. | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`targets`|query|string|false|Comma-separated list of target IDs to filter notifications| +|`templates`|query|string|false|Comma-separated list of template IDs to filter notifications| +|`read_status`|query|string|false|Filter notifications by read status. Possible values: read, unread, all| +|`format`|query|string|false|Define the output format for notifications title and body.| #### Enumerated Values -| Parameter | Value | -|-----------|-------------| -| `format` | `plaintext` | -| `format` | `markdown` | +|Parameter|Value| +|---|---| +|`format`|`plaintext`| +|`format`|`markdown`| ### Example responses @@ -187,9 +187,9 @@ curl -X GET http://coder-server:8080/api/v2/notifications/inbox/watch \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GetInboxNotificationResponse](schemas.md#codersdkgetinboxnotificationresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GetInboxNotificationResponse](schemas.md#codersdkgetinboxnotificationresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -208,9 +208,9 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/inbox/{id}/read-status ### Parameters -| Name | In | Type | Required | Description | -|------|------|--------|----------|------------------------| -| `id` | path | string | true | id of the notification | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`id`|path|string|true|id of the notification| ### Example responses @@ -231,9 +231,9 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/inbox/{id}/read-status ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -262,9 +262,9 @@ curl -X GET http://coder-server:8080/api/v2/notifications/settings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -292,9 +292,9 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/settings \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------|----------|--------------------------------| -| `body` | body | [codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings) | true | Notifications settings request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings)|true|Notifications settings request| ### Example responses @@ -308,10 +308,10 @@ curl -X PUT http://coder-server:8080/api/v2/notifications/settings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|--------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings) | -| 304 | [Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1) | Not Modified | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.NotificationsSettings](schemas.md#codersdknotificationssettings)| +|304|[Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1)|Not Modified|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -350,26 +350,26 @@ curl -X GET http://coder-server:8080/api/v2/notifications/templates/system \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationTemplate](schemas.md#codersdknotificationtemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.NotificationTemplate](schemas.md#codersdknotificationtemplate)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------------|--------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» actions` | string | false | | | -| `» body_template` | string | false | | | -| `» enabled_by_default` | boolean | false | | | -| `» group` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» kind` | string | false | | | -| `» method` | string | false | | | -| `» name` | string | false | | | -| `» title_template` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» actions`|string|false||| +|`» body_template`|string|false||| +|`» enabled_by_default`|boolean|false||| +|`» group`|string|false||| +|`» id`|string(uuid)|false||| +|`» kind`|string|false||| +|`» method`|string|false||| +|`» name`|string|false||| +|`» title_template`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -387,9 +387,9 @@ curl -X POST http://coder-server:8080/api/v2/notifications/test \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -408,9 +408,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/notifications/preferenc ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -428,20 +428,20 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/notifications/preferenc ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationPreference](schemas.md#codersdknotificationpreference) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.NotificationPreference](schemas.md#codersdknotificationpreference)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|-------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» disabled` | boolean | false | | | -| `» id` | string(uuid) | false | | | -| `» updated_at` | string(date-time) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» disabled`|boolean|false||| +|`» id`|string(uuid)|false||| +|`» updated_at`|string(date-time)|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -472,10 +472,10 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/notifications/preferenc ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------------------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.UpdateUserNotificationPreferences](schemas.md#codersdkupdateusernotificationpreferences) | true | Preferences | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateUserNotificationPreferences](schemas.md#codersdkupdateusernotificationpreferences)|true|Preferences| ### Example responses @@ -493,19 +493,19 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/notifications/preferenc ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.NotificationPreference](schemas.md#codersdknotificationpreference) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.NotificationPreference](schemas.md#codersdknotificationpreference)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|-------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» disabled` | boolean | false | | | -| `» id` | string(uuid) | false | | | -| `» updated_at` | string(date-time) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» disabled`|boolean|false||| +|`» id`|string(uuid)|false||| +|`» updated_at`|string(date-time)|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/organizations.md b/docs/reference/api/organizations.md index 497e3f56d4e47..427e968ea154f 100644 --- a/docs/reference/api/organizations.md +++ b/docs/reference/api/organizations.md @@ -24,9 +24,9 @@ curl -X POST http://coder-server:8080/api/v2/licenses \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------|----------|---------------------| -| `body` | body | [codersdk.AddLicenseRequest](schemas.md#codersdkaddlicenserequest) | true | Add license request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.AddLicenseRequest](schemas.md#codersdkaddlicenserequest)|true|Add license request| ### Example responses @@ -43,9 +43,9 @@ curl -X POST http://coder-server:8080/api/v2/licenses \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.License](schemas.md#codersdklicense) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.License](schemas.md#codersdklicense)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -81,9 +81,9 @@ curl -X POST http://coder-server:8080/api/v2/licenses/refresh-entitlements \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -121,25 +121,25 @@ curl -X GET http://coder-server:8080/api/v2/organizations \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Organization](schemas.md#codersdkorganization) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Organization](schemas.md#codersdkorganization)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------|-------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | true | | | -| `» description` | string | false | | | -| `» display_name` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | true | | | -| `» is_default` | boolean | true | | | -| `» name` | string | false | | | -| `» updated_at` | string(date-time) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|true||| +|`» description`|string|false||| +|`» display_name`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|true||| +|`» is_default`|boolean|true||| +|`» name`|string|false||| +|`» updated_at`|string(date-time)|true||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -170,9 +170,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------|----------|-----------------------------| -| `body` | body | [codersdk.CreateOrganizationRequest](schemas.md#codersdkcreateorganizationrequest) | true | Create organization request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateOrganizationRequest](schemas.md#codersdkcreateorganizationrequest)|true|Create organization request| ### Example responses @@ -193,9 +193,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|----------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.Organization](schemas.md#codersdkorganization) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.Organization](schemas.md#codersdkorganization)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -214,9 +214,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization} \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -237,9 +237,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Organization](schemas.md#codersdkorganization) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Organization](schemas.md#codersdkorganization)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -258,9 +258,9 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization} \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------|----------|-------------------------| -| `organization` | path | string | true | Organization ID or name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID or name| ### Example responses @@ -281,9 +281,9 @@ curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -314,10 +314,10 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization} \ ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|------------------------------------------------------------------------------------|----------|----------------------------| -| `organization` | path | string | true | Organization ID or name | -| `body` | body | [codersdk.UpdateOrganizationRequest](schemas.md#codersdkupdateorganizationrequest) | true | Patch organization request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID or name| +|`body`|body|[codersdk.UpdateOrganizationRequest](schemas.md#codersdkupdateorganizationrequest)|true|Patch organization request| ### Example responses @@ -338,9 +338,9 @@ curl -X PATCH http://coder-server:8080/api/v2/organizations/{organization} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Organization](schemas.md#codersdkorganization) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Organization](schemas.md#codersdkorganization)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -359,31 +359,31 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|--------------|----------|------------------------------------------------------------------------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `limit` | query | integer | false | Page limit | -| `ids` | query | array(uuid) | false | Filter results by job IDs | -| `status` | query | string | false | Filter results by status | -| `tags` | query | object | false | Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'}) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`limit`|query|integer|false|Page limit| +|`ids`|query|array(uuid)|false|Filter results by job IDs| +|`status`|query|string|false|Filter results by status| +|`tags`|query|object|false|Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})| #### Enumerated Values -| Parameter | Value | -|-----------|-------------| -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `status` | `unknown` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Parameter|Value| +|---|---| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`status`|`unknown`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| ### Example responses @@ -434,62 +434,62 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------------|------------------------------------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» available_workers` | array | false | | | -| `» canceled_at` | string(date-time) | false | | | -| `» completed_at` | string(date-time) | false | | | -| `» created_at` | string(date-time) | false | | | -| `» error` | string | false | | | -| `» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | | -| `» file_id` | string(uuid) | false | | | -| `» id` | string(uuid) | false | | | -| `» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | | -| `»» error` | string | false | | | -| `»» template_version_id` | string(uuid) | false | | | -| `»» workspace_build_id` | string(uuid) | false | | | -| `» metadata` | [codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata) | false | | | -| `»» template_display_name` | string | false | | | -| `»» template_icon` | string | false | | | -| `»» template_id` | string(uuid) | false | | | -| `»» template_name` | string | false | | | -| `»» template_version_name` | string | false | | | -| `»» workspace_id` | string(uuid) | false | | | -| `»» workspace_name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» queue_position` | integer | false | | | -| `» queue_size` | integer | false | | | -| `» started_at` | string(date-time) | false | | | -| `» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | | -| `» tags` | object | false | | | -| `»» [any property]` | string | false | | | -| `» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | | -| `» worker_id` | string(uuid) | false | | | -| `» worker_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» available_workers`|array|false||| +|`» canceled_at`|string(date-time)|false||| +|`» completed_at`|string(date-time)|false||| +|`» created_at`|string(date-time)|false||| +|`» error`|string|false||| +|`» error_code`|[codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode)|false||| +|`» file_id`|string(uuid)|false||| +|`» id`|string(uuid)|false||| +|`» input`|[codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput)|false||| +|`»» error`|string|false||| +|`»» template_version_id`|string(uuid)|false||| +|`»» workspace_build_id`|string(uuid)|false||| +|`» metadata`|[codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata)|false||| +|`»» template_display_name`|string|false||| +|`»» template_icon`|string|false||| +|`»» template_id`|string(uuid)|false||| +|`»» template_name`|string|false||| +|`»» template_version_name`|string|false||| +|`»» workspace_id`|string(uuid)|false||| +|`»» workspace_name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» queue_position`|integer|false||| +|`» queue_size`|integer|false||| +|`» started_at`|string(date-time)|false||| +|`» status`|[codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus)|false||| +|`» tags`|object|false||| +|`»» [any property]`|string|false||| +|`» type`|[codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype)|false||| +|`» worker_id`|string(uuid)|false||| +|`» worker_name`|string|false||| #### Enumerated Values -| Property | Value | -|--------------|-------------------------------| -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `type` | `template_version_import` | -| `type` | `workspace_build` | -| `type` | `template_version_dry_run` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`type`|`template_version_import`| +|`type`|`workspace_build`| +|`type`|`template_version_dry_run`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -508,10 +508,10 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `job` | path | string(uuid) | true | Job ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`job`|path|string(uuid)|true|Job ID| ### Example responses @@ -560,8 +560,8 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/portsharing.md b/docs/reference/api/portsharing.md index d143e5e2ea14a..d6230971707ba 100644 --- a/docs/reference/api/portsharing.md +++ b/docs/reference/api/portsharing.md @@ -15,9 +15,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/port-share \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -39,9 +39,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/port-share \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentPortShares](schemas.md#codersdkworkspaceagentportshares) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgentPortShares](schemas.md#codersdkworkspaceagentportshares)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -72,10 +72,10 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/port-share \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|----------------------------------------------------------------------------------------------------------|----------|-----------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.UpsertWorkspaceAgentPortShareRequest](schemas.md#codersdkupsertworkspaceagentportsharerequest) | true | Upsert port sharing level request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.UpsertWorkspaceAgentPortShareRequest](schemas.md#codersdkupsertworkspaceagentportsharerequest)|true|Upsert port sharing level request| ### Example responses @@ -93,9 +93,9 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/port-share \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceAgentPortShare](schemas.md#codersdkworkspaceagentportshare) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceAgentPortShare](schemas.md#codersdkworkspaceagentportshare)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -123,15 +123,15 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaces/{workspace}/port-share ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|----------------------------------------------------------------------------------------------------------|----------|-----------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.DeleteWorkspaceAgentPortShareRequest](schemas.md#codersdkdeleteworkspaceagentportsharerequest) | true | Delete port sharing level request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.DeleteWorkspaceAgentPortShareRequest](schemas.md#codersdkdeleteworkspaceagentportsharerequest)|true|Delete port sharing level request| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/prebuilds.md b/docs/reference/api/prebuilds.md index 117e06d8c6317..72b32d68aa1a5 100644 --- a/docs/reference/api/prebuilds.md +++ b/docs/reference/api/prebuilds.md @@ -25,9 +25,9 @@ curl -X GET http://coder-server:8080/api/v2/prebuilds/settings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.PrebuildsSettings](schemas.md#codersdkprebuildssettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.PrebuildsSettings](schemas.md#codersdkprebuildssettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -55,9 +55,9 @@ curl -X PUT http://coder-server:8080/api/v2/prebuilds/settings \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------|----------|----------------------------| -| `body` | body | [codersdk.PrebuildsSettings](schemas.md#codersdkprebuildssettings) | true | Prebuilds settings request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.PrebuildsSettings](schemas.md#codersdkprebuildssettings)|true|Prebuilds settings request| ### Example responses @@ -71,9 +71,9 @@ curl -X PUT http://coder-server:8080/api/v2/prebuilds/settings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|--------------|--------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.PrebuildsSettings](schemas.md#codersdkprebuildssettings) | -| 304 | [Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1) | Not Modified | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.PrebuildsSettings](schemas.md#codersdkprebuildssettings)| +|304|[Not Modified](https://tools.ietf.org/html/rfc7232#section-4.1)|Not Modified|| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/provisioning.md b/docs/reference/api/provisioning.md index 1d910e4bc045e..780a11636f52c 100644 --- a/docs/reference/api/provisioning.md +++ b/docs/reference/api/provisioning.md @@ -15,31 +15,31 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Parameters -| Name | In | Type | Required | Description | -|----------------|-------|--------------|----------|------------------------------------------------------------------------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `limit` | query | integer | false | Page limit | -| `ids` | query | array(uuid) | false | Filter results by job IDs | -| `status` | query | string | false | Filter results by status | -| `tags` | query | object | false | Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'}) | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`limit`|query|integer|false|Page limit| +|`ids`|query|array(uuid)|false|Filter results by job IDs| +|`status`|query|string|false|Filter results by status| +|`tags`|query|object|false|Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})| #### Enumerated Values -| Parameter | Value | -|-----------|-------------| -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `status` | `unknown` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Parameter|Value| +|---|---| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`status`|`unknown`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| ### Example responses @@ -85,50 +85,50 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/provisi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerDaemon](schemas.md#codersdkprovisionerdaemon) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerDaemon](schemas.md#codersdkprovisionerdaemon)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------------|--------------------------------------------------------------------------------|----------|--------------|------------------| -| `[array item]` | array | false | | | -| `» api_version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» current_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | | -| `»» id` | string(uuid) | false | | | -| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | | -| `»» template_display_name` | string | false | | | -| `»» template_icon` | string | false | | | -| `»» template_name` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» key_id` | string(uuid) | false | | | -| `» key_name` | string | false | | Optional fields. | -| `» last_seen_at` | string(date-time) | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» previous_job` | [codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob) | false | | | -| `» provisioners` | array | false | | | -| `» status` | [codersdk.ProvisionerDaemonStatus](schemas.md#codersdkprovisionerdaemonstatus) | false | | | -| `» tags` | object | false | | | -| `»» [any property]` | string | false | | | -| `» version` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» api_version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» current_job`|[codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob)|false||| +|`»» id`|string(uuid)|false||| +|`»» status`|[codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus)|false||| +|`»» template_display_name`|string|false||| +|`»» template_icon`|string|false||| +|`»» template_name`|string|false||| +|`» id`|string(uuid)|false||| +|`» key_id`|string(uuid)|false||| +|`» key_name`|string|false||Optional fields.| +|`» last_seen_at`|string(date-time)|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» previous_job`|[codersdk.ProvisionerDaemonJob](schemas.md#codersdkprovisionerdaemonjob)|false||| +|`» provisioners`|array|false||| +|`» status`|[codersdk.ProvisionerDaemonStatus](schemas.md#codersdkprovisionerdaemonstatus)|false||| +|`» tags`|object|false||| +|`»» [any property]`|string|false||| +|`» version`|string|false||| #### Enumerated Values -| Property | Value | -|----------|-------------| -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `status` | `offline` | -| `status` | `idle` | -| `status` | `busy` | +|Property|Value| +|---|---| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`status`|`offline`| +|`status`|`idle`| +|`status`|`busy`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/schemas.md b/docs/reference/api/schemas.md index c8f1c37b45b53..7fb2e1116f0bc 100644 --- a/docs/reference/api/schemas.md +++ b/docs/reference/api/schemas.md @@ -11,10 +11,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|--------|----------|--------------|-------------| -| `document` | string | true | | | -| `signature` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`document`|string|true||| +|`signature`|string|true||| ## agentsdk.AuthenticateResponse @@ -26,9 +26,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|--------|----------|--------------|-------------| -| `session_token` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`session_token`|string|false||| ## agentsdk.AzureInstanceIdentityToken @@ -41,10 +41,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|--------|----------|--------------|-------------| -| `encoding` | string | true | | | -| `signature` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`encoding`|string|true||| +|`signature`|string|true||| ## agentsdk.ExternalAuthResponse @@ -61,14 +61,14 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|------------------------------------------------------------------------------------------| -| `access_token` | string | false | | | -| `password` | string | false | | | -| `token_extra` | object | false | | | -| `type` | string | false | | | -| `url` | string | false | | | -| `username` | string | false | | Deprecated: Only supported on `/workspaceagents/me/gitauth` for backwards compatibility. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_token`|string|false||| +|`password`|string|false||| +|`token_extra`|object|false||| +|`type`|string|false||| +|`url`|string|false||| +|`username`|string|false||Deprecated: Only supported on `/workspaceagents/me/gitauth` for backwards compatibility.| ## agentsdk.GitSSHKey @@ -81,10 +81,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|--------|----------|--------------|-------------| -| `private_key` | string | false | | | -| `public_key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`private_key`|string|false||| +|`public_key`|string|false||| ## agentsdk.GoogleInstanceIdentityToken @@ -96,9 +96,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|--------|----------|--------------|-------------| -| `json_web_token` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`json_web_token`|string|true||| ## agentsdk.Log @@ -112,11 +112,11 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|----------------------------------------|----------|--------------|-------------| -| `created_at` | string | false | | | -| `level` | [codersdk.LogLevel](#codersdkloglevel) | false | | | -| `output` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`level`|[codersdk.LogLevel](#codersdkloglevel)|false||| +|`output`|string|false||| ## agentsdk.PatchAppStatus @@ -133,14 +133,14 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|----------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------| -| `app_slug` | string | false | | | -| `icon` | string | false | | Deprecated: this field is unused and will be removed in a future version. | -| `message` | string | false | | | -| `needs_user_attention` | boolean | false | | Deprecated: this field is unused and will be removed in a future version. | -| `state` | [codersdk.WorkspaceAppStatusState](#codersdkworkspaceappstatusstate) | false | | | -| `uri` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`app_slug`|string|false||| +|`icon`|string|false||Deprecated: this field is unused and will be removed in a future version.| +|`message`|string|false||| +|`needs_user_attention`|boolean|false||Deprecated: this field is unused and will be removed in a future version.| +|`state`|[codersdk.WorkspaceAppStatusState](#codersdkworkspaceappstatusstate)|false||| +|`uri`|string|false||| ## agentsdk.PatchLogs @@ -159,10 +159,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|---------------------------------------|----------|--------------|-------------| -| `log_source_id` | string | false | | | -| `logs` | array of [agentsdk.Log](#agentsdklog) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`log_source_id`|string|false||| +|`logs`|array of [agentsdk.Log](#agentsdklog)|false||| ## agentsdk.PostLogSourceRequest @@ -176,11 +176,11 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `id` | string | false | | ID is a unique identifier for the log source. It is scoped to a workspace agent, and can be statically defined inside code to prevent duplicate sources from being created for the same agent. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|false||ID is a unique identifier for the log source. It is scoped to a workspace agent, and can be statically defined inside code to prevent duplicate sources from being created for the same agent.| ## agentsdk.ReinitializationEvent @@ -193,10 +193,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|--------------------------------------------------------------------|----------|--------------|-------------| -| `reason` | [agentsdk.ReinitializationReason](#agentsdkreinitializationreason) | false | | | -| `workspaceID` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`reason`|[agentsdk.ReinitializationReason](#agentsdkreinitializationreason)|false||| +|`workspaceID`|string|false||| ## agentsdk.ReinitializationReason @@ -208,9 +208,9 @@ #### Enumerated Values -| Value | -|--------------------| -| `prebuild_claimed` | +|Value| +|---| +|`prebuild_claimed`| ## coderd.SCIMUser @@ -245,23 +245,23 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|--------------------|----------|--------------|-----------------------------------------------------------------------------| -| `active` | boolean | false | | Active is a ptr to prevent the empty value from being interpreted as false. | -| `emails` | array of object | false | | | -| `» display` | string | false | | | -| `» primary` | boolean | false | | | -| `» type` | string | false | | | -| `» value` | string | false | | | -| `groups` | array of undefined | false | | | -| `id` | string | false | | | -| `meta` | object | false | | | -| `» resourceType` | string | false | | | -| `name` | object | false | | | -| `» familyName` | string | false | | | -| `» givenName` | string | false | | | -| `schemas` | array of string | false | | | -| `userName` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`active`|boolean|false||Active is a ptr to prevent the empty value from being interpreted as false.| +|`emails`|array of object|false||| +|`» display`|string|false||| +|`» primary`|boolean|false||| +|`» type`|string|false||| +|`» value`|string|false||| +|`groups`|array of undefined|false||| +|`id`|string|false||| +|`meta`|object|false||| +|`» resourceType`|string|false||| +|`name`|object|false||| +|`» familyName`|string|false||| +|`» givenName`|string|false||| +|`schemas`|array of string|false||| +|`userName`|string|false||| ## coderd.cspViolation @@ -273,9 +273,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|--------|----------|--------------|-------------| -| `csp-report` | object | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`csp-report`|object|false||| ## codersdk.ACLAvailable @@ -330,10 +330,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|-------------------------------------------------------|----------|--------------|-------------| -| `groups` | array of [codersdk.Group](#codersdkgroup) | false | | | -| `users` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`groups`|array of [codersdk.Group](#codersdkgroup)|false||| +|`users`|array of [codersdk.ReducedUser](#codersdkreduceduser)|false||| ## codersdk.APIKey @@ -354,29 +354,29 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|----------------------------------------------|----------|--------------|-------------| -| `created_at` | string | true | | | -| `expires_at` | string | true | | | -| `id` | string | true | | | -| `last_used` | string | true | | | -| `lifetime_seconds` | integer | true | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | true | | | -| `scope` | [codersdk.APIKeyScope](#codersdkapikeyscope) | true | | | -| `token_name` | string | true | | | -| `updated_at` | string | true | | | -| `user_id` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|true||| +|`expires_at`|string|true||| +|`id`|string|true||| +|`last_used`|string|true||| +|`lifetime_seconds`|integer|true||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|true||| +|`scope`|[codersdk.APIKeyScope](#codersdkapikeyscope)|true||| +|`token_name`|string|true||| +|`updated_at`|string|true||| +|`user_id`|string|true||| #### Enumerated Values -| Property | Value | -|--------------|-----------------------| -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `scope` | `all` | -| `scope` | `application_connect` | +|Property|Value| +|---|---| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`scope`|`all`| +|`scope`|`application_connect`| ## codersdk.APIKeyScope @@ -388,10 +388,10 @@ #### Enumerated Values -| Value | -|-----------------------| -| `all` | -| `application_connect` | +|Value| +|---| +|`all`| +|`application_connect`| ## codersdk.AddLicenseRequest @@ -403,9 +403,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|--------|----------|--------------|-------------| -| `license` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`license`|string|true||| ## codersdk.AgentConnectionTiming @@ -421,13 +421,13 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|----------------------------------------------|----------|--------------|-------------| -| `ended_at` | string | false | | | -| `stage` | [codersdk.TimingStage](#codersdktimingstage) | false | | | -| `started_at` | string | false | | | -| `workspace_agent_id` | string | false | | | -| `workspace_agent_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`ended_at`|string|false||| +|`stage`|[codersdk.TimingStage](#codersdktimingstage)|false||| +|`started_at`|string|false||| +|`workspace_agent_id`|string|false||| +|`workspace_agent_name`|string|false||| ## codersdk.AgentScriptTiming @@ -446,16 +446,16 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|----------------------------------------------|----------|--------------|-------------| -| `display_name` | string | false | | | -| `ended_at` | string | false | | | -| `exit_code` | integer | false | | | -| `stage` | [codersdk.TimingStage](#codersdktimingstage) | false | | | -| `started_at` | string | false | | | -| `status` | string | false | | | -| `workspace_agent_id` | string | false | | | -| `workspace_agent_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`ended_at`|string|false||| +|`exit_code`|integer|false||| +|`stage`|[codersdk.TimingStage](#codersdktimingstage)|false||| +|`started_at`|string|false||| +|`status`|string|false||| +|`workspace_agent_id`|string|false||| +|`workspace_agent_name`|string|false||| ## codersdk.AgentSubsystem @@ -467,11 +467,11 @@ #### Enumerated Values -| Value | -|--------------| -| `envbox` | -| `envbuilder` | -| `exectrace` | +|Value| +|---| +|`envbox`| +|`envbuilder`| +|`exectrace`| ## codersdk.AppHostResponse @@ -483,9 +483,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|--------|----------|--------------|---------------------------------------------------------------| -| `host` | string | false | | Host is the externally accessible URL for the Coder instance. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`host`|string|false||Host is the externally accessible URL for the Coder instance.| ## codersdk.AppearanceConfig @@ -518,14 +518,14 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|---------------------------------------------------------|----------|--------------|---------------------------------------------------------------------| -| `announcement_banners` | array of [codersdk.BannerConfig](#codersdkbannerconfig) | false | | | -| `application_name` | string | false | | | -| `docs_url` | string | false | | | -| `logo_url` | string | false | | | -| `service_banner` | [codersdk.BannerConfig](#codersdkbannerconfig) | false | | Deprecated: ServiceBanner has been replaced by AnnouncementBanners. | -| `support_links` | array of [codersdk.LinkConfig](#codersdklinkconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`announcement_banners`|array of [codersdk.BannerConfig](#codersdkbannerconfig)|false||| +|`application_name`|string|false||| +|`docs_url`|string|false||| +|`logo_url`|string|false||| +|`service_banner`|[codersdk.BannerConfig](#codersdkbannerconfig)|false||Deprecated: ServiceBanner has been replaced by AnnouncementBanners.| +|`support_links`|array of [codersdk.LinkConfig](#codersdklinkconfig)|false||| ## codersdk.ArchiveTemplateVersionsRequest @@ -537,9 +537,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-------|---------|----------|--------------|--------------------------------------------------------------------------------------------------------------------------| -| `all` | boolean | false | | By default, only failed versions are archived. Set this to true to archive all unused versions regardless of job status. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`all`|boolean|false||By default, only failed versions are archived. Set this to true to archive all unused versions regardless of job status.| ## codersdk.AssignableRoles @@ -576,16 +576,16 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|-----------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `assignable` | boolean | false | | | -| `built_in` | boolean | false | | Built in roles are immutable | -| `display_name` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `site_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | -| `user_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`assignable`|boolean|false||| +|`built_in`|boolean|false||Built in roles are immutable| +|`display_name`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`organization_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`site_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| +|`user_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| ## codersdk.AuditAction @@ -597,21 +597,21 @@ #### Enumerated Values -| Value | -|--------------------------| -| `create` | -| `write` | -| `delete` | -| `start` | -| `stop` | -| `login` | -| `logout` | -| `register` | -| `request_password_reset` | -| `connect` | -| `disconnect` | -| `open` | -| `close` | +|Value| +|---| +|`create`| +|`write`| +|`delete`| +|`start`| +|`stop`| +|`login`| +|`logout`| +|`register`| +|`request_password_reset`| +|`connect`| +|`disconnect`| +|`open`| +|`close`| ## codersdk.AuditDiff @@ -632,9 +632,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|----------------------------------------------------|----------|--------------|-------------| -| `[any property]` | [codersdk.AuditDiffField](#codersdkauditdifffield) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|[codersdk.AuditDiffField](#codersdkauditdifffield)|false||| ## codersdk.AuditDiffField @@ -648,11 +648,11 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|---------|----------|--------------|-------------| -| `new` | any | false | | | -| `old` | any | false | | | -| `secret` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`new`|any|false||| +|`old`|any|false||| +|`secret`|boolean|false||| ## codersdk.AuditLog @@ -720,27 +720,27 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|--------------------------------------------------------------|----------|--------------|----------------------------------------------| -| `action` | [codersdk.AuditAction](#codersdkauditaction) | false | | | -| `additional_fields` | object | false | | | -| `description` | string | false | | | -| `diff` | [codersdk.AuditDiff](#codersdkauditdiff) | false | | | -| `id` | string | false | | | -| `ip` | string | false | | | -| `is_deleted` | boolean | false | | | -| `organization` | [codersdk.MinimalOrganization](#codersdkminimalorganization) | false | | | -| `organization_id` | string | false | | Deprecated: Use 'organization.id' instead. | -| `request_id` | string | false | | | -| `resource_icon` | string | false | | | -| `resource_id` | string | false | | | -| `resource_link` | string | false | | | -| `resource_target` | string | false | | Resource target is the name of the resource. | -| `resource_type` | [codersdk.ResourceType](#codersdkresourcetype) | false | | | -| `status_code` | integer | false | | | -| `time` | string | false | | | -| `user` | [codersdk.User](#codersdkuser) | false | | | -| `user_agent` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|[codersdk.AuditAction](#codersdkauditaction)|false||| +|`additional_fields`|object|false||| +|`description`|string|false||| +|`diff`|[codersdk.AuditDiff](#codersdkauditdiff)|false||| +|`id`|string|false||| +|`ip`|string|false||| +|`is_deleted`|boolean|false||| +|`organization`|[codersdk.MinimalOrganization](#codersdkminimalorganization)|false||| +|`organization_id`|string|false||Deprecated: Use 'organization.id' instead.| +|`request_id`|string|false||| +|`resource_icon`|string|false||| +|`resource_id`|string|false||| +|`resource_link`|string|false||| +|`resource_target`|string|false||Resource target is the name of the resource.| +|`resource_type`|[codersdk.ResourceType](#codersdkresourcetype)|false||| +|`status_code`|integer|false||| +|`time`|string|false||| +|`user`|[codersdk.User](#codersdkuser)|false||| +|`user_agent`|string|false||| ## codersdk.AuditLogResponse @@ -813,10 +813,10 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|-------------------------------------------------|----------|--------------|-------------| -| `audit_logs` | array of [codersdk.AuditLog](#codersdkauditlog) | false | | | -| `count` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`audit_logs`|array of [codersdk.AuditLog](#codersdkauditlog)|false||| +|`count`|integer|false||| ## codersdk.AuthMethod @@ -828,9 +828,9 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-------------| -| `enabled` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enabled`|boolean|false||| ## codersdk.AuthMethods @@ -854,12 +854,12 @@ ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|--------------------------------------------------------|----------|--------------|-------------| -| `github` | [codersdk.GithubAuthMethod](#codersdkgithubauthmethod) | false | | | -| `oidc` | [codersdk.OIDCAuthMethod](#codersdkoidcauthmethod) | false | | | -| `password` | [codersdk.AuthMethod](#codersdkauthmethod) | false | | | -| `terms_of_service_url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`github`|[codersdk.GithubAuthMethod](#codersdkgithubauthmethod)|false||| +|`oidc`|[codersdk.OIDCAuthMethod](#codersdkoidcauthmethod)|false||| +|`password`|[codersdk.AuthMethod](#codersdkauthmethod)|false||| +|`terms_of_service_url`|string|false||| ## codersdk.AuthorizationCheck @@ -880,19 +880,19 @@ AuthorizationCheck is used to check if the currently authenticated user (or the ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|--------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `action` | [codersdk.RBACAction](#codersdkrbacaction) | false | | | -| `object` | [codersdk.AuthorizationObject](#codersdkauthorizationobject) | false | | Object can represent a "set" of objects, such as: all workspaces in an organization, all workspaces owned by me, and all workspaces across the entire product. When defining an object, use the most specific language when possible to produce the smallest set. Meaning to set as many fields on 'Object' as you can. Example, if you want to check if you can update all workspaces owned by 'me', try to also add an 'OrganizationID' to the settings. Omitting the 'OrganizationID' could produce the incorrect value, as workspaces have both `user` and `organization` owners. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|[codersdk.RBACAction](#codersdkrbacaction)|false||| +|`object`|[codersdk.AuthorizationObject](#codersdkauthorizationobject)|false||Object can represent a "set" of objects, such as: all workspaces in an organization, all workspaces owned by me, and all workspaces across the entire product. When defining an object, use the most specific language when possible to produce the smallest set. Meaning to set as many fields on 'Object' as you can. Example, if you want to check if you can update all workspaces owned by 'me', try to also add an 'OrganizationID' to the settings. Omitting the 'OrganizationID' could produce the incorrect value, as workspaces have both `user` and `organization` owners.| #### Enumerated Values -| Property | Value | -|----------|----------| -| `action` | `create` | -| `action` | `read` | -| `action` | `update` | -| `action` | `delete` | +|Property|Value| +|---|---| +|`action`|`create`| +|`action`|`read`| +|`action`|`update`| +|`action`|`delete`| ## codersdk.AuthorizationObject @@ -910,13 +910,13 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `any_org` | boolean | false | | Any org (optional) will disregard the org_owner when checking for permissions. This cannot be set to true if the OrganizationID is set. | -| `organization_id` | string | false | | Organization ID (optional) adds the set constraint to all resources owned by a given organization. | -| `owner_id` | string | false | | Owner ID (optional) adds the set constraint to all resources owned by a given user. | -| `resource_id` | string | false | | Resource ID (optional) reduces the set to a singular resource. This assigns a resource ID to the resource type, eg: a single workspace. The rbac library will not fetch the resource from the database, so if you are using this option, you should also set the owner ID and organization ID if possible. Be as specific as possible using all the fields relevant. | -| `resource_type` | [codersdk.RBACResource](#codersdkrbacresource) | false | | Resource type is the name of the resource. `./coderd/rbac/object.go` has the list of valid resource types. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`any_org`|boolean|false||Any org (optional) will disregard the org_owner when checking for permissions. This cannot be set to true if the OrganizationID is set.| +|`organization_id`|string|false||Organization ID (optional) adds the set constraint to all resources owned by a given organization.| +|`owner_id`|string|false||Owner ID (optional) adds the set constraint to all resources owned by a given user.| +|`resource_id`|string|false||Resource ID (optional) reduces the set to a singular resource. This assigns a resource ID to the resource type, eg: a single workspace. The rbac library will not fetch the resource from the database, so if you are using this option, you should also set the owner ID and organization ID if possible. Be as specific as possible using all the fields relevant.| +|`resource_type`|[codersdk.RBACResource](#codersdkrbacresource)|false||Resource type is the name of the resource. `./coderd/rbac/object.go` has the list of valid resource types.| ## codersdk.AuthorizationRequest @@ -949,10 +949,10 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `checks` | object | false | | Checks is a map keyed with an arbitrary string to a permission check. The key can be any string that is helpful to the caller, and allows multiple permission checks to be run in a single request. The key ensures that each permission check has the same key in the response. | -| » `[any property]` | [codersdk.AuthorizationCheck](#codersdkauthorizationcheck) | false | | It is used to check if the currently authenticated user (or the specified user) can do a given action to a given set of objects. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`checks`|object|false||Checks is a map keyed with an arbitrary string to a permission check. The key can be any string that is helpful to the caller, and allows multiple permission checks to be run in a single request. The key ensures that each permission check has the same key in the response.| +|» `[any property]`|[codersdk.AuthorizationCheck](#codersdkauthorizationcheck)|false||It is used to check if the currently authenticated user (or the specified user) can do a given action to a given set of objects.| ## codersdk.AuthorizationResponse @@ -965,9 +965,9 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|---------|----------|--------------|-------------| -| `[any property]` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|boolean|false||| ## codersdk.AutomaticUpdates @@ -979,10 +979,10 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in #### Enumerated Values -| Value | -|----------| -| `always` | -| `never` | +|Value| +|---| +|`always`| +|`never`| ## codersdk.BannerConfig @@ -996,11 +996,11 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `background_color` | string | false | | | -| `enabled` | boolean | false | | | -| `message` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`background_color`|string|false||| +|`enabled`|boolean|false||| +|`message`|string|false||| ## codersdk.BuildInfoResponse @@ -1021,18 +1021,18 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `agent_api_version` | string | false | | Agent api version is the current version of the Agent API (back versions MAY still be supported). | -| `dashboard_url` | string | false | | Dashboard URL is the URL to hit the deployment's dashboard. For external workspace proxies, this is the coderd they are connected to. | -| `deployment_id` | string | false | | Deployment ID is the unique identifier for this deployment. | -| `external_url` | string | false | | External URL references the current Coder version. For production builds, this will link directly to a release. For development builds, this will link to a commit. | -| `provisioner_api_version` | string | false | | Provisioner api version is the current version of the Provisioner API | -| `telemetry` | boolean | false | | Telemetry is a boolean that indicates whether telemetry is enabled. | -| `upgrade_message` | string | false | | Upgrade message is the message displayed to users when an outdated client is detected. | -| `version` | string | false | | Version returns the semantic version of the build. | -| `webpush_public_key` | string | false | | Webpush public key is the public key for push notifications via Web Push. | -| `workspace_proxy` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_api_version`|string|false||Agent api version is the current version of the Agent API (back versions MAY still be supported).| +|`dashboard_url`|string|false||Dashboard URL is the URL to hit the deployment's dashboard. For external workspace proxies, this is the coderd they are connected to.| +|`deployment_id`|string|false||Deployment ID is the unique identifier for this deployment.| +|`external_url`|string|false||External URL references the current Coder version. For production builds, this will link directly to a release. For development builds, this will link to a commit.| +|`provisioner_api_version`|string|false||Provisioner api version is the current version of the Provisioner API| +|`telemetry`|boolean|false||Telemetry is a boolean that indicates whether telemetry is enabled.| +|`upgrade_message`|string|false||Upgrade message is the message displayed to users when an outdated client is detected.| +|`version`|string|false||Version returns the semantic version of the build.| +|`webpush_public_key`|string|false||Webpush public key is the public key for push notifications via Web Push.| +|`workspace_proxy`|boolean|false||| ## codersdk.BuildReason @@ -1044,17 +1044,17 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in #### Enumerated Values -| Value | -|------------------------| -| `initiator` | -| `autostart` | -| `autostop` | -| `dormancy` | -| `dashboard` | -| `cli` | -| `ssh_connection` | -| `vscode_connection` | -| `jetbrains_connection` | +|Value| +|---| +|`initiator`| +|`autostart`| +|`autostop`| +|`dormancy`| +|`dashboard`| +|`cli`| +|`ssh_connection`| +|`vscode_connection`| +|`jetbrains_connection`| ## codersdk.ChangePasswordWithOneTimePasscodeRequest @@ -1068,11 +1068,11 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|--------|----------|--------------|-------------| -| `email` | string | true | | | -| `one_time_passcode` | string | true | | | -| `password` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`one_time_passcode`|string|true||| +|`password`|string|true||| ## codersdk.ConnectionLatency @@ -1085,10 +1085,10 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|-------|--------|----------|--------------|-------------| -| `p50` | number | false | | | -| `p95` | number | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`p50`|number|false||| +|`p95`|number|false||| ## codersdk.ConnectionLog @@ -1148,20 +1148,20 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|----------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------| -| `agent_name` | string | false | | | -| `connect_time` | string | false | | | -| `id` | string | false | | | -| `ip` | string | false | | | -| `organization` | [codersdk.MinimalOrganization](#codersdkminimalorganization) | false | | | -| `ssh_info` | [codersdk.ConnectionLogSSHInfo](#codersdkconnectionlogsshinfo) | false | | Ssh info is only set when `type` is one of: - `ConnectionTypeSSH` - `ConnectionTypeReconnectingPTY` - `ConnectionTypeVSCode` - `ConnectionTypeJetBrains` | -| `type` | [codersdk.ConnectionType](#codersdkconnectiontype) | false | | | -| `web_info` | [codersdk.ConnectionLogWebInfo](#codersdkconnectionlogwebinfo) | false | | Web info is only set when `type` is one of: - `ConnectionTypePortForwarding` - `ConnectionTypeWorkspaceApp` | -| `workspace_id` | string | false | | | -| `workspace_name` | string | false | | | -| `workspace_owner_id` | string | false | | | -| `workspace_owner_username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`connect_time`|string|false||| +|`id`|string|false||| +|`ip`|string|false||| +|`organization`|[codersdk.MinimalOrganization](#codersdkminimalorganization)|false||| +|`ssh_info`|[codersdk.ConnectionLogSSHInfo](#codersdkconnectionlogsshinfo)|false||Ssh info is only set when `type` is one of: - `ConnectionTypeSSH` - `ConnectionTypeReconnectingPTY` - `ConnectionTypeVSCode` - `ConnectionTypeJetBrains`| +|`type`|[codersdk.ConnectionType](#codersdkconnectiontype)|false||| +|`web_info`|[codersdk.ConnectionLogWebInfo](#codersdkconnectionlogwebinfo)|false||Web info is only set when `type` is one of: - `ConnectionTypePortForwarding` - `ConnectionTypeWorkspaceApp`| +|`workspace_id`|string|false||| +|`workspace_name`|string|false||| +|`workspace_owner_id`|string|false||| +|`workspace_owner_username`|string|false||| ## codersdk.ConnectionLogResponse @@ -1226,10 +1226,10 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|-----------------------------------------------------------|----------|--------------|-------------| -| `connection_logs` | array of [codersdk.ConnectionLog](#codersdkconnectionlog) | false | | | -| `count` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`connection_logs`|array of [codersdk.ConnectionLog](#codersdkconnectionlog)|false||| +|`count`|integer|false||| ## codersdk.ConnectionLogSSHInfo @@ -1244,12 +1244,12 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------| -| `connection_id` | string | false | | | -| `disconnect_reason` | string | false | | Disconnect reason is omitted if a disconnect event with the same connection ID has not yet been seen. | -| `disconnect_time` | string | false | | Disconnect time is omitted if a disconnect event with the same connection ID has not yet been seen. | -| `exit_code` | integer | false | | Exit code is the exit code of the SSH session. It is omitted if a disconnect event with the same connection ID has not yet been seen. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`connection_id`|string|false||| +|`disconnect_reason`|string|false||Disconnect reason is omitted if a disconnect event with the same connection ID has not yet been seen.| +|`disconnect_time`|string|false||Disconnect time is omitted if a disconnect event with the same connection ID has not yet been seen.| +|`exit_code`|integer|false||Exit code is the exit code of the SSH session. It is omitted if a disconnect event with the same connection ID has not yet been seen.| ## codersdk.ConnectionLogWebInfo @@ -1286,12 +1286,12 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------------------------------|----------|--------------|---------------------------------------------------------------------------| -| `slug_or_port` | string | false | | | -| `status_code` | integer | false | | Status code is the HTTP status code of the request. | -| `user` | [codersdk.User](#codersdkuser) | false | | User is omitted if the connection event was from an unauthenticated user. | -| `user_agent` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`slug_or_port`|string|false||| +|`status_code`|integer|false||Status code is the HTTP status code of the request.| +|`user`|[codersdk.User](#codersdkuser)|false||User is omitted if the connection event was from an unauthenticated user.| +|`user_agent`|string|false||| ## codersdk.ConnectionType @@ -1303,14 +1303,14 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in #### Enumerated Values -| Value | -|--------------------| -| `ssh` | -| `vscode` | -| `jetbrains` | -| `reconnecting_pty` | -| `workspace_app` | -| `port_forwarding` | +|Value| +|---| +|`ssh`| +|`vscode`| +|`jetbrains`| +|`reconnecting_pty`| +|`workspace_app`| +|`port_forwarding`| ## codersdk.ConvertLoginRequest @@ -1323,10 +1323,10 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|------------------------------------------|----------|--------------|------------------------------------------| -| `password` | string | true | | | -| `to_type` | [codersdk.LoginType](#codersdklogintype) | true | | To type is the login type to convert to. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`password`|string|true||| +|`to_type`|[codersdk.LoginType](#codersdklogintype)|true||To type is the login type to convert to.| ## codersdk.CreateFirstUserRequest @@ -1351,14 +1351,14 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|------------------------------------------------------------------------|----------|--------------|-------------| -| `email` | string | true | | | -| `name` | string | false | | | -| `password` | string | true | | | -| `trial` | boolean | false | | | -| `trial_info` | [codersdk.CreateFirstUserTrialInfo](#codersdkcreatefirstusertrialinfo) | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`name`|string|false||| +|`password`|string|true||| +|`trial`|boolean|false||| +|`trial_info`|[codersdk.CreateFirstUserTrialInfo](#codersdkcreatefirstusertrialinfo)|false||| +|`username`|string|true||| ## codersdk.CreateFirstUserResponse @@ -1371,10 +1371,10 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|--------|----------|--------------|-------------| -| `organization_id` | string | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`organization_id`|string|false||| +|`user_id`|string|false||| ## codersdk.CreateFirstUserTrialInfo @@ -1392,15 +1392,15 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `company_name` | string | false | | | -| `country` | string | false | | | -| `developers` | string | false | | | -| `first_name` | string | false | | | -| `job_title` | string | false | | | -| `last_name` | string | false | | | -| `phone_number` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`company_name`|string|false||| +|`country`|string|false||| +|`developers`|string|false||| +|`first_name`|string|false||| +|`job_title`|string|false||| +|`last_name`|string|false||| +|`phone_number`|string|false||| ## codersdk.CreateGroupRequest @@ -1415,12 +1415,12 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|---------|----------|--------------|-------------| -| `avatar_url` | string | false | | | -| `display_name` | string | false | | | -| `name` | string | true | | | -| `quota_allowance` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`display_name`|string|false||| +|`name`|string|true||| +|`quota_allowance`|integer|false||| ## codersdk.CreateOrganizationRequest @@ -1435,12 +1435,12 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|------------------------------------------------------------------------| -| `description` | string | false | | | -| `display_name` | string | false | | Display name will default to the same value as `Name` if not provided. | -| `icon` | string | false | | | -| `name` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`display_name`|string|false||Display name will default to the same value as `Name` if not provided.| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.CreateProvisionerKeyResponse @@ -1452,9 +1452,9 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|-------|--------|----------|--------------|-------------| -| `key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`key`|string|false||| ## codersdk.CreateTemplateRequest @@ -1493,26 +1493,26 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------------------------|--------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `activity_bump_ms` | integer | false | | Activity bump ms allows optionally specifying the activity bump duration for all workspaces created from this template. Defaults to 1h but can be set to 0 to disable activity bumping. | -| `allow_user_autostart` | boolean | false | | Allow user autostart allows users to set a schedule for autostarting their workspace. By default this is true. This can only be disabled when using an enterprise license. | -| `allow_user_autostop` | boolean | false | | Allow user autostop allows users to set a custom workspace TTL to use in place of the template's DefaultTTL field. By default this is true. If false, the DefaultTTL will always be used. This can only be disabled when using an enterprise license. | -| `allow_user_cancel_workspace_jobs` | boolean | false | | Allow users to cancel in-progress workspace jobs. *bool as the default value is "true". | -| `autostart_requirement` | [codersdk.TemplateAutostartRequirement](#codersdktemplateautostartrequirement) | false | | Autostart requirement allows optionally specifying the autostart allowed days for workspaces created from this template. This is an enterprise feature. | -| `autostop_requirement` | [codersdk.TemplateAutostopRequirement](#codersdktemplateautostoprequirement) | false | | Autostop requirement allows optionally specifying the autostop requirement for workspaces created from this template. This is an enterprise feature. | -| `default_ttl_ms` | integer | false | | Default ttl ms allows optionally specifying the default TTL for all workspaces created from this template. | -| `delete_ttl_ms` | integer | false | | Delete ttl ms allows optionally specifying the max lifetime before Coder permanently deletes dormant workspaces created from this template. | -| `description` | string | false | | Description is a description of what the template contains. It must be less than 128 bytes. | -| `disable_everyone_group_access` | boolean | false | | Disable everyone group access allows optionally disabling the default behavior of granting the 'everyone' group access to use the template. If this is set to true, the template will not be available to all users, and must be explicitly granted to users or groups in the permissions settings of the template. | -| `display_name` | string | false | | Display name is the displayed name of the template. | -| `dormant_ttl_ms` | integer | false | | Dormant ttl ms allows optionally specifying the max lifetime before Coder locks inactive workspaces created from this template. | -| `failure_ttl_ms` | integer | false | | Failure ttl ms allows optionally specifying the max lifetime before Coder stops all resources for failed workspaces created from this template. | -| `icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. | -| `max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | Max port share level allows optionally specifying the maximum port share level for workspaces created from the template. | -| `name` | string | true | | Name is the name of the template. | -| `require_active_version` | boolean | false | | Require active version mandates that workspaces are built with the active template version. | -| `template_use_classic_parameter_flow` | boolean | false | | Template use classic parameter flow allows optionally specifying whether the template should use the classic parameter flow. The default if unset is true, and is why `*bool` is used here. When dynamic parameters becomes the default, this will default to false. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`activity_bump_ms`|integer|false||Activity bump ms allows optionally specifying the activity bump duration for all workspaces created from this template. Defaults to 1h but can be set to 0 to disable activity bumping.| +|`allow_user_autostart`|boolean|false||Allow user autostart allows users to set a schedule for autostarting their workspace. By default this is true. This can only be disabled when using an enterprise license.| +|`allow_user_autostop`|boolean|false||Allow user autostop allows users to set a custom workspace TTL to use in place of the template's DefaultTTL field. By default this is true. If false, the DefaultTTL will always be used. This can only be disabled when using an enterprise license.| +|`allow_user_cancel_workspace_jobs`|boolean|false||Allow users to cancel in-progress workspace jobs. *bool as the default value is "true".| +|`autostart_requirement`|[codersdk.TemplateAutostartRequirement](#codersdktemplateautostartrequirement)|false||Autostart requirement allows optionally specifying the autostart allowed days for workspaces created from this template. This is an enterprise feature.| +|`autostop_requirement`|[codersdk.TemplateAutostopRequirement](#codersdktemplateautostoprequirement)|false||Autostop requirement allows optionally specifying the autostop requirement for workspaces created from this template. This is an enterprise feature.| +|`default_ttl_ms`|integer|false||Default ttl ms allows optionally specifying the default TTL for all workspaces created from this template.| +|`delete_ttl_ms`|integer|false||Delete ttl ms allows optionally specifying the max lifetime before Coder permanently deletes dormant workspaces created from this template.| +|`description`|string|false||Description is a description of what the template contains. It must be less than 128 bytes.| +|`disable_everyone_group_access`|boolean|false||Disable everyone group access allows optionally disabling the default behavior of granting the 'everyone' group access to use the template. If this is set to true, the template will not be available to all users, and must be explicitly granted to users or groups in the permissions settings of the template.| +|`display_name`|string|false||Display name is the displayed name of the template.| +|`dormant_ttl_ms`|integer|false||Dormant ttl ms allows optionally specifying the max lifetime before Coder locks inactive workspaces created from this template.| +|`failure_ttl_ms`|integer|false||Failure ttl ms allows optionally specifying the max lifetime before Coder stops all resources for failed workspaces created from this template.| +|`icon`|string|false||Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard.| +|`max_port_share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||Max port share level allows optionally specifying the maximum port share level for workspaces created from the template.| +|`name`|string|true||Name is the name of the template.| +|`require_active_version`|boolean|false||Require active version mandates that workspaces are built with the active template version.| +|`template_use_classic_parameter_flow`|boolean|false||Template use classic parameter flow allows optionally specifying whether the template should use the classic parameter flow. The default if unset is true, and is why `*bool` is used here. When dynamic parameters becomes the default, this will default to false.| |`template_version_id`|string|true||Template version ID is an in-progress or completed job to use as an initial version of the template. This is required on creation to enable a user-flow of validating a template works. There is no reason the data-model cannot support empty templates, but it doesn't make sense for users.| @@ -1538,11 +1538,11 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|-------------------------------------------------------------------------------|----------|--------------|-------------| -| `rich_parameter_values` | array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter) | false | | | -| `user_variable_values` | array of [codersdk.VariableValue](#codersdkvariablevalue) | false | | | -| `workspace_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`rich_parameter_values`|array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter)|false||| +|`user_variable_values`|array of [codersdk.VariableValue](#codersdkvariablevalue)|false||| +|`workspace_name`|string|false||| ## codersdk.CreateTemplateVersionRequest @@ -1570,26 +1570,26 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------| -| `example_id` | string | false | | | -| `file_id` | string | false | | | -| `message` | string | false | | | -| `name` | string | false | | | -| `provisioner` | string | true | | | -| `storage_method` | [codersdk.ProvisionerStorageMethod](#codersdkprovisionerstoragemethod) | true | | | -| `tags` | object | false | | | -| » `[any property]` | string | false | | | -| `template_id` | string | false | | Template ID optionally associates a version with a template. | -| `user_variable_values` | array of [codersdk.VariableValue](#codersdkvariablevalue) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`example_id`|string|false||| +|`file_id`|string|false||| +|`message`|string|false||| +|`name`|string|false||| +|`provisioner`|string|true||| +|`storage_method`|[codersdk.ProvisionerStorageMethod](#codersdkprovisionerstoragemethod)|true||| +|`tags`|object|false||| +|» `[any property]`|string|false||| +|`template_id`|string|false||Template ID optionally associates a version with a template.| +|`user_variable_values`|array of [codersdk.VariableValue](#codersdkvariablevalue)|false||| #### Enumerated Values -| Property | Value | -|------------------|-------------| -| `provisioner` | `terraform` | -| `provisioner` | `echo` | -| `storage_method` | `file` | +|Property|Value| +|---|---| +|`provisioner`|`terraform`| +|`provisioner`|`echo`| +|`storage_method`|`file`| ## codersdk.CreateTestAuditLogRequest @@ -1610,36 +1610,36 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|------------------------------------------------|----------|--------------|-------------| -| `action` | [codersdk.AuditAction](#codersdkauditaction) | false | | | -| `additional_fields` | array of integer | false | | | -| `build_reason` | [codersdk.BuildReason](#codersdkbuildreason) | false | | | -| `organization_id` | string | false | | | -| `request_id` | string | false | | | -| `resource_id` | string | false | | | -| `resource_type` | [codersdk.ResourceType](#codersdkresourcetype) | false | | | -| `time` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|[codersdk.AuditAction](#codersdkauditaction)|false||| +|`additional_fields`|array of integer|false||| +|`build_reason`|[codersdk.BuildReason](#codersdkbuildreason)|false||| +|`organization_id`|string|false||| +|`request_id`|string|false||| +|`resource_id`|string|false||| +|`resource_type`|[codersdk.ResourceType](#codersdkresourcetype)|false||| +|`time`|string|false||| #### Enumerated Values -| Property | Value | -|-----------------|--------------------| -| `action` | `create` | -| `action` | `write` | -| `action` | `delete` | -| `action` | `start` | -| `action` | `stop` | -| `build_reason` | `autostart` | -| `build_reason` | `autostop` | -| `build_reason` | `initiator` | -| `resource_type` | `template` | -| `resource_type` | `template_version` | -| `resource_type` | `user` | -| `resource_type` | `workspace` | -| `resource_type` | `workspace_build` | -| `resource_type` | `git_ssh_key` | -| `resource_type` | `auditable_group` | +|Property|Value| +|---|---| +|`action`|`create`| +|`action`|`write`| +|`action`|`delete`| +|`action`|`start`| +|`action`|`stop`| +|`build_reason`|`autostart`| +|`build_reason`|`autostop`| +|`build_reason`|`initiator`| +|`resource_type`|`template`| +|`resource_type`|`template_version`| +|`resource_type`|`user`| +|`resource_type`|`workspace`| +|`resource_type`|`workspace_build`| +|`resource_type`|`git_ssh_key`| +|`resource_type`|`auditable_group`| ## codersdk.CreateTokenRequest @@ -1653,18 +1653,18 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|----------------------------------------------|----------|--------------|-------------| -| `lifetime` | integer | false | | | -| `scope` | [codersdk.APIKeyScope](#codersdkapikeyscope) | false | | | -| `token_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`lifetime`|integer|false||| +|`scope`|[codersdk.APIKeyScope](#codersdkapikeyscope)|false||| +|`token_name`|string|false||| #### Enumerated Values -| Property | Value | -|----------|-----------------------| -| `scope` | `all` | -| `scope` | `application_connect` | +|Property|Value| +|---|---| +|`scope`|`all`| +|`scope`|`application_connect`| ## codersdk.CreateUserRequestWithOrgs @@ -1684,15 +1684,15 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|--------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------| -| `email` | string | true | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | Login type defaults to LoginTypePassword. | -| `name` | string | false | | | -| `organization_ids` | array of string | false | | Organization ids is a list of organization IDs that the user should be a member of. | -| `password` | string | false | | | -| `user_status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | User status defaults to UserStatusDormant. | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||Login type defaults to LoginTypePassword.| +|`name`|string|false||| +|`organization_ids`|array of string|false||Organization ids is a list of organization IDs that the user should be a member of.| +|`password`|string|false||| +|`user_status`|[codersdk.UserStatus](#codersdkuserstatus)|false||User status defaults to UserStatusDormant.| +|`username`|string|true||| ## codersdk.CreateWorkspaceBuildReason @@ -1704,13 +1704,13 @@ This is required on creation to enable a user-flow of validating a template work #### Enumerated Values -| Value | -|------------------------| -| `dashboard` | -| `cli` | -| `ssh_connection` | -| `vscode_connection` | -| `jetbrains_connection` | +|Value| +|---| +|`dashboard`| +|`cli`| +|`ssh_connection`| +|`vscode_connection`| +|`jetbrains_connection`| ## codersdk.CreateWorkspaceBuildRequest @@ -1737,31 +1737,31 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|-------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `dry_run` | boolean | false | | | -| `log_level` | [codersdk.ProvisionerLogLevel](#codersdkprovisionerloglevel) | false | | Log level changes the default logging verbosity of a provider ("info" if empty). | -| `orphan` | boolean | false | | Orphan may be set for the Destroy transition. | -| `reason` | [codersdk.CreateWorkspaceBuildReason](#codersdkcreateworkspacebuildreason) | false | | Reason sets the reason for the workspace build. | -| `rich_parameter_values` | array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter) | false | | Rich parameter values are optional. It will write params to the 'workspace' scope. This will overwrite any existing parameters with the same name. This will not delete old params not included in this list. | -| `state` | array of integer | false | | | -| `template_version_id` | string | false | | | -| `template_version_preset_id` | string | false | | Template version preset ID is the ID of the template version preset to use for the build. | -| `transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dry_run`|boolean|false||| +|`log_level`|[codersdk.ProvisionerLogLevel](#codersdkprovisionerloglevel)|false||Log level changes the default logging verbosity of a provider ("info" if empty).| +|`orphan`|boolean|false||Orphan may be set for the Destroy transition.| +|`reason`|[codersdk.CreateWorkspaceBuildReason](#codersdkcreateworkspacebuildreason)|false||Reason sets the reason for the workspace build.| +|`rich_parameter_values`|array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter)|false||Rich parameter values are optional. It will write params to the 'workspace' scope. This will overwrite any existing parameters with the same name. This will not delete old params not included in this list.| +|`state`|array of integer|false||| +|`template_version_id`|string|false||| +|`template_version_preset_id`|string|false||Template version preset ID is the ID of the template version preset to use for the build.| +|`transition`|[codersdk.WorkspaceTransition](#codersdkworkspacetransition)|true||| #### Enumerated Values -| Property | Value | -|--------------|------------------------| -| `log_level` | `debug` | -| `reason` | `dashboard` | -| `reason` | `cli` | -| `reason` | `ssh_connection` | -| `reason` | `vscode_connection` | -| `reason` | `jetbrains_connection` | -| `transition` | `start` | -| `transition` | `stop` | -| `transition` | `delete` | +|Property|Value| +|---|---| +|`log_level`|`debug`| +|`reason`|`dashboard`| +|`reason`|`cli`| +|`reason`|`ssh_connection`| +|`reason`|`vscode_connection`| +|`reason`|`jetbrains_connection`| +|`transition`|`start`| +|`transition`|`stop`| +|`transition`|`delete`| ## codersdk.CreateWorkspaceProxyRequest @@ -1775,11 +1775,11 @@ This is required on creation to enable a user-flow of validating a template work ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `name` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.CreateWorkspaceRequest @@ -1805,16 +1805,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|-------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------| -| `automatic_updates` | [codersdk.AutomaticUpdates](#codersdkautomaticupdates) | false | | | -| `autostart_schedule` | string | false | | | -| `name` | string | true | | | -| `rich_parameter_values` | array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter) | false | | Rich parameter values allows for additional parameters to be provided during the initial provision. | -| `template_id` | string | false | | Template ID specifies which template should be used for creating the workspace. | -| `template_version_id` | string | false | | Template version ID can be used to specify a specific version of a template for creating the workspace. | -| `template_version_preset_id` | string | false | | | -| `ttl_ms` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`automatic_updates`|[codersdk.AutomaticUpdates](#codersdkautomaticupdates)|false||| +|`autostart_schedule`|string|false||| +|`name`|string|true||| +|`rich_parameter_values`|array of [codersdk.WorkspaceBuildParameter](#codersdkworkspacebuildparameter)|false||Rich parameter values allows for additional parameters to be provided during the initial provision.| +|`template_id`|string|false||Template ID specifies which template should be used for creating the workspace.| +|`template_version_id`|string|false||Template version ID can be used to specify a specific version of a template for creating the workspace.| +|`template_version_preset_id`|string|false||| +|`ttl_ms`|integer|false||| ## codersdk.CryptoKey @@ -1830,13 +1830,13 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|--------------------------------------------------------|----------|--------------|-------------| -| `deletes_at` | string | false | | | -| `feature` | [codersdk.CryptoKeyFeature](#codersdkcryptokeyfeature) | false | | | -| `secret` | string | false | | | -| `sequence` | integer | false | | | -| `starts_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`deletes_at`|string|false||| +|`feature`|[codersdk.CryptoKeyFeature](#codersdkcryptokeyfeature)|false||| +|`secret`|string|false||| +|`sequence`|integer|false||| +|`starts_at`|string|false||| ## codersdk.CryptoKeyFeature @@ -1848,12 +1848,12 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -|--------------------------| -| `workspace_apps_api_key` | -| `workspace_apps_token` | -| `oidc_convert` | -| `tailnet_resume` | +|Value| +|---| +|`workspace_apps_api_key`| +|`workspace_apps_token`| +|`oidc_convert`| +|`tailnet_resume`| ## codersdk.CustomRoleRequest @@ -1887,13 +1887,13 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|-----------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------| -| `display_name` | string | false | | | -| `name` | string | false | | | -| `organization_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | Organization permissions are specific to the organization the role belongs to. | -| `site_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | -| `user_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`name`|string|false||| +|`organization_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||Organization permissions are specific to the organization the role belongs to.| +|`site_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| +|`user_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| ## codersdk.DAUEntry @@ -1906,10 +1906,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|---------|----------|--------------|------------------------------------------------------------------------------------------| -| `amount` | integer | false | | | -| `date` | string | false | | Date is a string formatted as 2024-01-31. Timezone and time information is not included. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`amount`|integer|false||| +|`date`|string|false||Date is a string formatted as 2024-01-31. Timezone and time information is not included.| ## codersdk.DAUsResponse @@ -1927,10 +1927,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|-------------------------------------------------|----------|--------------|-------------| -| `entries` | array of [codersdk.DAUEntry](#codersdkdauentry) | false | | | -| `tz_hour_offset` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`entries`|array of [codersdk.DAUEntry](#codersdkdauentry)|false||| +|`tz_hour_offset`|integer|false||| ## codersdk.DERP @@ -1969,10 +1969,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|--------------------------------------------------------|----------|--------------|-------------| -| `config` | [codersdk.DERPConfig](#codersdkderpconfig) | false | | | -| `server` | [codersdk.DERPServerConfig](#codersdkderpserverconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`config`|[codersdk.DERPConfig](#codersdkderpconfig)|false||| +|`server`|[codersdk.DERPServerConfig](#codersdkderpserverconfig)|false||| ## codersdk.DERPConfig @@ -1987,12 +1987,12 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `block_direct` | boolean | false | | | -| `force_websockets` | boolean | false | | | -| `path` | string | false | | | -| `url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`block_direct`|boolean|false||| +|`force_websockets`|boolean|false||| +|`path`|string|false||| +|`url`|string|false||| ## codersdk.DERPRegion @@ -2005,10 +2005,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|---------|----------|--------------|-------------| -| `latency_ms` | number | false | | | -| `preferred` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`latency_ms`|number|false||| +|`preferred`|boolean|false||| ## codersdk.DERPServerConfig @@ -2039,14 +2039,14 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|----------------------------|----------|--------------|-------------| -| `enable` | boolean | false | | | -| `region_code` | string | false | | | -| `region_id` | integer | false | | | -| `region_name` | string | false | | | -| `relay_url` | [serpent.URL](#serpenturl) | false | | | -| `stun_addresses` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enable`|boolean|false||| +|`region_code`|string|false||| +|`region_id`|integer|false||| +|`region_name`|string|false||| +|`relay_url`|[serpent.URL](#serpenturl)|false||| +|`stun_addresses`|array of string|false||| ## codersdk.DangerousConfig @@ -2060,11 +2060,11 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------------|---------|----------|--------------|-------------| -| `allow_all_cors` | boolean | false | | | -| `allow_path_app_sharing` | boolean | false | | | -| `allow_path_app_site_owner_access` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_all_cors`|boolean|false||| +|`allow_path_app_sharing`|boolean|false||| +|`allow_path_app_site_owner_access`|boolean|false||| ## codersdk.DeleteWebpushSubscription @@ -2076,9 +2076,9 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|--------|----------|--------------|-------------| -| `endpoint` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`endpoint`|string|false||| ## codersdk.DeleteWorkspaceAgentPortShareRequest @@ -2091,10 +2091,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|---------|----------|--------------|-------------| -| `agent_name` | string | false | | | -| `port` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`port`|integer|false||| ## codersdk.DeploymentConfig @@ -2540,10 +2540,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|--------------------------------------------------------|----------|--------------|-------------| -| `config` | [codersdk.DeploymentValues](#codersdkdeploymentvalues) | false | | | -| `options` | array of [serpent.Option](#serpentoption) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`config`|[codersdk.DeploymentValues](#codersdkdeploymentvalues)|false||| +|`options`|array of [serpent.Option](#serpentoption)|false||| ## codersdk.DeploymentStats @@ -2576,13 +2576,13 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|------------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------| -| `aggregated_from` | string | false | | Aggregated from is the time in which stats are aggregated from. This might be back in time a specific duration or interval. | -| `collected_at` | string | false | | Collected at is the time in which stats are collected at. | -| `next_update_at` | string | false | | Next update at is the time when the next batch of stats will be updated. | -| `session_count` | [codersdk.SessionCountDeploymentStats](#codersdksessioncountdeploymentstats) | false | | | -| `workspaces` | [codersdk.WorkspaceDeploymentStats](#codersdkworkspacedeploymentstats) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`aggregated_from`|string|false||Aggregated from is the time in which stats are aggregated from. This might be back in time a specific duration or interval.| +|`collected_at`|string|false||Collected at is the time in which stats are collected at.| +|`next_update_at`|string|false||Next update at is the time when the next batch of stats will be updated.| +|`session_count`|[codersdk.SessionCountDeploymentStats](#codersdksessioncountdeploymentstats)|false||| +|`workspaces`|[codersdk.WorkspaceDeploymentStats](#codersdkworkspacedeploymentstats)|false||| ## codersdk.DeploymentValues @@ -2993,71 +2993,71 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------------------------|------------------------------------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------------| -| `access_url` | [serpent.URL](#serpenturl) | false | | | -| `additional_csp_policy` | array of string | false | | | -| `address` | [serpent.HostPort](#serpenthostport) | false | | Deprecated: Use HTTPAddress or TLS.Address instead. | -| `agent_fallback_troubleshooting_url` | [serpent.URL](#serpenturl) | false | | | -| `agent_stat_refresh_interval` | integer | false | | | -| `allow_workspace_renames` | boolean | false | | | -| `autobuild_poll_interval` | integer | false | | | -| `browser_only` | boolean | false | | | -| `cache_directory` | string | false | | | -| `cli_upgrade_message` | string | false | | | -| `config` | string | false | | | -| `config_ssh` | [codersdk.SSHConfig](#codersdksshconfig) | false | | | -| `dangerous` | [codersdk.DangerousConfig](#codersdkdangerousconfig) | false | | | -| `derp` | [codersdk.DERP](#codersdkderp) | false | | | -| `disable_owner_workspace_exec` | boolean | false | | | -| `disable_password_auth` | boolean | false | | | -| `disable_path_apps` | boolean | false | | | -| `docs_url` | [serpent.URL](#serpenturl) | false | | | -| `enable_terraform_debug_mode` | boolean | false | | | -| `ephemeral_deployment` | boolean | false | | | -| `experiments` | array of string | false | | | -| `external_auth` | [serpent.Struct-array_codersdk_ExternalAuthConfig](#serpentstruct-array_codersdk_externalauthconfig) | false | | | -| `external_token_encryption_keys` | array of string | false | | | -| `healthcheck` | [codersdk.HealthcheckConfig](#codersdkhealthcheckconfig) | false | | | -| `hide_ai_tasks` | boolean | false | | | -| `http_address` | string | false | | Http address is a string because it may be set to zero to disable. | -| `http_cookies` | [codersdk.HTTPCookieConfig](#codersdkhttpcookieconfig) | false | | | -| `job_hang_detector_interval` | integer | false | | | -| `logging` | [codersdk.LoggingConfig](#codersdkloggingconfig) | false | | | -| `metrics_cache_refresh_interval` | integer | false | | | -| `notifications` | [codersdk.NotificationsConfig](#codersdknotificationsconfig) | false | | | -| `oauth2` | [codersdk.OAuth2Config](#codersdkoauth2config) | false | | | -| `oidc` | [codersdk.OIDCConfig](#codersdkoidcconfig) | false | | | -| `pg_auth` | string | false | | | -| `pg_connection_url` | string | false | | | -| `pprof` | [codersdk.PprofConfig](#codersdkpprofconfig) | false | | | -| `prometheus` | [codersdk.PrometheusConfig](#codersdkprometheusconfig) | false | | | -| `provisioner` | [codersdk.ProvisionerConfig](#codersdkprovisionerconfig) | false | | | -| `proxy_health_status_interval` | integer | false | | | -| `proxy_trusted_headers` | array of string | false | | | -| `proxy_trusted_origins` | array of string | false | | | -| `rate_limit` | [codersdk.RateLimitConfig](#codersdkratelimitconfig) | false | | | -| `redirect_to_access_url` | boolean | false | | | -| `scim_api_key` | string | false | | | -| `session_lifetime` | [codersdk.SessionLifetime](#codersdksessionlifetime) | false | | | -| `ssh_keygen_algorithm` | string | false | | | -| `strict_transport_security` | integer | false | | | -| `strict_transport_security_options` | array of string | false | | | -| `support` | [codersdk.SupportConfig](#codersdksupportconfig) | false | | | -| `swagger` | [codersdk.SwaggerConfig](#codersdkswaggerconfig) | false | | | -| `telemetry` | [codersdk.TelemetryConfig](#codersdktelemetryconfig) | false | | | -| `terms_of_service_url` | string | false | | | -| `tls` | [codersdk.TLSConfig](#codersdktlsconfig) | false | | | -| `trace` | [codersdk.TraceConfig](#codersdktraceconfig) | false | | | -| `update_check` | boolean | false | | | -| `user_quiet_hours_schedule` | [codersdk.UserQuietHoursScheduleConfig](#codersdkuserquiethoursscheduleconfig) | false | | | -| `verbose` | boolean | false | | | -| `web_terminal_renderer` | string | false | | | -| `wgtunnel_host` | string | false | | | -| `wildcard_access_url` | string | false | | | -| `workspace_hostname_suffix` | string | false | | | -| `workspace_prebuilds` | [codersdk.PrebuildsConfig](#codersdkprebuildsconfig) | false | | | -| `write_config` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_url`|[serpent.URL](#serpenturl)|false||| +|`additional_csp_policy`|array of string|false||| +|`address`|[serpent.HostPort](#serpenthostport)|false||Deprecated: Use HTTPAddress or TLS.Address instead.| +|`agent_fallback_troubleshooting_url`|[serpent.URL](#serpenturl)|false||| +|`agent_stat_refresh_interval`|integer|false||| +|`allow_workspace_renames`|boolean|false||| +|`autobuild_poll_interval`|integer|false||| +|`browser_only`|boolean|false||| +|`cache_directory`|string|false||| +|`cli_upgrade_message`|string|false||| +|`config`|string|false||| +|`config_ssh`|[codersdk.SSHConfig](#codersdksshconfig)|false||| +|`dangerous`|[codersdk.DangerousConfig](#codersdkdangerousconfig)|false||| +|`derp`|[codersdk.DERP](#codersdkderp)|false||| +|`disable_owner_workspace_exec`|boolean|false||| +|`disable_password_auth`|boolean|false||| +|`disable_path_apps`|boolean|false||| +|`docs_url`|[serpent.URL](#serpenturl)|false||| +|`enable_terraform_debug_mode`|boolean|false||| +|`ephemeral_deployment`|boolean|false||| +|`experiments`|array of string|false||| +|`external_auth`|[serpent.Struct-array_codersdk_ExternalAuthConfig](#serpentstruct-array_codersdk_externalauthconfig)|false||| +|`external_token_encryption_keys`|array of string|false||| +|`healthcheck`|[codersdk.HealthcheckConfig](#codersdkhealthcheckconfig)|false||| +|`hide_ai_tasks`|boolean|false||| +|`http_address`|string|false||Http address is a string because it may be set to zero to disable.| +|`http_cookies`|[codersdk.HTTPCookieConfig](#codersdkhttpcookieconfig)|false||| +|`job_hang_detector_interval`|integer|false||| +|`logging`|[codersdk.LoggingConfig](#codersdkloggingconfig)|false||| +|`metrics_cache_refresh_interval`|integer|false||| +|`notifications`|[codersdk.NotificationsConfig](#codersdknotificationsconfig)|false||| +|`oauth2`|[codersdk.OAuth2Config](#codersdkoauth2config)|false||| +|`oidc`|[codersdk.OIDCConfig](#codersdkoidcconfig)|false||| +|`pg_auth`|string|false||| +|`pg_connection_url`|string|false||| +|`pprof`|[codersdk.PprofConfig](#codersdkpprofconfig)|false||| +|`prometheus`|[codersdk.PrometheusConfig](#codersdkprometheusconfig)|false||| +|`provisioner`|[codersdk.ProvisionerConfig](#codersdkprovisionerconfig)|false||| +|`proxy_health_status_interval`|integer|false||| +|`proxy_trusted_headers`|array of string|false||| +|`proxy_trusted_origins`|array of string|false||| +|`rate_limit`|[codersdk.RateLimitConfig](#codersdkratelimitconfig)|false||| +|`redirect_to_access_url`|boolean|false||| +|`scim_api_key`|string|false||| +|`session_lifetime`|[codersdk.SessionLifetime](#codersdksessionlifetime)|false||| +|`ssh_keygen_algorithm`|string|false||| +|`strict_transport_security`|integer|false||| +|`strict_transport_security_options`|array of string|false||| +|`support`|[codersdk.SupportConfig](#codersdksupportconfig)|false||| +|`swagger`|[codersdk.SwaggerConfig](#codersdkswaggerconfig)|false||| +|`telemetry`|[codersdk.TelemetryConfig](#codersdktelemetryconfig)|false||| +|`terms_of_service_url`|string|false||| +|`tls`|[codersdk.TLSConfig](#codersdktlsconfig)|false||| +|`trace`|[codersdk.TraceConfig](#codersdktraceconfig)|false||| +|`update_check`|boolean|false||| +|`user_quiet_hours_schedule`|[codersdk.UserQuietHoursScheduleConfig](#codersdkuserquiethoursscheduleconfig)|false||| +|`verbose`|boolean|false||| +|`web_terminal_renderer`|string|false||| +|`wgtunnel_host`|string|false||| +|`wildcard_access_url`|string|false||| +|`workspace_hostname_suffix`|string|false||| +|`workspace_prebuilds`|[codersdk.PrebuildsConfig](#codersdkprebuildsconfig)|false||| +|`write_config`|boolean|false||| ## codersdk.DiagnosticExtra @@ -3069,9 +3069,9 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|--------|----------|--------------|-------------| -| `code` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`code`|string|false||| ## codersdk.DiagnosticSeverityString @@ -3083,10 +3083,10 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -|-----------| -| `error` | -| `warning` | +|Value| +|---| +|`error`| +|`warning`| ## codersdk.DisplayApp @@ -3098,13 +3098,13 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -|--------------------------| -| `vscode` | -| `vscode_insiders` | -| `web_terminal` | -| `port_forwarding_helper` | -| `ssh_helper` | +|Value| +|---| +|`vscode`| +|`vscode_insiders`| +|`web_terminal`| +|`port_forwarding_helper`| +|`ssh_helper`| ## codersdk.DynamicParametersRequest @@ -3121,12 +3121,12 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|--------------------------------------------------------------------------------------------------------------| -| `id` | integer | false | | ID identifies the request. The response contains the same ID so that the client can match it to the request. | -| `inputs` | object | false | | | -| » `[any property]` | string | false | | | -| `owner_id` | string | false | | Owner ID if uuid.Nil, it defaults to `codersdk.Me` | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`id`|integer|false||ID identifies the request. The response contains the same ID so that the client can match it to the request.| +|`inputs`|object|false||| +|» `[any property]`|string|false||| +|`owner_id`|string|false||Owner ID if uuid.Nil, it defaults to `codersdk.Me`| ## codersdk.DynamicParametersResponse @@ -3206,11 +3206,11 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------------------------------------------------------------------|----------|--------------|-------------| -| `diagnostics` | array of [codersdk.FriendlyDiagnostic](#codersdkfriendlydiagnostic) | false | | | -| `id` | integer | false | | | -| `parameters` | array of [codersdk.PreviewParameter](#codersdkpreviewparameter) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`diagnostics`|array of [codersdk.FriendlyDiagnostic](#codersdkfriendlydiagnostic)|false||| +|`id`|integer|false||| +|`parameters`|array of [codersdk.PreviewParameter](#codersdkpreviewparameter)|false||| ## codersdk.Entitlement @@ -3222,11 +3222,11 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -|----------------| -| `entitled` | -| `grace_period` | -| `not_entitled` | +|Value| +|---| +|`entitled`| +|`grace_period`| +|`not_entitled`| ## codersdk.Entitlements @@ -3273,16 +3273,16 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|--------------------------------------|----------|--------------|-------------| -| `errors` | array of string | false | | | -| `features` | object | false | | | -| » `[any property]` | [codersdk.Feature](#codersdkfeature) | false | | | -| `has_license` | boolean | false | | | -| `refreshed_at` | string | false | | | -| `require_telemetry` | boolean | false | | | -| `trial` | boolean | false | | | -| `warnings` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`errors`|array of string|false||| +|`features`|object|false||| +|» `[any property]`|[codersdk.Feature](#codersdkfeature)|false||| +|`has_license`|boolean|false||| +|`refreshed_at`|string|false||| +|`require_telemetry`|boolean|false||| +|`trial`|boolean|false||| +|`warnings`|array of string|false||| ## codersdk.Experiment @@ -3294,15 +3294,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o #### Enumerated Values -| Value | -|------------------------| -| `example` | -| `auto-fill-parameters` | -| `notifications` | -| `workspace-usage` | -| `web-push` | -| `oauth2` | -| `mcp-server-http` | +|Value| +|---| +|`example`| +|`auto-fill-parameters`| +|`notifications`| +|`workspace-usage`| +|`web-push`| +|`oauth2`| +|`mcp-server-http`| ## codersdk.ExternalAuth @@ -3338,15 +3338,15 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|---------------------------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------| -| `app_install_url` | string | false | | App install URL is the URL to install the app. | -| `app_installable` | boolean | false | | App installable is true if the request for app installs was successful. | -| `authenticated` | boolean | false | | | -| `device` | boolean | false | | | -| `display_name` | string | false | | | -| `installations` | array of [codersdk.ExternalAuthAppInstallation](#codersdkexternalauthappinstallation) | false | | Installations are the installations that the user has access to. | -| `user` | [codersdk.ExternalAuthUser](#codersdkexternalauthuser) | false | | User is the user that authenticated with the provider. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`app_install_url`|string|false||App install URL is the URL to install the app.| +|`app_installable`|boolean|false||App installable is true if the request for app installs was successful.| +|`authenticated`|boolean|false||| +|`device`|boolean|false||| +|`display_name`|string|false||| +|`installations`|array of [codersdk.ExternalAuthAppInstallation](#codersdkexternalauthappinstallation)|false||Installations are the installations that the user has access to.| +|`user`|[codersdk.ExternalAuthUser](#codersdkexternalauthuser)|false||User is the user that authenticated with the provider.| ## codersdk.ExternalAuthAppInstallation @@ -3366,11 +3366,11 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|--------------------------------------------------------|----------|--------------|-------------| -| `account` | [codersdk.ExternalAuthUser](#codersdkexternalauthuser) | false | | | -| `configure_url` | string | false | | | -| `id` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`account`|[codersdk.ExternalAuthUser](#codersdkexternalauthuser)|false||| +|`configure_url`|string|false||| +|`id`|integer|false||| ## codersdk.ExternalAuthConfig @@ -3398,18 +3398,18 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|---------|----------|--------------|-----------------------------------------------------------------------------------------| -| `app_install_url` | string | false | | | -| `app_installations_url` | string | false | | | -| `auth_url` | string | false | | | -| `client_id` | string | false | | | -| `device_code_url` | string | false | | | -| `device_flow` | boolean | false | | | -| `display_icon` | string | false | | Display icon is a URL to an icon to display in the UI. | -| `display_name` | string | false | | Display name is shown in the UI to identify the auth config. | -| `id` | string | false | | ID is a unique identifier for the auth config. It defaults to `type` when not provided. | -| `no_refresh` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`app_install_url`|string|false||| +|`app_installations_url`|string|false||| +|`auth_url`|string|false||| +|`client_id`|string|false||| +|`device_code_url`|string|false||| +|`device_flow`|boolean|false||| +|`display_icon`|string|false||Display icon is a URL to an icon to display in the UI.| +|`display_name`|string|false||Display name is shown in the UI to identify the auth config.| +|`id`|string|false||ID is a unique identifier for the auth config. It defaults to `type` when not provided.| +|`no_refresh`|boolean|false||| |`regex`|string|false||Regex allows API requesters to match an auth config by a string (e.g. coder.com) instead of by it's type. Git clone makes use of this by parsing the URL from: 'Username for "https://github.com":' And sending it to the Coder server to match against the Regex.| |`scopes`|array of string|false||| @@ -3431,13 +3431,13 @@ Git clone makes use of this by parsing the URL from: 'Username for "https://gith ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `device_code` | string | false | | | -| `expires_in` | integer | false | | | -| `interval` | integer | false | | | -| `user_code` | string | false | | | -| `verification_uri` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`device_code`|string|false||| +|`expires_in`|integer|false||| +|`interval`|integer|false||| +|`user_code`|string|false||| +|`verification_uri`|string|false||| ## codersdk.ExternalAuthLink @@ -3455,15 +3455,15 @@ Git clone makes use of this by parsing the URL from: 'Username for "https://gith ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|---------|----------|--------------|-------------| -| `authenticated` | boolean | false | | | -| `created_at` | string | false | | | -| `expires` | string | false | | | -| `has_refresh_token` | boolean | false | | | -| `provider_id` | string | false | | | -| `updated_at` | string | false | | | -| `validate_error` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authenticated`|boolean|false||| +|`created_at`|string|false||| +|`expires`|string|false||| +|`has_refresh_token`|boolean|false||| +|`provider_id`|string|false||| +|`updated_at`|string|false||| +|`validate_error`|string|false||| ## codersdk.ExternalAuthUser @@ -3479,13 +3479,13 @@ Git clone makes use of this by parsing the URL from: 'Username for "https://gith ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------|----------|--------------|-------------| -| `avatar_url` | string | false | | | -| `id` | integer | false | | | -| `login` | string | false | | | -| `name` | string | false | | | -| `profile_url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`id`|integer|false||| +|`login`|string|false||| +|`name`|string|false||| +|`profile_url`|string|false||| ## codersdk.Feature @@ -3506,13 +3506,13 @@ Git clone makes use of this by parsing the URL from: 'Username for "https://gith ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|----------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `actual` | integer | false | | | -| `enabled` | boolean | false | | | -| `entitlement` | [codersdk.Entitlement](#codersdkentitlement) | false | | | -| `limit` | integer | false | | | -| `soft_limit` | integer | false | | Soft limit is the soft limit of the feature, and is only used for showing included limits in the dashboard. No license validation or warnings are generated from this value. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`actual`|integer|false||| +|`enabled`|boolean|false||| +|`entitlement`|[codersdk.Entitlement](#codersdkentitlement)|false||| +|`limit`|integer|false||| +|`soft_limit`|integer|false||Soft limit is the soft limit of the feature, and is only used for showing included limits in the dashboard. No license validation or warnings are generated from this value.| |`usage_period`|[codersdk.UsagePeriod](#codersdkusageperiod)|false||Usage period denotes that the usage is a counter that accumulates over this period (and most likely resets with the issuance of the next license). These dates are determined from the license that this entitlement comes from, see enterprise/coderd/license/license.go. Only certain features set these fields: - FeatureManagedAgentLimit| @@ -3532,12 +3532,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|------------------------------------------------------------------------|----------|--------------|-------------| -| `detail` | string | false | | | -| `extra` | [codersdk.DiagnosticExtra](#codersdkdiagnosticextra) | false | | | -| `severity` | [codersdk.DiagnosticSeverityString](#codersdkdiagnosticseveritystring) | false | | | -| `summary` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`detail`|string|false||| +|`extra`|[codersdk.DiagnosticExtra](#codersdkdiagnosticextra)|false||| +|`severity`|[codersdk.DiagnosticSeverityString](#codersdkdiagnosticseveritystring)|false||| +|`summary`|string|false||| ## codersdk.GenerateAPIKeyResponse @@ -3549,9 +3549,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------|--------|----------|--------------|-------------| -| `key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`key`|string|false||| ## codersdk.GetInboxNotificationResponse @@ -3582,10 +3582,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|----------------------------------------------------------|----------|--------------|-------------| -| `notification` | [codersdk.InboxNotification](#codersdkinboxnotification) | false | | | -| `unread_count` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`notification`|[codersdk.InboxNotification](#codersdkinboxnotification)|false||| +|`unread_count`|integer|false||| ## codersdk.GetUserStatusCountsResponse @@ -3610,10 +3610,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------------------------------------------------------------------------|----------|--------------|-------------| -| `status_counts` | object | false | | | -| » `[any property]` | array of [codersdk.UserStatusChangeCount](#codersdkuserstatuschangecount) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`status_counts`|object|false||| +|» `[any property]`|array of [codersdk.UserStatusChangeCount](#codersdkuserstatuschangecount)|false||| ## codersdk.GetUsersResponse @@ -3650,10 +3650,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|-----------------------------------------|----------|--------------|-------------| -| `count` | integer | false | | | -| `users` | array of [codersdk.User](#codersdkuser) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`users`|array of [codersdk.User](#codersdkuser)|false||| ## codersdk.GitSSHKey @@ -3668,12 +3668,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|--------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `created_at` | string | false | | | -| `public_key` | string | false | | Public key is the SSH public key in OpenSSH format. Example: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3OmYJvT7q1cF1azbybYy0OZ9yrXfA+M6Lr4vzX5zlp\n" Note: The key includes a trailing newline (\n). | -| `updated_at` | string | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`public_key`|string|false||Public key is the SSH public key in OpenSSH format. Example: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID3OmYJvT7q1cF1azbybYy0OZ9yrXfA+M6Lr4vzX5zlp\n" Note: The key includes a trailing newline (\n).| +|`updated_at`|string|false||| +|`user_id`|string|false||| ## codersdk.GithubAuthMethod @@ -3686,10 +3686,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------------|---------|----------|--------------|-------------| -| `default_provider_configured` | boolean | false | | | -| `enabled` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default_provider_configured`|boolean|false||| +|`enabled`|boolean|false||| ## codersdk.Group @@ -3725,19 +3725,19 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------------------|-------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `avatar_url` | string | false | | | -| `display_name` | string | false | | | -| `id` | string | false | | | -| `members` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | | -| `name` | string | false | | | -| `organization_display_name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_name` | string | false | | | -| `quota_allowance` | integer | false | | | -| `source` | [codersdk.GroupSource](#codersdkgroupsource) | false | | | -| `total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`display_name`|string|false||| +|`id`|string|false||| +|`members`|array of [codersdk.ReducedUser](#codersdkreduceduser)|false||| +|`name`|string|false||| +|`organization_display_name`|string|false||| +|`organization_id`|string|false||| +|`organization_name`|string|false||| +|`quota_allowance`|integer|false||| +|`source`|[codersdk.GroupSource](#codersdkgroupsource)|false||| +|`total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| ## codersdk.GroupSource @@ -3749,10 +3749,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|--------| -| `user` | -| `oidc` | +|Value| +|---| +|`user`| +|`oidc`| ## codersdk.GroupSyncSettings @@ -3778,15 +3778,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|--------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `auto_create_missing_groups` | boolean | false | | Auto create missing groups controls whether groups returned by the OIDC provider are automatically created in Coder if they are missing. | -| `field` | string | false | | Field is the name of the claim field that specifies what groups a user should be in. If empty, no groups will be synced. | -| `legacy_group_name_mapping` | object | false | | Legacy group name mapping is deprecated. It remaps an IDP group name to a Coder group name. Since configuration is now done at runtime, group IDs are used to account for group renames. For legacy configurations, this config option has to remain. Deprecated: Use Mapping instead. | -| » `[any property]` | string | false | | | -| `mapping` | object | false | | Mapping is a map from OIDC groups to Coder group IDs | -| » `[any property]` | array of string | false | | | -| `regex_filter` | [regexp.Regexp](#regexpregexp) | false | | Regex filter is a regular expression that filters the groups returned by the OIDC provider. Any group not matched by this regex will be ignored. If the group filter is nil, then no group filtering will occur. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`auto_create_missing_groups`|boolean|false||Auto create missing groups controls whether groups returned by the OIDC provider are automatically created in Coder if they are missing.| +|`field`|string|false||Field is the name of the claim field that specifies what groups a user should be in. If empty, no groups will be synced.| +|`legacy_group_name_mapping`|object|false||Legacy group name mapping is deprecated. It remaps an IDP group name to a Coder group name. Since configuration is now done at runtime, group IDs are used to account for group renames. For legacy configurations, this config option has to remain. Deprecated: Use Mapping instead.| +|» `[any property]`|string|false||| +|`mapping`|object|false||Mapping is a map from OIDC groups to Coder group IDs| +|» `[any property]`|array of string|false||| +|`regex_filter`|[regexp.Regexp](#regexpregexp)|false||Regex filter is a regular expression that filters the groups returned by the OIDC provider. Any group not matched by this regex will be ignored. If the group filter is nil, then no group filtering will occur.| ## codersdk.HTTPCookieConfig @@ -3799,10 +3799,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `same_site` | string | false | | | -| `secure_auth_cookie` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`same_site`|string|false||| +|`secure_auth_cookie`|boolean|false||| ## codersdk.Healthcheck @@ -3816,11 +3816,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|---------|----------|--------------|--------------------------------------------------------------------------------------------------| -| `interval` | integer | false | | Interval specifies the seconds between each health check. | -| `threshold` | integer | false | | Threshold specifies the number of consecutive failed health checks before returning "unhealthy". | -| `url` | string | false | | URL specifies the endpoint to check for the app health. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`interval`|integer|false||Interval specifies the seconds between each health check.| +|`threshold`|integer|false||Threshold specifies the number of consecutive failed health checks before returning "unhealthy".| +|`url`|string|false||URL specifies the endpoint to check for the app health.| ## codersdk.HealthcheckConfig @@ -3833,10 +3833,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `refresh` | integer | false | | | -| `threshold_database` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`refresh`|integer|false||| +|`threshold_database`|integer|false||| ## codersdk.InboxNotification @@ -3864,18 +3864,18 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|-------------------------------------------------------------------------------|----------|--------------|-------------| -| `actions` | array of [codersdk.InboxNotificationAction](#codersdkinboxnotificationaction) | false | | | -| `content` | string | false | | | -| `created_at` | string | false | | | -| `icon` | string | false | | | -| `id` | string | false | | | -| `read_at` | string | false | | | -| `targets` | array of string | false | | | -| `template_id` | string | false | | | -| `title` | string | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`actions`|array of [codersdk.InboxNotificationAction](#codersdkinboxnotificationaction)|false||| +|`content`|string|false||| +|`created_at`|string|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`read_at`|string|false||| +|`targets`|array of string|false||| +|`template_id`|string|false||| +|`title`|string|false||| +|`user_id`|string|false||| ## codersdk.InboxNotificationAction @@ -3888,10 +3888,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `label` | string | false | | | -| `url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`label`|string|false||| +|`url`|string|false||| ## codersdk.InsightsReportInterval @@ -3903,10 +3903,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|--------| -| `day` | -| `week` | +|Value| +|---| +|`day`| +|`week`| ## codersdk.IssueReconnectingPTYSignedTokenRequest @@ -3919,10 +3919,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|--------|----------|--------------|------------------------------------------------------------------------| -| `agentID` | string | true | | | -| `url` | string | true | | URL is the URL of the reconnecting-pty endpoint you are connecting to. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agentID`|string|true||| +|`url`|string|true||URL is the URL of the reconnecting-pty endpoint you are connecting to.| ## codersdk.IssueReconnectingPTYSignedTokenResponse @@ -3934,9 +3934,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `signed_token` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`signed_token`|string|false||| ## codersdk.JobErrorCode @@ -3948,9 +3948,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|-------------------------------| -| `REQUIRED_TEMPLATE_VARIABLES` | +|Value| +|---| +|`REQUIRED_TEMPLATE_VARIABLES`| ## codersdk.License @@ -3965,12 +3965,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `claims` | object | false | | Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. | -| `id` | integer | false | | | -| `uploaded_at` | string | false | | | -| `uuid` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`claims`|object|false||Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands.| +|`id`|integer|false||| +|`uploaded_at`|string|false||| +|`uuid`|string|false||| ## codersdk.LinkConfig @@ -3984,19 +3984,19 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|--------|----------|--------------|-------------| -| `icon` | string | false | | | -| `name` | string | false | | | -| `target` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`icon`|string|false||| +|`name`|string|false||| +|`target`|string|false||| #### Enumerated Values -| Property | Value | -|----------|--------| -| `icon` | `bug` | -| `icon` | `chat` | -| `icon` | `docs` | +|Property|Value| +|---|---| +|`icon`|`bug`| +|`icon`|`chat`| +|`icon`|`docs`| ## codersdk.ListInboxNotificationsResponse @@ -4029,10 +4029,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|-------------------------------------------------------------------|----------|--------------|-------------| -| `notifications` | array of [codersdk.InboxNotification](#codersdkinboxnotification) | false | | | -| `unread_count` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`notifications`|array of [codersdk.InboxNotification](#codersdkinboxnotification)|false||| +|`unread_count`|integer|false||| ## codersdk.LogLevel @@ -4044,13 +4044,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|---------| -| `trace` | -| `debug` | -| `info` | -| `warn` | -| `error` | +|Value| +|---| +|`trace`| +|`debug`| +|`info`| +|`warn`| +|`error`| ## codersdk.LogSource @@ -4062,10 +4062,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|----------------------| -| `provisioner_daemon` | -| `provisioner` | +|Value| +|---| +|`provisioner_daemon`| +|`provisioner`| ## codersdk.LoggingConfig @@ -4082,12 +4082,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|-----------------|----------|--------------|-------------| -| `human` | string | false | | | -| `json` | string | false | | | -| `log_filter` | array of string | false | | | -| `stackdriver` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`human`|string|false||| +|`json`|string|false||| +|`log_filter`|array of string|false||| +|`stackdriver`|string|false||| ## codersdk.LoginType @@ -4099,14 +4099,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|------------| -| `` | -| `password` | -| `github` | -| `oidc` | -| `token` | -| `none` | +|Value| +|---| +|``| +|`password`| +|`github`| +|`oidc`| +|`token`| +|`none`| ## codersdk.LoginWithPasswordRequest @@ -4119,10 +4119,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|--------|----------|--------------|-------------| -| `email` | string | true | | | -| `password` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| +|`password`|string|true||| ## codersdk.LoginWithPasswordResponse @@ -4134,9 +4134,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|--------|----------|--------------|-------------| -| `session_token` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`session_token`|string|true||| ## codersdk.MatchedProvisioners @@ -4150,11 +4150,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. | -| `count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. | -| `most_recently_seen` | string | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`available`|integer|false||Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped.| +|`count`|integer|false||Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags.| +|`most_recently_seen`|string|false||Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null.| ## codersdk.MinimalOrganization @@ -4169,12 +4169,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `id` | string | true | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|true||| +|`name`|string|false||| ## codersdk.MinimalUser @@ -4188,11 +4188,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|--------|----------|--------------|-------------| -| `avatar_url` | string | false | | | -| `id` | string | true | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`id`|string|true||| +|`username`|string|true||| ## codersdk.NotificationMethodsResponse @@ -4207,10 +4207,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|-----------------|----------|--------------|-------------| -| `available` | array of string | false | | | -| `default` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`available`|array of string|false||| +|`default`|string|false||| ## codersdk.NotificationPreference @@ -4224,11 +4224,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|---------|----------|--------------|-------------| -| `disabled` | boolean | false | | | -| `id` | string | false | | | -| `updated_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`disabled`|boolean|false||| +|`id`|string|false||| +|`updated_at`|string|false||| ## codersdk.NotificationTemplate @@ -4248,17 +4248,17 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `actions` | string | false | | | -| `body_template` | string | false | | | -| `enabled_by_default` | boolean | false | | | -| `group` | string | false | | | -| `id` | string | false | | | -| `kind` | string | false | | | -| `method` | string | false | | | -| `name` | string | false | | | -| `title_template` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`actions`|string|false||| +|`body_template`|string|false||| +|`enabled_by_default`|boolean|false||| +|`group`|string|false||| +|`id`|string|false||| +|`kind`|string|false||| +|`method`|string|false||| +|`name`|string|false||| +|`title_template`|string|false||| ## codersdk.NotificationsConfig @@ -4316,20 +4316,20 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|----------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `dispatch_timeout` | integer | false | | How long to wait while a notification is being sent before giving up. | -| `email` | [codersdk.NotificationsEmailConfig](#codersdknotificationsemailconfig) | false | | Email settings. | -| `fetch_interval` | integer | false | | How often to query the database for queued notifications. | -| `inbox` | [codersdk.NotificationsInboxConfig](#codersdknotificationsinboxconfig) | false | | Inbox settings. | -| `lease_count` | integer | false | | How many notifications a notifier should lease per fetch interval. | -| `lease_period` | integer | false | | How long a notifier should lease a message. This is effectively how long a notification is 'owned' by a notifier, and once this period expires it will be available for lease by another notifier. Leasing is important in order for multiple running notifiers to not pick the same messages to deliver concurrently. This lease period will only expire if a notifier shuts down ungracefully; a dispatch of the notification releases the lease. | -| `max_send_attempts` | integer | false | | The upper limit of attempts to send a notification. | -| `method` | string | false | | Which delivery method to use (available options: 'smtp', 'webhook'). | -| `retry_interval` | integer | false | | The minimum time between retries. | -| `sync_buffer_size` | integer | false | | The notifications system buffers message updates in memory to ease pressure on the database. This option controls how many updates are kept in memory. The lower this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value. | -| `sync_interval` | integer | false | | The notifications system buffers message updates in memory to ease pressure on the database. This option controls how often it synchronizes its state with the database. The shorter this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value. | -| `webhook` | [codersdk.NotificationsWebhookConfig](#codersdknotificationswebhookconfig) | false | | Webhook settings. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dispatch_timeout`|integer|false||How long to wait while a notification is being sent before giving up.| +|`email`|[codersdk.NotificationsEmailConfig](#codersdknotificationsemailconfig)|false||Email settings.| +|`fetch_interval`|integer|false||How often to query the database for queued notifications.| +|`inbox`|[codersdk.NotificationsInboxConfig](#codersdknotificationsinboxconfig)|false||Inbox settings.| +|`lease_count`|integer|false||How many notifications a notifier should lease per fetch interval.| +|`lease_period`|integer|false||How long a notifier should lease a message. This is effectively how long a notification is 'owned' by a notifier, and once this period expires it will be available for lease by another notifier. Leasing is important in order for multiple running notifiers to not pick the same messages to deliver concurrently. This lease period will only expire if a notifier shuts down ungracefully; a dispatch of the notification releases the lease.| +|`max_send_attempts`|integer|false||The upper limit of attempts to send a notification.| +|`method`|string|false||Which delivery method to use (available options: 'smtp', 'webhook').| +|`retry_interval`|integer|false||The minimum time between retries.| +|`sync_buffer_size`|integer|false||The notifications system buffers message updates in memory to ease pressure on the database. This option controls how many updates are kept in memory. The lower this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value.| +|`sync_interval`|integer|false||The notifications system buffers message updates in memory to ease pressure on the database. This option controls how often it synchronizes its state with the database. The shorter this value the lower the change of state inconsistency in a non-graceful shutdown - but it also increases load on the database. It is recommended to keep this option at its default value.| +|`webhook`|[codersdk.NotificationsWebhookConfig](#codersdknotificationswebhookconfig)|false||Webhook settings.| ## codersdk.NotificationsEmailAuthConfig @@ -4344,12 +4344,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|--------|----------|--------------|------------------------------------------------------------| -| `identity` | string | false | | Identity for PLAIN auth. | -| `password` | string | false | | Password for LOGIN/PLAIN auth. | -| `password_file` | string | false | | File from which to load the password for LOGIN/PLAIN auth. | -| `username` | string | false | | Username for LOGIN/PLAIN auth. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`identity`|string|false||Identity for PLAIN auth.| +|`password`|string|false||Password for LOGIN/PLAIN auth.| +|`password_file`|string|false||File from which to load the password for LOGIN/PLAIN auth.| +|`username`|string|false||Username for LOGIN/PLAIN auth.| ## codersdk.NotificationsEmailConfig @@ -4378,14 +4378,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|--------------------------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------| -| `auth` | [codersdk.NotificationsEmailAuthConfig](#codersdknotificationsemailauthconfig) | false | | Authentication details. | -| `force_tls` | boolean | false | | Force tls causes a TLS connection to be attempted. | -| `from` | string | false | | The sender's address. | -| `hello` | string | false | | The hostname identifying the SMTP server. | -| `smarthost` | string | false | | The intermediary SMTP host through which emails are sent (host:port). | -| `tls` | [codersdk.NotificationsEmailTLSConfig](#codersdknotificationsemailtlsconfig) | false | | Tls details. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`auth`|[codersdk.NotificationsEmailAuthConfig](#codersdknotificationsemailauthconfig)|false||Authentication details.| +|`force_tls`|boolean|false||Force tls causes a TLS connection to be attempted.| +|`from`|string|false||The sender's address.| +|`hello`|string|false||The hostname identifying the SMTP server.| +|`smarthost`|string|false||The intermediary SMTP host through which emails are sent (host:port).| +|`tls`|[codersdk.NotificationsEmailTLSConfig](#codersdknotificationsemailtlsconfig)|false||Tls details.| ## codersdk.NotificationsEmailTLSConfig @@ -4402,14 +4402,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|---------|----------|--------------|--------------------------------------------------------------| -| `ca_file` | string | false | | Ca file specifies the location of the CA certificate to use. | -| `cert_file` | string | false | | Cert file specifies the location of the certificate to use. | -| `insecure_skip_verify` | boolean | false | | Insecure skip verify skips target certificate validation. | -| `key_file` | string | false | | Key file specifies the location of the key to use. | -| `server_name` | string | false | | Server name to verify the hostname for the targets. | -| `start_tls` | boolean | false | | Start tls attempts to upgrade plain connections to TLS. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`ca_file`|string|false||Ca file specifies the location of the CA certificate to use.| +|`cert_file`|string|false||Cert file specifies the location of the certificate to use.| +|`insecure_skip_verify`|boolean|false||Insecure skip verify skips target certificate validation.| +|`key_file`|string|false||Key file specifies the location of the key to use.| +|`server_name`|string|false||Server name to verify the hostname for the targets.| +|`start_tls`|boolean|false||Start tls attempts to upgrade plain connections to TLS.| ## codersdk.NotificationsInboxConfig @@ -4421,9 +4421,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-------------| -| `enabled` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enabled`|boolean|false||| ## codersdk.NotificationsSettings @@ -4435,9 +4435,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|---------|----------|--------------|-------------| -| `notifier_paused` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`notifier_paused`|boolean|false||| ## codersdk.NotificationsWebhookConfig @@ -4461,9 +4461,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|----------------------------|----------|--------------|----------------------------------------------------------------------| -| `endpoint` | [serpent.URL](#serpenturl) | false | | The URL to which the payload will be sent with an HTTP POST request. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`endpoint`|[serpent.URL](#serpenturl)|false||The URL to which the payload will be sent with an HTTP POST request.| ## codersdk.NullHCLString @@ -4476,10 +4476,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|---------|----------|--------------|-------------| -| `valid` | boolean | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`valid`|boolean|false||| +|`value`|string|false||| ## codersdk.OAuth2AppEndpoints @@ -4493,11 +4493,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|--------|----------|--------------|-----------------------------------| -| `authorization` | string | false | | | -| `device_authorization` | string | false | | Device authorization is optional. | -| `token` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authorization`|string|false||| +|`device_authorization`|string|false||Device authorization is optional.| +|`token`|string|false||| ## codersdk.OAuth2AuthorizationServerMetadata @@ -4527,17 +4527,17 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------------------------------|-----------------|----------|--------------|-------------| -| `authorization_endpoint` | string | false | | | -| `code_challenge_methods_supported` | array of string | false | | | -| `grant_types_supported` | array of string | false | | | -| `issuer` | string | false | | | -| `registration_endpoint` | string | false | | | -| `response_types_supported` | array of string | false | | | -| `scopes_supported` | array of string | false | | | -| `token_endpoint` | string | false | | | -| `token_endpoint_auth_methods_supported` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authorization_endpoint`|string|false||| +|`code_challenge_methods_supported`|array of string|false||| +|`grant_types_supported`|array of string|false||| +|`issuer`|string|false||| +|`registration_endpoint`|string|false||| +|`response_types_supported`|array of string|false||| +|`scopes_supported`|array of string|false||| +|`token_endpoint`|string|false||| +|`token_endpoint_auth_methods_supported`|array of string|false||| ## codersdk.OAuth2ClientConfiguration @@ -4576,28 +4576,28 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|-----------------|----------|--------------|-------------| -| `client_id` | string | false | | | -| `client_id_issued_at` | integer | false | | | -| `client_name` | string | false | | | -| `client_secret_expires_at` | integer | false | | | -| `client_uri` | string | false | | | -| `contacts` | array of string | false | | | -| `grant_types` | array of string | false | | | -| `jwks` | object | false | | | -| `jwks_uri` | string | false | | | -| `logo_uri` | string | false | | | -| `policy_uri` | string | false | | | -| `redirect_uris` | array of string | false | | | -| `registration_access_token` | string | false | | | -| `registration_client_uri` | string | false | | | -| `response_types` | array of string | false | | | -| `scope` | string | false | | | -| `software_id` | string | false | | | -| `software_version` | string | false | | | -| `token_endpoint_auth_method` | string | false | | | -| `tos_uri` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_id`|string|false||| +|`client_id_issued_at`|integer|false||| +|`client_name`|string|false||| +|`client_secret_expires_at`|integer|false||| +|`client_uri`|string|false||| +|`contacts`|array of string|false||| +|`grant_types`|array of string|false||| +|`jwks`|object|false||| +|`jwks_uri`|string|false||| +|`logo_uri`|string|false||| +|`policy_uri`|string|false||| +|`redirect_uris`|array of string|false||| +|`registration_access_token`|string|false||| +|`registration_client_uri`|string|false||| +|`response_types`|array of string|false||| +|`scope`|string|false||| +|`software_id`|string|false||| +|`software_version`|string|false||| +|`token_endpoint_auth_method`|string|false||| +|`tos_uri`|string|false||| ## codersdk.OAuth2ClientRegistrationRequest @@ -4632,24 +4632,24 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|-----------------|----------|--------------|-------------| -| `client_name` | string | false | | | -| `client_uri` | string | false | | | -| `contacts` | array of string | false | | | -| `grant_types` | array of string | false | | | -| `jwks` | object | false | | | -| `jwks_uri` | string | false | | | -| `logo_uri` | string | false | | | -| `policy_uri` | string | false | | | -| `redirect_uris` | array of string | false | | | -| `response_types` | array of string | false | | | -| `scope` | string | false | | | -| `software_id` | string | false | | | -| `software_statement` | string | false | | | -| `software_version` | string | false | | | -| `token_endpoint_auth_method` | string | false | | | -| `tos_uri` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_name`|string|false||| +|`client_uri`|string|false||| +|`contacts`|array of string|false||| +|`grant_types`|array of string|false||| +|`jwks`|object|false||| +|`jwks_uri`|string|false||| +|`logo_uri`|string|false||| +|`policy_uri`|string|false||| +|`redirect_uris`|array of string|false||| +|`response_types`|array of string|false||| +|`scope`|string|false||| +|`software_id`|string|false||| +|`software_statement`|string|false||| +|`software_version`|string|false||| +|`token_endpoint_auth_method`|string|false||| +|`tos_uri`|string|false||| ## codersdk.OAuth2ClientRegistrationResponse @@ -4689,29 +4689,29 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|-----------------|----------|--------------|-------------| -| `client_id` | string | false | | | -| `client_id_issued_at` | integer | false | | | -| `client_name` | string | false | | | -| `client_secret` | string | false | | | -| `client_secret_expires_at` | integer | false | | | -| `client_uri` | string | false | | | -| `contacts` | array of string | false | | | -| `grant_types` | array of string | false | | | -| `jwks` | object | false | | | -| `jwks_uri` | string | false | | | -| `logo_uri` | string | false | | | -| `policy_uri` | string | false | | | -| `redirect_uris` | array of string | false | | | -| `registration_access_token` | string | false | | | -| `registration_client_uri` | string | false | | | -| `response_types` | array of string | false | | | -| `scope` | string | false | | | -| `software_id` | string | false | | | -| `software_version` | string | false | | | -| `token_endpoint_auth_method` | string | false | | | -| `tos_uri` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_id`|string|false||| +|`client_id_issued_at`|integer|false||| +|`client_name`|string|false||| +|`client_secret`|string|false||| +|`client_secret_expires_at`|integer|false||| +|`client_uri`|string|false||| +|`contacts`|array of string|false||| +|`grant_types`|array of string|false||| +|`jwks`|object|false||| +|`jwks_uri`|string|false||| +|`logo_uri`|string|false||| +|`policy_uri`|string|false||| +|`redirect_uris`|array of string|false||| +|`registration_access_token`|string|false||| +|`registration_client_uri`|string|false||| +|`response_types`|array of string|false||| +|`scope`|string|false||| +|`software_id`|string|false||| +|`software_version`|string|false||| +|`token_endpoint_auth_method`|string|false||| +|`tos_uri`|string|false||| ## codersdk.OAuth2Config @@ -4737,9 +4737,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|------------------------------------------------------------|----------|--------------|-------------| -| `github` | [codersdk.OAuth2GithubConfig](#codersdkoauth2githubconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`github`|[codersdk.OAuth2GithubConfig](#codersdkoauth2githubconfig)|false||| ## codersdk.OAuth2GithubConfig @@ -4763,17 +4763,17 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------------|-----------------|----------|--------------|-------------| -| `allow_everyone` | boolean | false | | | -| `allow_signups` | boolean | false | | | -| `allowed_orgs` | array of string | false | | | -| `allowed_teams` | array of string | false | | | -| `client_id` | string | false | | | -| `client_secret` | string | false | | | -| `default_provider_enable` | boolean | false | | | -| `device_flow` | boolean | false | | | -| `enterprise_base_url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_everyone`|boolean|false||| +|`allow_signups`|boolean|false||| +|`allowed_orgs`|array of string|false||| +|`allowed_teams`|array of string|false||| +|`client_id`|string|false||| +|`client_secret`|string|false||| +|`default_provider_enable`|boolean|false||| +|`device_flow`|boolean|false||| +|`enterprise_base_url`|string|false||| ## codersdk.OAuth2ProtectedResourceMetadata @@ -4794,12 +4794,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|-----------------|----------|--------------|-------------| -| `authorization_servers` | array of string | false | | | -| `bearer_methods_supported` | array of string | false | | | -| `resource` | string | false | | | -| `scopes_supported` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authorization_servers`|array of string|false||| +|`bearer_methods_supported`|array of string|false||| +|`resource`|string|false||| +|`scopes_supported`|array of string|false||| ## codersdk.OAuth2ProviderApp @@ -4819,13 +4819,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `callback_url` | string | false | | | -| `endpoints` | [codersdk.OAuth2AppEndpoints](#codersdkoauth2appendpoints) | false | | Endpoints are included in the app response for easier discovery. The OAuth2 spec does not have a defined place to find these (for comparison, OIDC has a '/.well-known/openid-configuration' endpoint). | -| `icon` | string | false | | | -| `id` | string | false | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`callback_url`|string|false||| +|`endpoints`|[codersdk.OAuth2AppEndpoints](#codersdkoauth2appendpoints)|false||Endpoints are included in the app response for easier discovery. The OAuth2 spec does not have a defined place to find these (for comparison, OIDC has a '/.well-known/openid-configuration' endpoint).| +|`icon`|string|false||| +|`id`|string|false||| +|`name`|string|false||| ## codersdk.OAuth2ProviderAppSecret @@ -4839,11 +4839,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------------|--------|----------|--------------|-------------| -| `client_secret_truncated` | string | false | | | -| `id` | string | false | | | -| `last_used_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_secret_truncated`|string|false||| +|`id`|string|false||| +|`last_used_at`|string|false||| ## codersdk.OAuth2ProviderAppSecretFull @@ -4856,10 +4856,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|--------|----------|--------------|-------------| -| `client_secret_full` | string | false | | | -| `id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`client_secret_full`|string|false||| +|`id`|string|false||| ## codersdk.OAuthConversionResponse @@ -4874,12 +4874,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|------------------------------------------|----------|--------------|-------------| -| `expires_at` | string | false | | | -| `state_string` | string | false | | | -| `to_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`expires_at`|string|false||| +|`state_string`|string|false||| +|`to_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`user_id`|string|false||| ## codersdk.OIDCAuthMethod @@ -4893,11 +4893,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|---------|----------|--------------|-------------| -| `enabled` | boolean | false | | | -| `iconUrl` | string | false | | | -| `signInText` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enabled`|boolean|false||| +|`iconUrl`|string|false||| +|`signInText`|string|false||| ## codersdk.OIDCConfig @@ -4958,38 +4958,38 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------------------------|----------------------------------|----------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `allow_signups` | boolean | false | | | -| `auth_url_params` | object | false | | | -| `client_cert_file` | string | false | | | -| `client_id` | string | false | | | -| `client_key_file` | string | false | | Client key file & ClientCertFile are used in place of ClientSecret for PKI auth. | -| `client_secret` | string | false | | | -| `email_domain` | array of string | false | | | -| `email_field` | string | false | | | -| `group_allow_list` | array of string | false | | | -| `group_auto_create` | boolean | false | | | -| `group_mapping` | object | false | | | -| `group_regex_filter` | [serpent.Regexp](#serpentregexp) | false | | | -| `groups_field` | string | false | | | -| `icon_url` | [serpent.URL](#serpenturl) | false | | | -| `ignore_email_verified` | boolean | false | | | -| `ignore_user_info` | boolean | false | | Ignore user info & UserInfoFromAccessToken are mutually exclusive. Only 1 can be set to true. Ideally this would be an enum with 3 states, ['none', 'userinfo', 'access_token']. However, for backward compatibility, `ignore_user_info` must remain. And `access_token` is a niche, non-spec compliant edge case. So it's use is rare, and should not be advised. | -| `issuer_url` | string | false | | | -| `name_field` | string | false | | | -| `organization_assign_default` | boolean | false | | | -| `organization_field` | string | false | | | -| `organization_mapping` | object | false | | | -| `scopes` | array of string | false | | | -| `sign_in_text` | string | false | | | -| `signups_disabled_text` | string | false | | | -| `skip_issuer_checks` | boolean | false | | | -| `source_user_info_from_access_token` | boolean | false | | Source user info from access token as mentioned above is an edge case. This allows sourcing the user_info from the access token itself instead of a user_info endpoint. This assumes the access token is a valid JWT with a set of claims to be merged with the id_token. | -| `user_role_field` | string | false | | | -| `user_role_mapping` | object | false | | | -| `user_roles_default` | array of string | false | | | -| `username_field` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_signups`|boolean|false||| +|`auth_url_params`|object|false||| +|`client_cert_file`|string|false||| +|`client_id`|string|false||| +|`client_key_file`|string|false||Client key file & ClientCertFile are used in place of ClientSecret for PKI auth.| +|`client_secret`|string|false||| +|`email_domain`|array of string|false||| +|`email_field`|string|false||| +|`group_allow_list`|array of string|false||| +|`group_auto_create`|boolean|false||| +|`group_mapping`|object|false||| +|`group_regex_filter`|[serpent.Regexp](#serpentregexp)|false||| +|`groups_field`|string|false||| +|`icon_url`|[serpent.URL](#serpenturl)|false||| +|`ignore_email_verified`|boolean|false||| +|`ignore_user_info`|boolean|false||Ignore user info & UserInfoFromAccessToken are mutually exclusive. Only 1 can be set to true. Ideally this would be an enum with 3 states, ['none', 'userinfo', 'access_token']. However, for backward compatibility, `ignore_user_info` must remain. And `access_token` is a niche, non-spec compliant edge case. So it's use is rare, and should not be advised.| +|`issuer_url`|string|false||| +|`name_field`|string|false||| +|`organization_assign_default`|boolean|false||| +|`organization_field`|string|false||| +|`organization_mapping`|object|false||| +|`scopes`|array of string|false||| +|`sign_in_text`|string|false||| +|`signups_disabled_text`|string|false||| +|`skip_issuer_checks`|boolean|false||| +|`source_user_info_from_access_token`|boolean|false||Source user info from access token as mentioned above is an edge case. This allows sourcing the user_info from the access token itself instead of a user_info endpoint. This assumes the access token is a valid JWT with a set of claims to be merged with the id_token.| +|`user_role_field`|string|false||| +|`user_role_mapping`|object|false||| +|`user_roles_default`|array of string|false||| +|`username_field`|string|false||| ## codersdk.OptionType @@ -5001,12 +5001,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|----------------| -| `string` | -| `number` | -| `bool` | -| `list(string)` | +|Value| +|---| +|`string`| +|`number`| +|`bool`| +|`list(string)`| ## codersdk.Organization @@ -5025,16 +5025,16 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------|----------|--------------|-------------| -| `created_at` | string | true | | | -| `description` | string | false | | | -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `id` | string | true | | | -| `is_default` | boolean | true | | | -| `name` | string | false | | | -| `updated_at` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|true||| +|`description`|string|false||| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|true||| +|`is_default`|boolean|true||| +|`name`|string|false||| +|`updated_at`|string|true||| ## codersdk.OrganizationMember @@ -5056,13 +5056,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|-------------------------------------------------|----------|--------------|-------------| -| `created_at` | string | false | | | -| `organization_id` | string | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `updated_at` | string | false | | | -| `user_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`organization_id`|string|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`updated_at`|string|false||| +|`user_id`|string|false||| ## codersdk.OrganizationMemberWithUserData @@ -5095,18 +5095,18 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|-------------------------------------------------|----------|--------------|-------------| -| `avatar_url` | string | false | | | -| `created_at` | string | false | | | -| `email` | string | false | | | -| `global_roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `updated_at` | string | false | | | -| `user_id` | string | false | | | -| `username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`created_at`|string|false||| +|`email`|string|false||| +|`global_roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`updated_at`|string|false||| +|`user_id`|string|false||| +|`username`|string|false||| ## codersdk.OrganizationSyncSettings @@ -5127,12 +5127,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------------|-----------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `field` | string | false | | Field selects the claim field to be used as the created user's organizations. If the field is the empty string, then no organization updates will ever come from the OIDC provider. | -| `mapping` | object | false | | Mapping maps from an OIDC claim --> Coder organization uuid | -| » `[any property]` | array of string | false | | | -| `organization_assign_default` | boolean | false | | Organization assign default will ensure the default org is always included for every user, regardless of their claims. This preserves legacy behavior. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`field`|string|false||Field selects the claim field to be used as the created user's organizations. If the field is the empty string, then no organization updates will ever come from the OIDC provider.| +|`mapping`|object|false||Mapping maps from an OIDC claim --> Coder organization uuid| +|» `[any property]`|array of string|false||| +|`organization_assign_default`|boolean|false||Organization assign default will ensure the default org is always included for every user, regardless of their claims. This preserves legacy behavior.| ## codersdk.PaginatedMembersResponse @@ -5170,10 +5170,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------------------------------------------------------------------------------------------|----------|--------------|-------------| -| `count` | integer | false | | | -| `members` | array of [codersdk.OrganizationMemberWithUserData](#codersdkorganizationmemberwithuserdata) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`members`|array of [codersdk.OrganizationMemberWithUserData](#codersdkorganizationmemberwithuserdata)|false||| ## codersdk.ParameterFormType @@ -5185,19 +5185,19 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|----------------| -| `` | -| `radio` | -| `slider` | -| `input` | -| `dropdown` | -| `checkbox` | -| `switch` | -| `multi-select` | -| `tag-select` | -| `textarea` | -| `error` | +|Value| +|---| +|``| +|`radio`| +|`slider`| +|`input`| +|`dropdown`| +|`checkbox`| +|`switch`| +|`multi-select`| +|`tag-select`| +|`textarea`| +|`error`| ## codersdk.PatchGroupIDPSyncConfigRequest @@ -5211,11 +5211,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|--------------------------------|----------|--------------|-------------| -| `auto_create_missing_groups` | boolean | false | | | -| `field` | string | false | | | -| `regex_filter` | [regexp.Regexp](#regexpregexp) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`auto_create_missing_groups`|boolean|false||| +|`field`|string|false||| +|`regex_filter`|[regexp.Regexp](#regexpregexp)|false||| ## codersdk.PatchGroupIDPSyncMappingRequest @@ -5238,14 +5238,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|-----------------|----------|--------------|----------------------------------------------------------| -| `add` | array of object | false | | | -| `» gets` | string | false | | The ID of the Coder resource the user should be added to | -| `» given` | string | false | | The IdP claim the user has | -| `remove` | array of object | false | | | -| `» gets` | string | false | | The ID of the Coder resource the user should be added to | -| `» given` | string | false | | The IdP claim the user has | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`add`|array of object|false||| +|`» gets`|string|false||The ID of the Coder resource the user should be added to| +|`» given`|string|false||The IdP claim the user has| +|`remove`|array of object|false||| +|`» gets`|string|false||The ID of the Coder resource the user should be added to| +|`» given`|string|false||The IdP claim the user has| ## codersdk.PatchGroupRequest @@ -5266,14 +5266,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|-----------------|----------|--------------|-------------| -| `add_users` | array of string | false | | | -| `avatar_url` | string | false | | | -| `display_name` | string | false | | | -| `name` | string | false | | | -| `quota_allowance` | integer | false | | | -| `remove_users` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`add_users`|array of string|false||| +|`avatar_url`|string|false||| +|`display_name`|string|false||| +|`name`|string|false||| +|`quota_allowance`|integer|false||| +|`remove_users`|array of string|false||| ## codersdk.PatchOrganizationIDPSyncConfigRequest @@ -5286,10 +5286,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|---------|----------|--------------|-------------| -| `assign_default` | boolean | false | | | -| `field` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`assign_default`|boolean|false||| +|`field`|string|false||| ## codersdk.PatchOrganizationIDPSyncMappingRequest @@ -5312,14 +5312,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|-----------------|----------|--------------|----------------------------------------------------------| -| `add` | array of object | false | | | -| `» gets` | string | false | | The ID of the Coder resource the user should be added to | -| `» given` | string | false | | The IdP claim the user has | -| `remove` | array of object | false | | | -| `» gets` | string | false | | The ID of the Coder resource the user should be added to | -| `» given` | string | false | | The IdP claim the user has | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`add`|array of object|false||| +|`» gets`|string|false||The ID of the Coder resource the user should be added to| +|`» given`|string|false||The IdP claim the user has| +|`remove`|array of object|false||| +|`» gets`|string|false||The ID of the Coder resource the user should be added to| +|`» given`|string|false||The IdP claim the user has| ## codersdk.PatchRoleIDPSyncConfigRequest @@ -5331,9 +5331,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `field` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`field`|string|false||| ## codersdk.PatchRoleIDPSyncMappingRequest @@ -5356,14 +5356,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|-----------------|----------|--------------|----------------------------------------------------------| -| `add` | array of object | false | | | -| `» gets` | string | false | | The ID of the Coder resource the user should be added to | -| `» given` | string | false | | The IdP claim the user has | -| `remove` | array of object | false | | | -| `» gets` | string | false | | The ID of the Coder resource the user should be added to | -| `» given` | string | false | | The IdP claim the user has | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`add`|array of object|false||| +|`» gets`|string|false||The ID of the Coder resource the user should be added to| +|`» given`|string|false||The IdP claim the user has| +|`remove`|array of object|false||| +|`» gets`|string|false||The ID of the Coder resource the user should be added to| +|`» given`|string|false||The IdP claim the user has| ## codersdk.PatchTemplateVersionRequest @@ -5376,10 +5376,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|--------|----------|--------------|-------------| -| `message` | string | false | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`message`|string|false||| +|`name`|string|false||| ## codersdk.PatchWorkspaceProxy @@ -5395,13 +5395,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `display_name` | string | true | | | -| `icon` | string | true | | | -| `id` | string | true | | | -| `name` | string | true | | | -| `regenerate_token` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|true||| +|`icon`|string|true||| +|`id`|string|true||| +|`name`|string|true||| +|`regenerate_token`|boolean|false||| ## codersdk.Permission @@ -5415,11 +5415,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|------------------------------------------------|----------|--------------|-----------------------------------------| -| `action` | [codersdk.RBACAction](#codersdkrbacaction) | false | | | -| `negate` | boolean | false | | Negate makes this a negative permission | -| `resource_type` | [codersdk.RBACResource](#codersdkrbacresource) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|[codersdk.RBACAction](#codersdkrbacaction)|false||| +|`negate`|boolean|false||Negate makes this a negative permission| +|`resource_type`|[codersdk.RBACResource](#codersdkrbacresource)|false||| ## codersdk.PostOAuth2ProviderAppRequest @@ -5433,11 +5433,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `callback_url` | string | true | | | -| `icon` | string | false | | | -| `name` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`callback_url`|string|true||| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.PostWorkspaceUsageRequest @@ -5450,10 +5450,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|------------------------------------------------|----------|--------------|-------------| -| `agent_id` | string | false | | | -| `app_name` | [codersdk.UsageAppName](#codersdkusageappname) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_id`|string|false||| +|`app_name`|[codersdk.UsageAppName](#codersdkusageappname)|false||| ## codersdk.PprofConfig @@ -5469,10 +5469,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|--------------------------------------|----------|--------------|-------------| -| `address` | [serpent.HostPort](#serpenthostport) | false | | | -| `enable` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`address`|[serpent.HostPort](#serpenthostport)|false||| +|`enable`|boolean|false||| ## codersdk.PrebuildsConfig @@ -5487,12 +5487,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------------------------|---------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `failure_hard_limit` | integer | false | | Failure hard limit defines the maximum number of consecutive failed prebuild attempts allowed before a preset is considered to be in a hard limit state. When a preset hits this limit, no new prebuilds will be created until the limit is reset. FailureHardLimit is disabled when set to zero. | -| `reconciliation_backoff_interval` | integer | false | | Reconciliation backoff interval specifies the amount of time to increase the backoff interval when errors occur during reconciliation. | -| `reconciliation_backoff_lookback` | integer | false | | Reconciliation backoff lookback determines the time window to look back when calculating the number of failed prebuilds, which influences the backoff strategy. | -| `reconciliation_interval` | integer | false | | Reconciliation interval defines how often the workspace prebuilds state should be reconciled. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`failure_hard_limit`|integer|false||Failure hard limit defines the maximum number of consecutive failed prebuild attempts allowed before a preset is considered to be in a hard limit state. When a preset hits this limit, no new prebuilds will be created until the limit is reset. FailureHardLimit is disabled when set to zero.| +|`reconciliation_backoff_interval`|integer|false||Reconciliation backoff interval specifies the amount of time to increase the backoff interval when errors occur during reconciliation.| +|`reconciliation_backoff_lookback`|integer|false||Reconciliation backoff lookback determines the time window to look back when calculating the number of failed prebuilds, which influences the backoff strategy.| +|`reconciliation_interval`|integer|false||Reconciliation interval defines how often the workspace prebuilds state should be reconciled.| ## codersdk.PrebuildsSettings @@ -5504,9 +5504,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|---------|----------|--------------|-------------| -| `reconciliation_paused` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`reconciliation_paused`|boolean|false||| ## codersdk.Preset @@ -5526,12 +5526,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|---------------------------------------------------------------|----------|--------------|-------------| -| `default` | boolean | false | | | -| `id` | string | false | | | -| `name` | string | false | | | -| `parameters` | array of [codersdk.PresetParameter](#codersdkpresetparameter) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default`|boolean|false||| +|`id`|string|false||| +|`name`|string|false||| +|`parameters`|array of [codersdk.PresetParameter](#codersdkpresetparameter)|false||| ## codersdk.PresetParameter @@ -5544,10 +5544,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.PreviewParameter @@ -5612,24 +5612,24 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|-------------------------------------------------------------------------------------|----------|--------------|-----------------------------------------| -| `default_value` | [codersdk.NullHCLString](#codersdknullhclstring) | false | | | -| `description` | string | false | | | -| `diagnostics` | array of [codersdk.FriendlyDiagnostic](#codersdkfriendlydiagnostic) | false | | | -| `display_name` | string | false | | | -| `ephemeral` | boolean | false | | | -| `form_type` | [codersdk.ParameterFormType](#codersdkparameterformtype) | false | | | -| `icon` | string | false | | | -| `mutable` | boolean | false | | | -| `name` | string | false | | | -| `options` | array of [codersdk.PreviewParameterOption](#codersdkpreviewparameteroption) | false | | | -| `order` | integer | false | | legacy_variable_name was removed (= 14) | -| `required` | boolean | false | | | -| `styling` | [codersdk.PreviewParameterStyling](#codersdkpreviewparameterstyling) | false | | | -| `type` | [codersdk.OptionType](#codersdkoptiontype) | false | | | -| `validations` | array of [codersdk.PreviewParameterValidation](#codersdkpreviewparametervalidation) | false | | | -| `value` | [codersdk.NullHCLString](#codersdknullhclstring) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default_value`|[codersdk.NullHCLString](#codersdknullhclstring)|false||| +|`description`|string|false||| +|`diagnostics`|array of [codersdk.FriendlyDiagnostic](#codersdkfriendlydiagnostic)|false||| +|`display_name`|string|false||| +|`ephemeral`|boolean|false||| +|`form_type`|[codersdk.ParameterFormType](#codersdkparameterformtype)|false||| +|`icon`|string|false||| +|`mutable`|boolean|false||| +|`name`|string|false||| +|`options`|array of [codersdk.PreviewParameterOption](#codersdkpreviewparameteroption)|false||| +|`order`|integer|false||legacy_variable_name was removed (= 14)| +|`required`|boolean|false||| +|`styling`|[codersdk.PreviewParameterStyling](#codersdkpreviewparameterstyling)|false||| +|`type`|[codersdk.OptionType](#codersdkoptiontype)|false||| +|`validations`|array of [codersdk.PreviewParameterValidation](#codersdkpreviewparametervalidation)|false||| +|`value`|[codersdk.NullHCLString](#codersdknullhclstring)|false||| ## codersdk.PreviewParameterOption @@ -5647,12 +5647,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|--------------------------------------------------|----------|--------------|-------------| -| `description` | string | false | | | -| `icon` | string | false | | | -| `name` | string | false | | | -| `value` | [codersdk.NullHCLString](#codersdknullhclstring) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`icon`|string|false||| +|`name`|string|false||| +|`value`|[codersdk.NullHCLString](#codersdknullhclstring)|false||| ## codersdk.PreviewParameterStyling @@ -5667,12 +5667,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------|----------|--------------|-------------| -| `disabled` | boolean | false | | | -| `label` | string | false | | | -| `mask_input` | boolean | false | | | -| `placeholder` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`disabled`|boolean|false||| +|`label`|string|false||| +|`mask_input`|boolean|false||| +|`placeholder`|string|false||| ## codersdk.PreviewParameterValidation @@ -5688,13 +5688,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|---------|----------|--------------|-----------------------------------------| -| `validation_error` | string | false | | | -| `validation_max` | integer | false | | | -| `validation_min` | integer | false | | | -| `validation_monotonic` | string | false | | | -| `validation_regex` | string | false | | All validation attributes are optional. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`validation_error`|string|false||| +|`validation_max`|integer|false||| +|`validation_min`|integer|false||| +|`validation_monotonic`|string|false||| +|`validation_regex`|string|false||All validation attributes are optional.| ## codersdk.PrometheusConfig @@ -5715,13 +5715,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|--------------------------------------|----------|--------------|-------------| -| `address` | [serpent.HostPort](#serpenthostport) | false | | | -| `aggregate_agent_stats_by` | array of string | false | | | -| `collect_agent_stats` | boolean | false | | | -| `collect_db_metrics` | boolean | false | | | -| `enable` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`address`|[serpent.HostPort](#serpenthostport)|false||| +|`aggregate_agent_stats_by`|array of string|false||| +|`collect_agent_stats`|boolean|false||| +|`collect_db_metrics`|boolean|false||| +|`enable`|boolean|false||| ## codersdk.ProvisionerConfig @@ -5740,14 +5740,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|-----------------|----------|--------------|-----------------------------------------------------------| -| `daemon_poll_interval` | integer | false | | | -| `daemon_poll_jitter` | integer | false | | | -| `daemon_psk` | string | false | | | -| `daemon_types` | array of string | false | | | -| `daemons` | integer | false | | Daemons is the number of built-in terraform provisioners. | -| `force_cancel_interval` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`daemon_poll_interval`|integer|false||| +|`daemon_poll_jitter`|integer|false||| +|`daemon_psk`|string|false||| +|`daemon_types`|array of string|false||| +|`daemons`|integer|false||Daemons is the number of built-in terraform provisioners.| +|`force_cancel_interval`|integer|false||| ## codersdk.ProvisionerDaemon @@ -5789,31 +5789,31 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|----------------------------------------------------------------------|----------|--------------|------------------| -| `api_version` | string | false | | | -| `created_at` | string | false | | | -| `current_job` | [codersdk.ProvisionerDaemonJob](#codersdkprovisionerdaemonjob) | false | | | -| `id` | string | false | | | -| `key_id` | string | false | | | -| `key_name` | string | false | | Optional fields. | -| `last_seen_at` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `previous_job` | [codersdk.ProvisionerDaemonJob](#codersdkprovisionerdaemonjob) | false | | | -| `provisioners` | array of string | false | | | -| `status` | [codersdk.ProvisionerDaemonStatus](#codersdkprovisionerdaemonstatus) | false | | | -| `tags` | object | false | | | -| » `[any property]` | string | false | | | -| `version` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`api_version`|string|false||| +|`created_at`|string|false||| +|`current_job`|[codersdk.ProvisionerDaemonJob](#codersdkprovisionerdaemonjob)|false||| +|`id`|string|false||| +|`key_id`|string|false||| +|`key_name`|string|false||Optional fields.| +|`last_seen_at`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`previous_job`|[codersdk.ProvisionerDaemonJob](#codersdkprovisionerdaemonjob)|false||| +|`provisioners`|array of string|false||| +|`status`|[codersdk.ProvisionerDaemonStatus](#codersdkprovisionerdaemonstatus)|false||| +|`tags`|object|false||| +|» `[any property]`|string|false||| +|`version`|string|false||| #### Enumerated Values -| Property | Value | -|----------|-----------| -| `status` | `offline` | -| `status` | `idle` | -| `status` | `busy` | +|Property|Value| +|---|---| +|`status`|`offline`| +|`status`|`idle`| +|`status`|`busy`| ## codersdk.ProvisionerDaemonJob @@ -5829,24 +5829,24 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|----------------------------------------------------------------|----------|--------------|-------------| -| `id` | string | false | | | -| `status` | [codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus) | false | | | -| `template_display_name` | string | false | | | -| `template_icon` | string | false | | | -| `template_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`id`|string|false||| +|`status`|[codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus)|false||| +|`template_display_name`|string|false||| +|`template_icon`|string|false||| +|`template_name`|string|false||| #### Enumerated Values -| Property | Value | -|----------|-------------| -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Property|Value| +|---|---| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| ## codersdk.ProvisionerDaemonStatus @@ -5858,11 +5858,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|-----------| -| `offline` | -| `idle` | -| `busy` | +|Value| +|---| +|`offline`| +|`idle`| +|`busy`| ## codersdk.ProvisionerJob @@ -5909,40 +5909,40 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|--------------------------------------------------------------------|----------|--------------|-------------| -| `available_workers` | array of string | false | | | -| `canceled_at` | string | false | | | -| `completed_at` | string | false | | | -| `created_at` | string | false | | | -| `error` | string | false | | | -| `error_code` | [codersdk.JobErrorCode](#codersdkjoberrorcode) | false | | | -| `file_id` | string | false | | | -| `id` | string | false | | | -| `input` | [codersdk.ProvisionerJobInput](#codersdkprovisionerjobinput) | false | | | -| `metadata` | [codersdk.ProvisionerJobMetadata](#codersdkprovisionerjobmetadata) | false | | | -| `organization_id` | string | false | | | -| `queue_position` | integer | false | | | -| `queue_size` | integer | false | | | -| `started_at` | string | false | | | -| `status` | [codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus) | false | | | -| `tags` | object | false | | | -| » `[any property]` | string | false | | | -| `type` | [codersdk.ProvisionerJobType](#codersdkprovisionerjobtype) | false | | | -| `worker_id` | string | false | | | -| `worker_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`available_workers`|array of string|false||| +|`canceled_at`|string|false||| +|`completed_at`|string|false||| +|`created_at`|string|false||| +|`error`|string|false||| +|`error_code`|[codersdk.JobErrorCode](#codersdkjoberrorcode)|false||| +|`file_id`|string|false||| +|`id`|string|false||| +|`input`|[codersdk.ProvisionerJobInput](#codersdkprovisionerjobinput)|false||| +|`metadata`|[codersdk.ProvisionerJobMetadata](#codersdkprovisionerjobmetadata)|false||| +|`organization_id`|string|false||| +|`queue_position`|integer|false||| +|`queue_size`|integer|false||| +|`started_at`|string|false||| +|`status`|[codersdk.ProvisionerJobStatus](#codersdkprovisionerjobstatus)|false||| +|`tags`|object|false||| +|» `[any property]`|string|false||| +|`type`|[codersdk.ProvisionerJobType](#codersdkprovisionerjobtype)|false||| +|`worker_id`|string|false||| +|`worker_name`|string|false||| #### Enumerated Values -| Property | Value | -|--------------|-------------------------------| -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| ## codersdk.ProvisionerJobInput @@ -5956,11 +5956,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------------|--------|----------|--------------|-------------| -| `error` | string | false | | | -| `template_version_id` | string | false | | | -| `workspace_build_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`error`|string|false||| +|`template_version_id`|string|false||| +|`workspace_build_id`|string|false||| ## codersdk.ProvisionerJobLog @@ -5977,24 +5977,24 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|------------------------------------------|----------|--------------|-------------| -| `created_at` | string | false | | | -| `id` | integer | false | | | -| `log_level` | [codersdk.LogLevel](#codersdkloglevel) | false | | | -| `log_source` | [codersdk.LogSource](#codersdklogsource) | false | | | -| `output` | string | false | | | -| `stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`id`|integer|false||| +|`log_level`|[codersdk.LogLevel](#codersdkloglevel)|false||| +|`log_source`|[codersdk.LogSource](#codersdklogsource)|false||| +|`output`|string|false||| +|`stage`|string|false||| #### Enumerated Values -| Property | Value | -|-------------|---------| -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| ## codersdk.ProvisionerJobMetadata @@ -6012,15 +6012,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|--------|----------|--------------|-------------| -| `template_display_name` | string | false | | | -| `template_icon` | string | false | | | -| `template_id` | string | false | | | -| `template_name` | string | false | | | -| `template_version_name` | string | false | | | -| `workspace_id` | string | false | | | -| `workspace_name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`template_display_name`|string|false||| +|`template_icon`|string|false||| +|`template_id`|string|false||| +|`template_name`|string|false||| +|`template_version_name`|string|false||| +|`workspace_id`|string|false||| +|`workspace_name`|string|false||| ## codersdk.ProvisionerJobStatus @@ -6032,15 +6032,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|-------------| -| `pending` | -| `running` | -| `succeeded` | -| `canceling` | -| `canceled` | -| `failed` | -| `unknown` | +|Value| +|---| +|`pending`| +|`running`| +|`succeeded`| +|`canceling`| +|`canceled`| +|`failed`| +|`unknown`| ## codersdk.ProvisionerJobType @@ -6052,11 +6052,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|----------------------------| -| `template_version_import` | -| `workspace_build` | -| `template_version_dry_run` | +|Value| +|---| +|`template_version_import`| +|`workspace_build`| +|`template_version_dry_run`| ## codersdk.ProvisionerKey @@ -6075,13 +6075,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|------------------------------------------------------------|----------|--------------|-------------| -| `created_at` | string | false | | | -| `id` | string | false | | | -| `name` | string | false | | | -| `organization` | string | false | | | -| `tags` | [codersdk.ProvisionerKeyTags](#codersdkprovisionerkeytags) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`id`|string|false||| +|`name`|string|false||| +|`organization`|string|false||| +|`tags`|[codersdk.ProvisionerKeyTags](#codersdkprovisionerkeytags)|false||| ## codersdk.ProvisionerKeyDaemons @@ -6137,10 +6137,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|-------------------------------------------------------------------|----------|--------------|-------------| -| `daemons` | array of [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon) | false | | | -| `key` | [codersdk.ProvisionerKey](#codersdkprovisionerkey) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`daemons`|array of [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon)|false||| +|`key`|[codersdk.ProvisionerKey](#codersdkprovisionerkey)|false||| ## codersdk.ProvisionerKeyTags @@ -6153,9 +6153,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|--------|----------|--------------|-------------| -| `[any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|string|false||| ## codersdk.ProvisionerLogLevel @@ -6167,9 +6167,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|---------| -| `debug` | +|Value| +|---| +|`debug`| ## codersdk.ProvisionerStorageMethod @@ -6181,9 +6181,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|--------| -| `file` | +|Value| +|---| +|`file`| ## codersdk.ProvisionerTiming @@ -6201,15 +6201,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|----------------------------------------------|----------|--------------|-------------| -| `action` | string | false | | | -| `ended_at` | string | false | | | -| `job_id` | string | false | | | -| `resource` | string | false | | | -| `source` | string | false | | | -| `stage` | [codersdk.TimingStage](#codersdktimingstage) | false | | | -| `started_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`action`|string|false||| +|`ended_at`|string|false||| +|`job_id`|string|false||| +|`resource`|string|false||| +|`source`|string|false||| +|`stage`|[codersdk.TimingStage](#codersdktimingstage)|false||| +|`started_at`|string|false||| ## codersdk.ProxyHealthReport @@ -6226,10 +6226,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|-----------------|----------|--------------|------------------------------------------------------------------------------------------| -| `errors` | array of string | false | | Errors are problems that prevent the workspace proxy from being healthy | -| `warnings` | array of string | false | | Warnings do not prevent the workspace proxy from being healthy, but should be addressed. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`errors`|array of string|false||Errors are problems that prevent the workspace proxy from being healthy| +|`warnings`|array of string|false||Warnings do not prevent the workspace proxy from being healthy, but should be addressed.| ## codersdk.ProxyHealthStatus @@ -6241,12 +6241,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|----------------| -| `ok` | -| `unreachable` | -| `unhealthy` | -| `unregistered` | +|Value| +|---| +|`ok`| +|`unreachable`| +|`unhealthy`| +|`unregistered`| ## codersdk.PutExtendWorkspaceRequest @@ -6258,9 +6258,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|--------|----------|--------------|-------------| -| `deadline` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`deadline`|string|true||| ## codersdk.PutOAuth2ProviderAppRequest @@ -6274,11 +6274,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `callback_url` | string | true | | | -| `icon` | string | false | | | -| `name` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`callback_url`|string|true||| +|`icon`|string|false||| +|`name`|string|true||| ## codersdk.RBACAction @@ -6290,24 +6290,24 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|-----------------------| -| `application_connect` | -| `assign` | -| `create` | -| `create_agent` | -| `delete` | -| `delete_agent` | -| `read` | -| `read_personal` | -| `ssh` | -| `unassign` | -| `update` | -| `update_personal` | -| `use` | -| `view_insights` | -| `start` | -| `stop` | +|Value| +|---| +|`application_connect`| +|`assign`| +|`create`| +|`create_agent`| +|`delete`| +|`delete_agent`| +|`read`| +|`read_personal`| +|`ssh`| +|`unassign`| +|`update`| +|`update_personal`| +|`use`| +|`view_insights`| +|`start`| +|`stop`| ## codersdk.RBACResource @@ -6319,46 +6319,46 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|------------------------------------| -| `*` | -| `api_key` | -| `assign_org_role` | -| `assign_role` | -| `audit_log` | -| `connection_log` | -| `crypto_key` | -| `debug_info` | -| `deployment_config` | -| `deployment_stats` | -| `file` | -| `group` | -| `group_member` | -| `idpsync_settings` | -| `inbox_notification` | -| `license` | -| `notification_message` | -| `notification_preference` | -| `notification_template` | -| `oauth2_app` | -| `oauth2_app_code_token` | -| `oauth2_app_secret` | -| `organization` | -| `organization_member` | -| `prebuilt_workspace` | -| `provisioner_daemon` | -| `provisioner_jobs` | -| `replicas` | -| `system` | -| `tailnet_coordinator` | -| `template` | -| `user` | -| `webpush_subscription` | -| `workspace` | -| `workspace_agent_devcontainers` | -| `workspace_agent_resource_monitor` | -| `workspace_dormant` | -| `workspace_proxy` | +|Value| +|---| +|`*`| +|`api_key`| +|`assign_org_role`| +|`assign_role`| +|`audit_log`| +|`connection_log`| +|`crypto_key`| +|`debug_info`| +|`deployment_config`| +|`deployment_stats`| +|`file`| +|`group`| +|`group_member`| +|`idpsync_settings`| +|`inbox_notification`| +|`license`| +|`notification_message`| +|`notification_preference`| +|`notification_template`| +|`oauth2_app`| +|`oauth2_app_code_token`| +|`oauth2_app_secret`| +|`organization`| +|`organization_member`| +|`prebuilt_workspace`| +|`provisioner_daemon`| +|`provisioner_jobs`| +|`replicas`| +|`system`| +|`tailnet_coordinator`| +|`template`| +|`user`| +|`webpush_subscription`| +|`workspace`| +|`workspace_agent_devcontainers`| +|`workspace_agent_resource_monitor`| +|`workspace_dormant`| +|`workspace_proxy`| ## codersdk.RateLimitConfig @@ -6371,10 +6371,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------|----------|--------------|-------------| -| `api` | integer | false | | | -| `disable_all` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`api`|integer|false||| +|`disable_all`|boolean|false||| ## codersdk.ReducedUser @@ -6396,26 +6396,26 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|--------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------| -| `avatar_url` | string | false | | | -| `created_at` | string | true | | | -| `email` | string | true | | | -| `id` | string | true | | | -| `last_seen_at` | string | false | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `name` | string | false | | | -| `status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | | -| `theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. | -| `updated_at` | string | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`created_at`|string|true||| +|`email`|string|true||| +|`id`|string|true||| +|`last_seen_at`|string|false||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`name`|string|false||| +|`status`|[codersdk.UserStatus](#codersdkuserstatus)|false||| +|`theme_preference`|string|false||Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead.| +|`updated_at`|string|false||| +|`username`|string|true||| #### Enumerated Values -| Property | Value | -|----------|-------------| -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`status`|`active`| +|`status`|`suspended`| ## codersdk.Region @@ -6433,15 +6433,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|---------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `display_name` | string | false | | | -| `healthy` | boolean | false | | | -| `icon_url` | string | false | | | -| `id` | string | false | | | -| `name` | string | false | | | -| `path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com | -| `wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`healthy`|boolean|false||| +|`icon_url`|string|false||| +|`id`|string|false||| +|`name`|string|false||| +|`path_app_url`|string|false||Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com| +|`wildcard_hostname`|string|false||Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL.| ## codersdk.RegionsResponse-codersdk_Region @@ -6463,9 +6463,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------------------------------------------|----------|--------------|-------------| -| `regions` | array of [codersdk.Region](#codersdkregion) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`regions`|array of [codersdk.Region](#codersdkregion)|false||| ## codersdk.RegionsResponse-codersdk_WorkspaceProxy @@ -6505,9 +6505,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|-------------------------------------------------------------|----------|--------------|-------------| -| `regions` | array of [codersdk.WorkspaceProxy](#codersdkworkspaceproxy) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`regions`|array of [codersdk.WorkspaceProxy](#codersdkworkspaceproxy)|false||| ## codersdk.Replica @@ -6525,15 +6525,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|--------------------------------------------------------------------| -| `created_at` | string | false | | Created at is the timestamp when the replica was first seen. | -| `database_latency` | integer | false | | Database latency is the latency in microseconds to the database. | -| `error` | string | false | | Error is the replica error. | -| `hostname` | string | false | | Hostname is the hostname of the replica. | -| `id` | string | false | | ID is the unique identifier for the replica. | -| `region_id` | integer | false | | Region ID is the region of the replica. | -| `relay_address` | string | false | | Relay address is the accessible address to relay DERP connections. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||Created at is the timestamp when the replica was first seen.| +|`database_latency`|integer|false||Database latency is the latency in microseconds to the database.| +|`error`|string|false||Error is the replica error.| +|`hostname`|string|false||Hostname is the hostname of the replica.| +|`id`|string|false||ID is the unique identifier for the replica.| +|`region_id`|integer|false||Region ID is the region of the replica.| +|`relay_address`|string|false||Relay address is the accessible address to relay DERP connections.| ## codersdk.RequestOneTimePasscodeRequest @@ -6545,9 +6545,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `email` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`email`|string|true||| ## codersdk.ResolveAutostartResponse @@ -6559,9 +6559,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `parameter_mismatch` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`parameter_mismatch`|boolean|false||| ## codersdk.ResourceType @@ -6573,33 +6573,33 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|----------------------------------| -| `template` | -| `template_version` | -| `user` | -| `workspace` | -| `workspace_build` | -| `git_ssh_key` | -| `api_key` | -| `group` | -| `license` | -| `convert_login` | -| `health_settings` | -| `notifications_settings` | -| `prebuilds_settings` | -| `workspace_proxy` | -| `organization` | -| `oauth2_provider_app` | -| `oauth2_provider_app_secret` | -| `custom_role` | -| `organization_member` | -| `notification_template` | -| `idp_sync_settings_organization` | -| `idp_sync_settings_group` | -| `idp_sync_settings_role` | -| `workspace_agent` | -| `workspace_app` | +|Value| +|---| +|`template`| +|`template_version`| +|`user`| +|`workspace`| +|`workspace_build`| +|`git_ssh_key`| +|`api_key`| +|`group`| +|`license`| +|`convert_login`| +|`health_settings`| +|`notifications_settings`| +|`prebuilds_settings`| +|`workspace_proxy`| +|`organization`| +|`oauth2_provider_app`| +|`oauth2_provider_app_secret`| +|`custom_role`| +|`organization_member`| +|`notification_template`| +|`idp_sync_settings_organization`| +|`idp_sync_settings_group`| +|`idp_sync_settings_role`| +|`workspace_agent`| +|`workspace_app`| ## codersdk.Response @@ -6618,11 +6618,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `detail` | string | false | | Detail is a debug message that provides further insight into why the action failed. This information can be technical and a regular golang err.Error() text. - "database: too many open connections" - "stat: too many open files" | -| `message` | string | false | | Message is an actionable message that depicts actions the request took. These messages should be fully formed sentences with proper punctuation. Examples: - "A user has been created." - "Failed to create a user." | -| `validations` | array of [codersdk.ValidationError](#codersdkvalidationerror) | false | | Validations are form field-specific friendly error messages. They will be shown on a form field in the UI. These can also be used to add additional context if there is a set of errors in the primary 'Message'. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`detail`|string|false||Detail is a debug message that provides further insight into why the action failed. This information can be technical and a regular golang err.Error() text. - "database: too many open connections" - "stat: too many open files"| +|`message`|string|false||Message is an actionable message that depicts actions the request took. These messages should be fully formed sentences with proper punctuation. Examples: - "A user has been created." - "Failed to create a user."| +|`validations`|array of [codersdk.ValidationError](#codersdkvalidationerror)|false||Validations are form field-specific friendly error messages. They will be shown on a form field in the UI. These can also be used to add additional context if there is a set of errors in the primary 'Message'.| ## codersdk.Role @@ -6657,14 +6657,14 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|-----------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------| -| `display_name` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | Organization permissions are specific for the organization in the field 'OrganizationID' above. | -| `site_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | -| `user_permissions` | array of [codersdk.Permission](#codersdkpermission) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`organization_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||Organization permissions are specific for the organization in the field 'OrganizationID' above.| +|`site_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| +|`user_permissions`|array of [codersdk.Permission](#codersdkpermission)|false||| ## codersdk.RoleSyncSettings @@ -6684,11 +6684,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|-----------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------| -| `field` | string | false | | Field is the name of the claim field that specifies what organization roles a user should be given. If empty, no roles will be synced. | -| `mapping` | object | false | | Mapping is a map from OIDC groups to Coder organization roles. | -| » `[any property]` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`field`|string|false||Field is the name of the claim field that specifies what organization roles a user should be given. If empty, no roles will be synced.| +|`mapping`|object|false||Mapping is a map from OIDC groups to Coder organization roles.| +|» `[any property]`|array of string|false||| ## codersdk.SSHConfig @@ -6703,10 +6703,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|-----------------|----------|--------------|-----------------------------------------------------------------------------------------------------| -| `deploymentName` | string | false | | Deploymentname is the config-ssh Hostname prefix | -| `sshconfigOptions` | array of string | false | | Sshconfigoptions are additional options to add to the ssh config file. This will override defaults. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`deploymentName`|string|false||Deploymentname is the config-ssh Hostname prefix| +|`sshconfigOptions`|array of string|false||Sshconfigoptions are additional options to add to the ssh config file. This will override defaults.| ## codersdk.SSHConfigResponse @@ -6723,12 +6723,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|--------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------| -| `hostname_prefix` | string | false | | Hostname prefix is the prefix we append to workspace names for SSH hostnames. Deprecated: use HostnameSuffix instead. | -| `hostname_suffix` | string | false | | Hostname suffix is the suffix to append to workspace names for SSH hostnames. | -| `ssh_config_options` | object | false | | | -| » `[any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`hostname_prefix`|string|false||Hostname prefix is the prefix we append to workspace names for SSH hostnames. Deprecated: use HostnameSuffix instead.| +|`hostname_suffix`|string|false||Hostname suffix is the suffix to append to workspace names for SSH hostnames.| +|`ssh_config_options`|object|false||| +|» `[any property]`|string|false||| ## codersdk.ServerSentEvent @@ -6741,10 +6741,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|--------------------------------------------------------------|----------|--------------|-------------| -| `data` | any | false | | | -| `type` | [codersdk.ServerSentEventType](#codersdkserversenteventtype) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`data`|any|false||| +|`type`|[codersdk.ServerSentEventType](#codersdkserversenteventtype)|false||| ## codersdk.ServerSentEventType @@ -6756,11 +6756,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|---------| -| `ping` | -| `data` | -| `error` | +|Value| +|---| +|`ping`| +|`data`| +|`error`| ## codersdk.SessionCountDeploymentStats @@ -6775,12 +6775,12 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `jetbrains` | integer | false | | | -| `reconnecting_pty` | integer | false | | | -| `ssh` | integer | false | | | -| `vscode` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`jetbrains`|integer|false||| +|`reconnecting_pty`|integer|false||| +|`ssh`|integer|false||| +|`vscode`|integer|false||| ## codersdk.SessionLifetime @@ -6796,13 +6796,13 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|---------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `default_duration` | integer | false | | Default duration is only for browser, workspace app and oauth sessions. | -| `default_token_lifetime` | integer | false | | | -| `disable_expiry_refresh` | boolean | false | | Disable expiry refresh will disable automatically refreshing api keys when they are used from the api. This means the api key lifetime at creation is the lifetime of the api key. | -| `max_admin_token_lifetime` | integer | false | | | -| `max_token_lifetime` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default_duration`|integer|false||Default duration is only for browser, workspace app and oauth sessions.| +|`default_token_lifetime`|integer|false||| +|`disable_expiry_refresh`|boolean|false||Disable expiry refresh will disable automatically refreshing api keys when they are used from the api. This means the api key lifetime at creation is the lifetime of the api key.| +|`max_admin_token_lifetime`|integer|false||| +|`max_token_lifetime`|integer|false||| ## codersdk.SlimRole @@ -6816,11 +6816,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------|--------|----------|--------------|-------------| -| `display_name` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| ## codersdk.SupportConfig @@ -6840,9 +6840,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------------------------------------------------------------------------------------|----------|--------------|-------------| -| `links` | [serpent.Struct-array_codersdk_LinkConfig](#serpentstruct-array_codersdk_linkconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`links`|[serpent.Struct-array_codersdk_LinkConfig](#serpentstruct-array_codersdk_linkconfig)|false||| ## codersdk.SwaggerConfig @@ -6854,9 +6854,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|---------|----------|--------------|-------------| -| `enable` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enable`|boolean|false||| ## codersdk.TLSConfig @@ -6888,20 +6888,20 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------------|--------------------------------------|----------|--------------|-------------| -| `address` | [serpent.HostPort](#serpenthostport) | false | | | -| `allow_insecure_ciphers` | boolean | false | | | -| `cert_file` | array of string | false | | | -| `client_auth` | string | false | | | -| `client_ca_file` | string | false | | | -| `client_cert_file` | string | false | | | -| `client_key_file` | string | false | | | -| `enable` | boolean | false | | | -| `key_file` | array of string | false | | | -| `min_version` | string | false | | | -| `redirect_http` | boolean | false | | | -| `supported_ciphers` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`address`|[serpent.HostPort](#serpenthostport)|false||| +|`allow_insecure_ciphers`|boolean|false||| +|`cert_file`|array of string|false||| +|`client_auth`|string|false||| +|`client_ca_file`|string|false||| +|`client_cert_file`|string|false||| +|`client_key_file`|string|false||| +|`enable`|boolean|false||| +|`key_file`|array of string|false||| +|`min_version`|string|false||| +|`redirect_http`|boolean|false||| +|`supported_ciphers`|array of string|false||| ## codersdk.TelemetryConfig @@ -6927,11 +6927,11 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|----------------------------|----------|--------------|-------------| -| `enable` | boolean | false | | | -| `trace` | boolean | false | | | -| `url` | [serpent.URL](#serpenturl) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`enable`|boolean|false||| +|`trace`|boolean|false||| +|`url`|[serpent.URL](#serpenturl)|false||| ## codersdk.Template @@ -6992,46 +6992,46 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------------|--------------------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `active_user_count` | integer | false | | Active user count is set to -1 when loading. | -| `active_version_id` | string | false | | | -| `activity_bump_ms` | integer | false | | | -| `allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. | -| `allow_user_autostop` | boolean | false | | | -| `allow_user_cancel_workspace_jobs` | boolean | false | | | -| `autostart_requirement` | [codersdk.TemplateAutostartRequirement](#codersdktemplateautostartrequirement) | false | | | -| `autostop_requirement` | [codersdk.TemplateAutostopRequirement](#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. | -| `build_time_stats` | [codersdk.TemplateBuildTimeStats](#codersdktemplatebuildtimestats) | false | | | -| `created_at` | string | false | | | -| `created_by_id` | string | false | | | -| `created_by_name` | string | false | | | -| `default_ttl_ms` | integer | false | | | -| `deprecated` | boolean | false | | | -| `deprecation_message` | string | false | | | -| `description` | string | false | | | -| `display_name` | string | false | | | -| `failure_ttl_ms` | integer | false | | Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature. | -| `icon` | string | false | | | -| `id` | string | false | | | -| `max_port_share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | | -| `name` | string | false | | | -| `organization_display_name` | string | false | | | -| `organization_icon` | string | false | | | -| `organization_id` | string | false | | | -| `organization_name` | string | false | | | -| `provisioner` | string | false | | | -| `require_active_version` | boolean | false | | Require active version mandates that workspaces are built with the active template version. | -| `time_til_dormant_autodelete_ms` | integer | false | | | -| `time_til_dormant_ms` | integer | false | | | -| `updated_at` | string | false | | | -| `use_classic_parameter_flow` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`active_user_count`|integer|false||Active user count is set to -1 when loading.| +|`active_version_id`|string|false||| +|`activity_bump_ms`|integer|false||| +|`allow_user_autostart`|boolean|false||Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature.| +|`allow_user_autostop`|boolean|false||| +|`allow_user_cancel_workspace_jobs`|boolean|false||| +|`autostart_requirement`|[codersdk.TemplateAutostartRequirement](#codersdktemplateautostartrequirement)|false||| +|`autostop_requirement`|[codersdk.TemplateAutostopRequirement](#codersdktemplateautostoprequirement)|false||Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature.| +|`build_time_stats`|[codersdk.TemplateBuildTimeStats](#codersdktemplatebuildtimestats)|false||| +|`created_at`|string|false||| +|`created_by_id`|string|false||| +|`created_by_name`|string|false||| +|`default_ttl_ms`|integer|false||| +|`deprecated`|boolean|false||| +|`deprecation_message`|string|false||| +|`description`|string|false||| +|`display_name`|string|false||| +|`failure_ttl_ms`|integer|false||Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature.| +|`icon`|string|false||| +|`id`|string|false||| +|`max_port_share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||| +|`name`|string|false||| +|`organization_display_name`|string|false||| +|`organization_icon`|string|false||| +|`organization_id`|string|false||| +|`organization_name`|string|false||| +|`provisioner`|string|false||| +|`require_active_version`|boolean|false||Require active version mandates that workspaces are built with the active template version.| +|`time_til_dormant_autodelete_ms`|integer|false||| +|`time_til_dormant_ms`|integer|false||| +|`updated_at`|string|false||| +|`use_classic_parameter_flow`|boolean|false||| #### Enumerated Values -| Property | Value | -|---------------|-------------| -| `provisioner` | `terraform` | +|Property|Value| +|---|---| +|`provisioner`|`terraform`| ## codersdk.TemplateACL @@ -7098,10 +7098,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|-----------------------------------------------------------|----------|--------------|-------------| -| `group` | array of [codersdk.TemplateGroup](#codersdktemplategroup) | false | | | -| `users` | array of [codersdk.TemplateUser](#codersdktemplateuser) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`group`|array of [codersdk.TemplateGroup](#codersdktemplategroup)|false||| +|`users`|array of [codersdk.TemplateUser](#codersdktemplateuser)|false||| ## codersdk.TemplateAppUsage @@ -7121,15 +7121,15 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------------------------------------------------------|----------|--------------|-------------| -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `seconds` | integer | false | | | -| `slug` | string | false | | | -| `template_ids` | array of string | false | | | -| `times_used` | integer | false | | | -| `type` | [codersdk.TemplateAppsType](#codersdktemplateappstype) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`display_name`|string|false||| +|`icon`|string|false||| +|`seconds`|integer|false||| +|`slug`|string|false||| +|`template_ids`|array of string|false||| +|`times_used`|integer|false||| +|`type`|[codersdk.TemplateAppsType](#codersdktemplateappstype)|false||| ## codersdk.TemplateAppsType @@ -7141,10 +7141,10 @@ Only certain features set these fields: - FeatureManagedAgentLimit| #### Enumerated Values -| Value | -|-----------| -| `builtin` | -| `app` | +|Value| +|---| +|`builtin`| +|`app`| ## codersdk.TemplateAutostartRequirement @@ -7158,9 +7158,9 @@ Only certain features set these fields: - FeatureManagedAgentLimit| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|-----------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------| -| `days_of_week` | array of string | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`days_of_week`|array of string|false||Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed.| ## codersdk.TemplateAutostopRequirement @@ -7198,9 +7198,9 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|------------------------------------------------------|----------|--------------|-------------| -| `[any property]` | [codersdk.TransitionStats](#codersdktransitionstats) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|[codersdk.TransitionStats](#codersdktransitionstats)|false||| ## codersdk.TemplateExample @@ -7220,15 +7220,15 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|-----------------|----------|--------------|-------------| -| `description` | string | false | | | -| `icon` | string | false | | | -| `id` | string | false | | | -| `markdown` | string | false | | | -| `name` | string | false | | | -| `tags` | array of string | false | | | -| `url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`markdown`|string|false||| +|`name`|string|false||| +|`tags`|array of string|false||| +|`url`|string|false||| ## codersdk.TemplateGroup @@ -7265,27 +7265,27 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------------------|-------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `avatar_url` | string | false | | | -| `display_name` | string | false | | | -| `id` | string | false | | | -| `members` | array of [codersdk.ReducedUser](#codersdkreduceduser) | false | | | -| `name` | string | false | | | -| `organization_display_name` | string | false | | | -| `organization_id` | string | false | | | -| `organization_name` | string | false | | | -| `quota_allowance` | integer | false | | | -| `role` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | | -| `source` | [codersdk.GroupSource](#codersdkgroupsource) | false | | | -| `total_member_count` | integer | false | | How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`display_name`|string|false||| +|`id`|string|false||| +|`members`|array of [codersdk.ReducedUser](#codersdkreduceduser)|false||| +|`name`|string|false||| +|`organization_display_name`|string|false||| +|`organization_id`|string|false||| +|`organization_name`|string|false||| +|`quota_allowance`|integer|false||| +|`role`|[codersdk.TemplateRole](#codersdktemplaterole)|false||| +|`source`|[codersdk.GroupSource](#codersdkgroupsource)|false||| +|`total_member_count`|integer|false||How many members are in this group. Shows the total count, even if the user is not authorized to read group member details. May be greater than `len(Group.Members)`.| #### Enumerated Values -| Property | Value | -|----------|---------| -| `role` | `admin` | -| `role` | `use` | +|Property|Value| +|---|---| +|`role`|`admin`| +|`role`|`use`| ## codersdk.TemplateInsightsIntervalReport @@ -7303,13 +7303,13 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------------------------------------------------------------------|----------|--------------|-------------| -| `active_users` | integer | false | | | -| `end_time` | string | false | | | -| `interval` | [codersdk.InsightsReportInterval](#codersdkinsightsreportinterval) | false | | | -| `start_time` | string | false | | | -| `template_ids` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`active_users`|integer|false||| +|`end_time`|string|false||| +|`interval`|[codersdk.InsightsReportInterval](#codersdkinsightsreportinterval)|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| ## codersdk.TemplateInsightsReport @@ -7364,14 +7364,14 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|-----------------------------------------------------------------------------|----------|--------------|-------------| -| `active_users` | integer | false | | | -| `apps_usage` | array of [codersdk.TemplateAppUsage](#codersdktemplateappusage) | false | | | -| `end_time` | string | false | | | -| `parameters_usage` | array of [codersdk.TemplateParameterUsage](#codersdktemplateparameterusage) | false | | | -| `start_time` | string | false | | | -| `template_ids` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`active_users`|integer|false||| +|`apps_usage`|array of [codersdk.TemplateAppUsage](#codersdktemplateappusage)|false||| +|`end_time`|string|false||| +|`parameters_usage`|array of [codersdk.TemplateParameterUsage](#codersdktemplateparameterusage)|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| ## codersdk.TemplateInsightsResponse @@ -7439,10 +7439,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------------------------------------------------------------------------------------------|----------|--------------|-------------| -| `interval_reports` | array of [codersdk.TemplateInsightsIntervalReport](#codersdktemplateinsightsintervalreport) | false | | | -| `report` | [codersdk.TemplateInsightsReport](#codersdktemplateinsightsreport) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`interval_reports`|array of [codersdk.TemplateInsightsIntervalReport](#codersdktemplateinsightsintervalreport)|false||| +|`report`|[codersdk.TemplateInsightsReport](#codersdktemplateinsightsreport)|false||| ## codersdk.TemplateParameterUsage @@ -7474,15 +7474,15 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------------------------------------------------------------------------------------------|----------|--------------|-------------| -| `description` | string | false | | | -| `display_name` | string | false | | | -| `name` | string | false | | | -| `options` | array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption) | false | | | -| `template_ids` | array of string | false | | | -| `type` | string | false | | | -| `values` | array of [codersdk.TemplateParameterValue](#codersdktemplateparametervalue) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`display_name`|string|false||| +|`name`|string|false||| +|`options`|array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption)|false||| +|`template_ids`|array of string|false||| +|`type`|string|false||| +|`values`|array of [codersdk.TemplateParameterValue](#codersdktemplateparametervalue)|false||| ## codersdk.TemplateParameterValue @@ -7495,10 +7495,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|---------|----------|--------------|-------------| -| `count` | integer | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`value`|string|false||| ## codersdk.TemplateRole @@ -7510,11 +7510,11 @@ Restarts will only happen on weekdays in this list on weeks which line up with W #### Enumerated Values -| Value | -|---------| -| `admin` | -| `use` | -| `` | +|Value| +|---| +|`admin`| +|`use`| +|``| ## codersdk.TemplateUser @@ -7547,31 +7547,31 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|-------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------| -| `avatar_url` | string | false | | | -| `created_at` | string | true | | | -| `email` | string | true | | | -| `id` | string | true | | | -| `last_seen_at` | string | false | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `name` | string | false | | | -| `organization_ids` | array of string | false | | | -| `role` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | | -| `theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. | -| `updated_at` | string | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`created_at`|string|true||| +|`email`|string|true||| +|`id`|string|true||| +|`last_seen_at`|string|false||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`name`|string|false||| +|`organization_ids`|array of string|false||| +|`role`|[codersdk.TemplateRole](#codersdktemplaterole)|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`status`|[codersdk.UserStatus](#codersdkuserstatus)|false||| +|`theme_preference`|string|false||Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead.| +|`updated_at`|string|false||| +|`username`|string|true||| #### Enumerated Values -| Property | Value | -|----------|-------------| -| `role` | `admin` | -| `role` | `use` | -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`role`|`admin`| +|`role`|`use`| +|`status`|`active`| +|`status`|`suspended`| ## codersdk.TemplateVersion @@ -7642,21 +7642,21 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|-----------------------------------------------------------------------------|----------|--------------|-------------| -| `archived` | boolean | false | | | -| `created_at` | string | false | | | -| `created_by` | [codersdk.MinimalUser](#codersdkminimaluser) | false | | | -| `id` | string | false | | | -| `job` | [codersdk.ProvisionerJob](#codersdkprovisionerjob) | false | | | -| `matched_provisioners` | [codersdk.MatchedProvisioners](#codersdkmatchedprovisioners) | false | | | -| `message` | string | false | | | -| `name` | string | false | | | -| `organization_id` | string | false | | | -| `readme` | string | false | | | -| `template_id` | string | false | | | -| `updated_at` | string | false | | | -| `warnings` | array of [codersdk.TemplateVersionWarning](#codersdktemplateversionwarning) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`archived`|boolean|false||| +|`created_at`|string|false||| +|`created_by`|[codersdk.MinimalUser](#codersdkminimaluser)|false||| +|`id`|string|false||| +|`job`|[codersdk.ProvisionerJob](#codersdkprovisionerjob)|false||| +|`matched_provisioners`|[codersdk.MatchedProvisioners](#codersdkmatchedprovisioners)|false||| +|`message`|string|false||| +|`name`|string|false||| +|`organization_id`|string|false||| +|`readme`|string|false||| +|`template_id`|string|false||| +|`updated_at`|string|false||| +|`warnings`|array of [codersdk.TemplateVersionWarning](#codersdktemplateversionwarning)|false||| ## codersdk.TemplateVersionExternalAuth @@ -7674,15 +7674,15 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `authenticate_url` | string | false | | | -| `authenticated` | boolean | false | | | -| `display_icon` | string | false | | | -| `display_name` | string | false | | | -| `id` | string | false | | | -| `optional` | boolean | false | | | -| `type` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`authenticate_url`|string|false||| +|`authenticated`|boolean|false||| +|`display_icon`|string|false||| +|`display_name`|string|false||| +|`id`|string|false||| +|`optional`|boolean|false||| +|`type`|string|false||| ## codersdk.TemplateVersionParameter @@ -7717,47 +7717,47 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|---------------------------------------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------| -| `default_value` | string | false | | | -| `description` | string | false | | | -| `description_plaintext` | string | false | | | -| `display_name` | string | false | | | -| `ephemeral` | boolean | false | | | -| `form_type` | string | false | | Form type has an enum value of empty string, `""`. Keep the leading comma in the enums struct tag. | -| `icon` | string | false | | | -| `mutable` | boolean | false | | | -| `name` | string | false | | | -| `options` | array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption) | false | | | -| `required` | boolean | false | | | -| `type` | string | false | | | -| `validation_error` | string | false | | | -| `validation_max` | integer | false | | | -| `validation_min` | integer | false | | | -| `validation_monotonic` | [codersdk.ValidationMonotonicOrder](#codersdkvalidationmonotonicorder) | false | | | -| `validation_regex` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default_value`|string|false||| +|`description`|string|false||| +|`description_plaintext`|string|false||| +|`display_name`|string|false||| +|`ephemeral`|boolean|false||| +|`form_type`|string|false||Form type has an enum value of empty string, `""`. Keep the leading comma in the enums struct tag.| +|`icon`|string|false||| +|`mutable`|boolean|false||| +|`name`|string|false||| +|`options`|array of [codersdk.TemplateVersionParameterOption](#codersdktemplateversionparameteroption)|false||| +|`required`|boolean|false||| +|`type`|string|false||| +|`validation_error`|string|false||| +|`validation_max`|integer|false||| +|`validation_min`|integer|false||| +|`validation_monotonic`|[codersdk.ValidationMonotonicOrder](#codersdkvalidationmonotonicorder)|false||| +|`validation_regex`|string|false||| #### Enumerated Values -| Property | Value | -|------------------------|----------------| -| `form_type` | `` | -| `form_type` | `radio` | -| `form_type` | `dropdown` | -| `form_type` | `input` | -| `form_type` | `textarea` | -| `form_type` | `slider` | -| `form_type` | `checkbox` | -| `form_type` | `switch` | -| `form_type` | `tag-select` | -| `form_type` | `multi-select` | -| `form_type` | `error` | -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | -| `type` | `list(string)` | -| `validation_monotonic` | `increasing` | -| `validation_monotonic` | `decreasing` | +|Property|Value| +|---|---| +|`form_type`|``| +|`form_type`|`radio`| +|`form_type`|`dropdown`| +|`form_type`|`input`| +|`form_type`|`textarea`| +|`form_type`|`slider`| +|`form_type`|`checkbox`| +|`form_type`|`switch`| +|`form_type`|`tag-select`| +|`form_type`|`multi-select`| +|`form_type`|`error`| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| +|`type`|`list(string)`| +|`validation_monotonic`|`increasing`| +|`validation_monotonic`|`decreasing`| ## codersdk.TemplateVersionParameterOption @@ -7772,12 +7772,12 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|--------|----------|--------------|-------------| -| `description` | string | false | | | -| `icon` | string | false | | | -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`icon`|string|false||| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.TemplateVersionVariable @@ -7795,23 +7795,23 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|---------|----------|--------------|-------------| -| `default_value` | string | false | | | -| `description` | string | false | | | -| `name` | string | false | | | -| `required` | boolean | false | | | -| `sensitive` | boolean | false | | | -| `type` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`default_value`|string|false||| +|`description`|string|false||| +|`name`|string|false||| +|`required`|boolean|false||| +|`sensitive`|boolean|false||| +|`type`|string|false||| +|`value`|string|false||| #### Enumerated Values -| Property | Value | -|----------|----------| -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | +|Property|Value| +|---|---| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| ## codersdk.TemplateVersionWarning @@ -7823,9 +7823,9 @@ Restarts will only happen on weekdays in this list on weeks which line up with W #### Enumerated Values -| Value | -|--------------------------| -| `UNSUPPORTED_WORKSPACES` | +|Value| +|---| +|`UNSUPPORTED_WORKSPACES`| ## codersdk.TerminalFontName @@ -7837,13 +7837,13 @@ Restarts will only happen on weekdays in this list on weeks which line up with W #### Enumerated Values -| Value | -|-------------------| -| `` | -| `ibm-plex-mono` | -| `fira-code` | -| `source-code-pro` | -| `jetbrains-mono` | +|Value| +|---| +|``| +|`ibm-plex-mono`| +|`fira-code`| +|`source-code-pro`| +|`jetbrains-mono`| ## codersdk.TimingStage @@ -7855,16 +7855,16 @@ Restarts will only happen on weekdays in this list on weeks which line up with W #### Enumerated Values -| Value | -|-----------| -| `init` | -| `plan` | -| `graph` | -| `apply` | -| `start` | -| `stop` | -| `cron` | -| `connect` | +|Value| +|---| +|`init`| +|`plan`| +|`graph`| +|`apply`| +|`start`| +|`stop`| +|`cron`| +|`connect`| ## codersdk.TokenConfig @@ -7876,9 +7876,9 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `max_token_lifetime` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`max_token_lifetime`|integer|false||| ## codersdk.TraceConfig @@ -7893,12 +7893,12 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|---------|----------|--------------|-------------| -| `capture_logs` | boolean | false | | | -| `data_dog` | boolean | false | | | -| `enable` | boolean | false | | | -| `honeycomb_api_key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`capture_logs`|boolean|false||| +|`data_dog`|boolean|false||| +|`enable`|boolean|false||| +|`honeycomb_api_key`|string|false||| ## codersdk.TransitionStats @@ -7911,10 +7911,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|-------|---------|----------|--------------|-------------| -| `p50` | integer | false | | | -| `p95` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`p50`|integer|false||| +|`p95`|integer|false||| ## codersdk.UpdateActiveTemplateVersion @@ -7926,9 +7926,9 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|------|--------|----------|--------------|-------------| -| `id` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`id`|string|true||| ## codersdk.UpdateAppearanceConfig @@ -7953,12 +7953,12 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|---------------------------------------------------------|----------|--------------|---------------------------------------------------------------------| -| `announcement_banners` | array of [codersdk.BannerConfig](#codersdkbannerconfig) | false | | | -| `application_name` | string | false | | | -| `logo_url` | string | false | | | -| `service_banner` | [codersdk.BannerConfig](#codersdkbannerconfig) | false | | Deprecated: ServiceBanner has been replaced by AnnouncementBanners. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`announcement_banners`|array of [codersdk.BannerConfig](#codersdkbannerconfig)|false||| +|`application_name`|string|false||| +|`logo_url`|string|false||| +|`service_banner`|[codersdk.BannerConfig](#codersdkbannerconfig)|false||Deprecated: ServiceBanner has been replaced by AnnouncementBanners.| ## codersdk.UpdateCheckResponse @@ -7972,11 +7972,11 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-------------------------------------------------------------------------| -| `current` | boolean | false | | Current indicates whether the server version is the same as the latest. | -| `url` | string | false | | URL to download the latest release of Coder. | -| `version` | string | false | | Version is the semantic version for the latest release of Coder. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`current`|boolean|false||Current indicates whether the server version is the same as the latest.| +|`url`|string|false||URL to download the latest release of Coder.| +|`version`|string|false||Version is the semantic version for the latest release of Coder.| ## codersdk.UpdateOrganizationRequest @@ -7991,12 +7991,12 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `description` | string | false | | | -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`display_name`|string|false||| +|`icon`|string|false||| +|`name`|string|false||| ## codersdk.UpdateRoles @@ -8010,9 +8010,9 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|-----------------|----------|--------------|-------------| -| `roles` | array of string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`roles`|array of string|false||| ## codersdk.UpdateTemplateACL @@ -8031,12 +8031,12 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------| -| `group_perms` | object | false | | Group perms should be a mapping of group ID to role. | -| » `[any property]` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | | -| `user_perms` | object | false | | User perms should be a mapping of user ID to role. The user ID must be the uuid of the user, not a username or email address. | -| » `[any property]` | [codersdk.TemplateRole](#codersdktemplaterole) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`group_perms`|object|false||Group perms should be a mapping of group ID to role.| +|» `[any property]`|[codersdk.TemplateRole](#codersdktemplaterole)|false||| +|`user_perms`|object|false||User perms should be a mapping of user ID to role. The user ID must be the uuid of the user, not a username or email address.| +|» `[any property]`|[codersdk.TemplateRole](#codersdktemplaterole)|false||| ## codersdk.UpdateUserAppearanceSettingsRequest @@ -8049,10 +8049,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|--------------------------------------------------------|----------|--------------|-------------| -| `terminal_font` | [codersdk.TerminalFontName](#codersdkterminalfontname) | true | | | -| `theme_preference` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`terminal_font`|[codersdk.TerminalFontName](#codersdkterminalfontname)|true||| +|`theme_preference`|string|true||| ## codersdk.UpdateUserNotificationPreferences @@ -8067,10 +8067,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|---------|----------|--------------|-------------| -| `template_disabled_map` | object | false | | | -| » `[any property]` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`template_disabled_map`|object|false||| +|» `[any property]`|boolean|false||| ## codersdk.UpdateUserPasswordRequest @@ -8083,10 +8083,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `old_password` | string | false | | | -| `password` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`old_password`|string|false||| +|`password`|string|true||| ## codersdk.UpdateUserProfileRequest @@ -8099,10 +8099,10 @@ Restarts will only happen on weekdays in this list on weeks which line up with W ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|--------|----------|--------------|-------------| -| `name` | string | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`username`|string|true||| ## codersdk.UpdateUserQuietHoursScheduleRequest @@ -8130,9 +8130,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|--------------------------------------------------------|----------|--------------|-------------| -| `automatic_updates` | [codersdk.AutomaticUpdates](#codersdkautomaticupdates) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`automatic_updates`|[codersdk.AutomaticUpdates](#codersdkautomaticupdates)|false||| ## codersdk.UpdateWorkspaceAutostartRequest @@ -8144,9 +8144,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|--------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `schedule` | string | false | | Schedule is expected to be of the form `CRON_TZ= * * ` Example: `CRON_TZ=US/Central 30 9 * * 1-5` represents 0930 in the timezone US/Central on weekdays (Mon-Fri). `CRON_TZ` defaults to UTC if not present. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`schedule`|string|false||Schedule is expected to be of the form `CRON_TZ= * * ` Example: `CRON_TZ=US/Central 30 9 * * 1-5` represents 0930 in the timezone US/Central on weekdays (Mon-Fri). `CRON_TZ` defaults to UTC if not present.| ## codersdk.UpdateWorkspaceDormancy @@ -8158,9 +8158,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-------------| -| `dormant` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dormant`|boolean|false||| ## codersdk.UpdateWorkspaceRequest @@ -8172,9 +8172,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|--------|----------|--------------|-------------| -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| ## codersdk.UpdateWorkspaceTTLRequest @@ -8186,9 +8186,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|---------|----------|--------------|-------------| -| `ttl_ms` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`ttl_ms`|integer|false||| ## codersdk.UploadResponse @@ -8200,9 +8200,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|--------|----------|--------------|-------------| -| `hash` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`hash`|string|false||| ## codersdk.UpsertWorkspaceAgentPortShareRequest @@ -8217,23 +8217,23 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|--------------------------------------------------------------------------------------|----------|--------------|-------------| -| `agent_name` | string | false | | | -| `port` | integer | false | | | -| `protocol` | [codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol) | false | | | -| `share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`port`|integer|false||| +|`protocol`|[codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol)|false||| +|`share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||| #### Enumerated Values -| Property | Value | -|---------------|-----------------| -| `protocol` | `http` | -| `protocol` | `https` | -| `share_level` | `owner` | -| `share_level` | `authenticated` | -| `share_level` | `organization` | -| `share_level` | `public` | +|Property|Value| +|---|---| +|`protocol`|`http`| +|`protocol`|`https`| +|`share_level`|`owner`| +|`share_level`|`authenticated`| +|`share_level`|`organization`| +|`share_level`|`public`| ## codersdk.UsageAppName @@ -8245,12 +8245,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|--------------------| -| `vscode` | -| `jetbrains` | -| `reconnecting-pty` | -| `ssh` | +|Value| +|---| +|`vscode`| +|`jetbrains`| +|`reconnecting-pty`| +|`ssh`| ## codersdk.UsagePeriod @@ -8264,11 +8264,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|--------|----------|--------------|-------------| -| `end` | string | false | | | -| `issued_at` | string | false | | | -| `start` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`end`|string|false||| +|`issued_at`|string|false||| +|`start`|string|false||| ## codersdk.User @@ -8300,28 +8300,28 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|-------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------| -| `avatar_url` | string | false | | | -| `created_at` | string | true | | | -| `email` | string | true | | | -| `id` | string | true | | | -| `last_seen_at` | string | false | | | -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | -| `name` | string | false | | | -| `organization_ids` | array of string | false | | | -| `roles` | array of [codersdk.SlimRole](#codersdkslimrole) | false | | | -| `status` | [codersdk.UserStatus](#codersdkuserstatus) | false | | | -| `theme_preference` | string | false | | Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead. | -| `updated_at` | string | false | | | -| `username` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`created_at`|string|true||| +|`email`|string|true||| +|`id`|string|true||| +|`last_seen_at`|string|false||| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| +|`name`|string|false||| +|`organization_ids`|array of string|false||| +|`roles`|array of [codersdk.SlimRole](#codersdkslimrole)|false||| +|`status`|[codersdk.UserStatus](#codersdkuserstatus)|false||| +|`theme_preference`|string|false||Deprecated: this value should be retrieved from `codersdk.UserPreferenceSettings` instead.| +|`updated_at`|string|false||| +|`username`|string|true||| #### Enumerated Values -| Property | Value | -|----------|-------------| -| `status` | `active` | -| `status` | `suspended` | +|Property|Value| +|---|---| +|`status`|`active`| +|`status`|`suspended`| ## codersdk.UserActivity @@ -8339,13 +8339,13 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|-----------------|----------|--------------|-------------| -| `avatar_url` | string | false | | | -| `seconds` | integer | false | | | -| `template_ids` | array of string | false | | | -| `user_id` | string | false | | | -| `username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`seconds`|integer|false||| +|`template_ids`|array of string|false||| +|`user_id`|string|false||| +|`username`|string|false||| ## codersdk.UserActivityInsightsReport @@ -8372,12 +8372,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------------------------------------------------------|----------|--------------|-------------| -| `end_time` | string | false | | | -| `start_time` | string | false | | | -| `template_ids` | array of string | false | | | -| `users` | array of [codersdk.UserActivity](#codersdkuseractivity) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`end_time`|string|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| +|`users`|array of [codersdk.UserActivity](#codersdkuseractivity)|false||| ## codersdk.UserActivityInsightsResponse @@ -8406,9 +8406,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|----------------------------------------------------------------------------|----------|--------------|-------------| -| `report` | [codersdk.UserActivityInsightsReport](#codersdkuseractivityinsightsreport) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`report`|[codersdk.UserActivityInsightsReport](#codersdkuseractivityinsightsreport)|false||| ## codersdk.UserAppearanceSettings @@ -8421,10 +8421,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|--------------------------------------------------------|----------|--------------|-------------| -| `terminal_font` | [codersdk.TerminalFontName](#codersdkterminalfontname) | false | | | -| `theme_preference` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`terminal_font`|[codersdk.TerminalFontName](#codersdkterminalfontname)|false||| +|`theme_preference`|string|false||| ## codersdk.UserLatency @@ -8445,13 +8445,13 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|----------------------------------------------------------|----------|--------------|-------------| -| `avatar_url` | string | false | | | -| `latency_ms` | [codersdk.ConnectionLatency](#codersdkconnectionlatency) | false | | | -| `template_ids` | array of string | false | | | -| `user_id` | string | false | | | -| `username` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avatar_url`|string|false||| +|`latency_ms`|[codersdk.ConnectionLatency](#codersdkconnectionlatency)|false||| +|`template_ids`|array of string|false||| +|`user_id`|string|false||| +|`username`|string|false||| ## codersdk.UserLatencyInsightsReport @@ -8481,12 +8481,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|-------------------------------------------------------|----------|--------------|-------------| -| `end_time` | string | false | | | -| `start_time` | string | false | | | -| `template_ids` | array of string | false | | | -| `users` | array of [codersdk.UserLatency](#codersdkuserlatency) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`end_time`|string|false||| +|`start_time`|string|false||| +|`template_ids`|array of string|false||| +|`users`|array of [codersdk.UserLatency](#codersdkuserlatency)|false||| ## codersdk.UserLatencyInsightsResponse @@ -8518,9 +8518,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|--------------------------------------------------------------------------|----------|--------------|-------------| -| `report` | [codersdk.UserLatencyInsightsReport](#codersdkuserlatencyinsightsreport) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`report`|[codersdk.UserLatencyInsightsReport](#codersdkuserlatencyinsightsreport)|false||| ## codersdk.UserLoginType @@ -8532,9 +8532,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|------------------------------------------|----------|--------------|-------------| -| `login_type` | [codersdk.LoginType](#codersdklogintype) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`login_type`|[codersdk.LoginType](#codersdklogintype)|false||| ## codersdk.UserParameter @@ -8547,10 +8547,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.UserQuietHoursScheduleConfig @@ -8563,10 +8563,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|---------|----------|--------------|-------------| -| `allow_user_custom` | boolean | false | | | -| `default_schedule` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_user_custom`|boolean|false||| +|`default_schedule`|string|false||| ## codersdk.UserQuietHoursScheduleResponse @@ -8583,14 +8583,14 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `next` | string | false | | Next is the next time that the quiet hours window will start. | -| `raw_schedule` | string | false | | | -| `time` | string | false | | Time is the time of day that the quiet hours window starts in the given Timezone each day. | -| `timezone` | string | false | | raw format from the cron expression, UTC if unspecified | -| `user_can_set` | boolean | false | | User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used. | -| `user_set` | boolean | false | | User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`next`|string|false||Next is the next time that the quiet hours window will start.| +|`raw_schedule`|string|false||| +|`time`|string|false||Time is the time of day that the quiet hours window starts in the given Timezone each day.| +|`timezone`|string|false||raw format from the cron expression, UTC if unspecified| +|`user_can_set`|boolean|false||User can set is true if the user is allowed to set their own quiet hours schedule. If false, the user cannot set a custom schedule and the default schedule will always be used.| +|`user_set`|boolean|false||User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.| ## codersdk.UserStatus @@ -8602,11 +8602,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|-------------| -| `active` | -| `dormant` | -| `suspended` | +|Value| +|---| +|`active`| +|`dormant`| +|`suspended`| ## codersdk.UserStatusChangeCount @@ -8619,10 +8619,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|---------|----------|--------------|-------------| -| `count` | integer | false | | | -| `date` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`date`|string|false||| ## codersdk.ValidateUserPasswordRequest @@ -8634,9 +8634,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------|--------|----------|--------------|-------------| -| `password` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`password`|string|true||| ## codersdk.ValidateUserPasswordResponse @@ -8649,10 +8649,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-------------| -| `details` | string | false | | | -| `valid` | boolean | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`details`|string|false||| +|`valid`|boolean|false||| ## codersdk.ValidationError @@ -8665,10 +8665,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|--------|----------|--------------|-------------| -| `detail` | string | true | | | -| `field` | string | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`detail`|string|true||| +|`field`|string|true||| ## codersdk.ValidationMonotonicOrder @@ -8680,10 +8680,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|--------------| -| `increasing` | -| `decreasing` | +|Value| +|---| +|`increasing`| +|`decreasing`| ## codersdk.VariableValue @@ -8696,10 +8696,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.WebpushSubscription @@ -8713,11 +8713,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|--------|----------|--------------|-------------| -| `auth_key` | string | false | | | -| `endpoint` | string | false | | | -| `p256dh_key` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`auth_key`|string|false||| +|`endpoint`|string|false||| +|`p256dh_key`|string|false||| ## codersdk.Workspace @@ -8977,46 +8977,46 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------------------------------|------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `allow_renames` | boolean | false | | | -| `automatic_updates` | [codersdk.AutomaticUpdates](#codersdkautomaticupdates) | false | | | -| `autostart_schedule` | string | false | | | -| `created_at` | string | false | | | -| `deleting_at` | string | false | | Deleting at indicates the time at which the workspace will be permanently deleted. A workspace is eligible for deletion if it is dormant (a non-nil dormant_at value) and a value has been specified for time_til_dormant_autodelete on its template. | -| `dormant_at` | string | false | | Dormant at being non-nil indicates a workspace that is dormant. A dormant workspace is no longer accessible must be activated. It is subject to deletion if it breaches the duration of the time_til_ field on its template. | -| `favorite` | boolean | false | | | -| `health` | [codersdk.WorkspaceHealth](#codersdkworkspacehealth) | false | | Health shows the health of the workspace and information about what is causing an unhealthy status. | -| `id` | string | false | | | -| `is_prebuild` | boolean | false | | Is prebuild indicates whether the workspace is a prebuilt workspace. Prebuilt workspaces are owned by the prebuilds system user and have specific behavior, such as being managed differently from regular workspaces. Once a prebuilt workspace is claimed by a user, it transitions to a regular workspace, and IsPrebuild returns false. | -| `last_used_at` | string | false | | | -| `latest_app_status` | [codersdk.WorkspaceAppStatus](#codersdkworkspaceappstatus) | false | | | -| `latest_build` | [codersdk.WorkspaceBuild](#codersdkworkspacebuild) | false | | | -| `name` | string | false | | | -| `next_start_at` | string | false | | | -| `organization_id` | string | false | | | -| `organization_name` | string | false | | | -| `outdated` | boolean | false | | | -| `owner_avatar_url` | string | false | | | -| `owner_id` | string | false | | | -| `owner_name` | string | false | | Owner name is the username of the owner of the workspace. | -| `template_active_version_id` | string | false | | | -| `template_allow_user_cancel_workspace_jobs` | boolean | false | | | -| `template_display_name` | string | false | | | -| `template_icon` | string | false | | | -| `template_id` | string | false | | | -| `template_name` | string | false | | | -| `template_require_active_version` | boolean | false | | | -| `template_use_classic_parameter_flow` | boolean | false | | | -| `ttl_ms` | integer | false | | | -| `updated_at` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`allow_renames`|boolean|false||| +|`automatic_updates`|[codersdk.AutomaticUpdates](#codersdkautomaticupdates)|false||| +|`autostart_schedule`|string|false||| +|`created_at`|string|false||| +|`deleting_at`|string|false||Deleting at indicates the time at which the workspace will be permanently deleted. A workspace is eligible for deletion if it is dormant (a non-nil dormant_at value) and a value has been specified for time_til_dormant_autodelete on its template.| +|`dormant_at`|string|false||Dormant at being non-nil indicates a workspace that is dormant. A dormant workspace is no longer accessible must be activated. It is subject to deletion if it breaches the duration of the time_til_ field on its template.| +|`favorite`|boolean|false||| +|`health`|[codersdk.WorkspaceHealth](#codersdkworkspacehealth)|false||Health shows the health of the workspace and information about what is causing an unhealthy status.| +|`id`|string|false||| +|`is_prebuild`|boolean|false||Is prebuild indicates whether the workspace is a prebuilt workspace. Prebuilt workspaces are owned by the prebuilds system user and have specific behavior, such as being managed differently from regular workspaces. Once a prebuilt workspace is claimed by a user, it transitions to a regular workspace, and IsPrebuild returns false.| +|`last_used_at`|string|false||| +|`latest_app_status`|[codersdk.WorkspaceAppStatus](#codersdkworkspaceappstatus)|false||| +|`latest_build`|[codersdk.WorkspaceBuild](#codersdkworkspacebuild)|false||| +|`name`|string|false||| +|`next_start_at`|string|false||| +|`organization_id`|string|false||| +|`organization_name`|string|false||| +|`outdated`|boolean|false||| +|`owner_avatar_url`|string|false||| +|`owner_id`|string|false||| +|`owner_name`|string|false||Owner name is the username of the owner of the workspace.| +|`template_active_version_id`|string|false||| +|`template_allow_user_cancel_workspace_jobs`|boolean|false||| +|`template_display_name`|string|false||| +|`template_icon`|string|false||| +|`template_id`|string|false||| +|`template_name`|string|false||| +|`template_require_active_version`|boolean|false||| +|`template_use_classic_parameter_flow`|boolean|false||| +|`ttl_ms`|integer|false||| +|`updated_at`|string|false||| #### Enumerated Values -| Property | Value | -|---------------------|----------| -| `automatic_updates` | `always` | -| `automatic_updates` | `never` | +|Property|Value| +|---|---| +|`automatic_updates`|`always`| +|`automatic_updates`|`never`| ## codersdk.WorkspaceAgent @@ -9139,43 +9139,43 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|----------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `api_version` | string | false | | | -| `apps` | array of [codersdk.WorkspaceApp](#codersdkworkspaceapp) | false | | | -| `architecture` | string | false | | | -| `connection_timeout_seconds` | integer | false | | | -| `created_at` | string | false | | | -| `directory` | string | false | | | -| `disconnected_at` | string | false | | | -| `display_apps` | array of [codersdk.DisplayApp](#codersdkdisplayapp) | false | | | -| `environment_variables` | object | false | | | -| » `[any property]` | string | false | | | -| `expanded_directory` | string | false | | | -| `first_connected_at` | string | false | | | -| `health` | [codersdk.WorkspaceAgentHealth](#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `id` | string | false | | | -| `instance_id` | string | false | | | -| `last_connected_at` | string | false | | | -| `latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| » `[any property]` | [codersdk.DERPRegion](#codersdkderpregion) | false | | | -| `lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](#codersdkworkspaceagentlifecycle) | false | | | -| `log_sources` | array of [codersdk.WorkspaceAgentLogSource](#codersdkworkspaceagentlogsource) | false | | | -| `logs_length` | integer | false | | | -| `logs_overflowed` | boolean | false | | | -| `name` | string | false | | | -| `operating_system` | string | false | | | -| `parent_id` | [uuid.NullUUID](#uuidnulluuid) | false | | | -| `ready_at` | string | false | | | -| `resource_id` | string | false | | | -| `scripts` | array of [codersdk.WorkspaceAgentScript](#codersdkworkspaceagentscript) | false | | | -| `started_at` | string | false | | | -| `startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `status` | [codersdk.WorkspaceAgentStatus](#codersdkworkspaceagentstatus) | false | | | -| `subsystems` | array of [codersdk.AgentSubsystem](#codersdkagentsubsystem) | false | | | -| `troubleshooting_url` | string | false | | | -| `updated_at` | string | false | | | -| `version` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`api_version`|string|false||| +|`apps`|array of [codersdk.WorkspaceApp](#codersdkworkspaceapp)|false||| +|`architecture`|string|false||| +|`connection_timeout_seconds`|integer|false||| +|`created_at`|string|false||| +|`directory`|string|false||| +|`disconnected_at`|string|false||| +|`display_apps`|array of [codersdk.DisplayApp](#codersdkdisplayapp)|false||| +|`environment_variables`|object|false||| +|» `[any property]`|string|false||| +|`expanded_directory`|string|false||| +|`first_connected_at`|string|false||| +|`health`|[codersdk.WorkspaceAgentHealth](#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`id`|string|false||| +|`instance_id`|string|false||| +|`last_connected_at`|string|false||| +|`latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|» `[any property]`|[codersdk.DERPRegion](#codersdkderpregion)|false||| +|`lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](#codersdkworkspaceagentlifecycle)|false||| +|`log_sources`|array of [codersdk.WorkspaceAgentLogSource](#codersdkworkspaceagentlogsource)|false||| +|`logs_length`|integer|false||| +|`logs_overflowed`|boolean|false||| +|`name`|string|false||| +|`operating_system`|string|false||| +|`parent_id`|[uuid.NullUUID](#uuidnulluuid)|false||| +|`ready_at`|string|false||| +|`resource_id`|string|false||| +|`scripts`|array of [codersdk.WorkspaceAgentScript](#codersdkworkspaceagentscript)|false||| +|`started_at`|string|false||| +|`startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`status`|[codersdk.WorkspaceAgentStatus](#codersdkworkspaceagentstatus)|false||| +|`subsystems`|array of [codersdk.AgentSubsystem](#codersdkagentsubsystem)|false||| +|`troubleshooting_url`|string|false||| +|`updated_at`|string|false||| +|`version`|string|false||| ## codersdk.WorkspaceAgentContainer @@ -9208,19 +9208,19 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------------------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------| -| `created_at` | string | false | | Created at is the time the container was created. | -| `id` | string | false | | ID is the unique identifier of the container. | -| `image` | string | false | | Image is the name of the container image. | -| `labels` | object | false | | Labels is a map of key-value pairs of container labels. | -| » `[any property]` | string | false | | | -| `name` | string | false | | Name is the human-readable name of the container. | -| `ports` | array of [codersdk.WorkspaceAgentContainerPort](#codersdkworkspaceagentcontainerport) | false | | Ports includes ports exposed by the container. | -| `running` | boolean | false | | Running is true if the container is currently running. | -| `status` | string | false | | Status is the current status of the container. This is somewhat implementation-dependent, but should generally be a human-readable string. | -| `volumes` | object | false | | Volumes is a map of "things" mounted into the container. Again, this is somewhat implementation-dependent. | -| » `[any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||Created at is the time the container was created.| +|`id`|string|false||ID is the unique identifier of the container.| +|`image`|string|false||Image is the name of the container image.| +|`labels`|object|false||Labels is a map of key-value pairs of container labels.| +|» `[any property]`|string|false||| +|`name`|string|false||Name is the human-readable name of the container.| +|`ports`|array of [codersdk.WorkspaceAgentContainerPort](#codersdkworkspaceagentcontainerport)|false||Ports includes ports exposed by the container.| +|`running`|boolean|false||Running is true if the container is currently running.| +|`status`|string|false||Status is the current status of the container. This is somewhat implementation-dependent, but should generally be a human-readable string.| +|`volumes`|object|false||Volumes is a map of "things" mounted into the container. Again, this is somewhat implementation-dependent.| +|» `[any property]`|string|false||| ## codersdk.WorkspaceAgentContainerPort @@ -9235,12 +9235,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|---------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------| -| `host_ip` | string | false | | Host ip is the IP address of the host interface to which the port is bound. Note that this can be an IPv4 or IPv6 address. | -| `host_port` | integer | false | | Host port is the port number *outside* the container. | -| `network` | string | false | | Network is the network protocol used by the port (tcp, udp, etc). | -| `port` | integer | false | | Port is the port number *inside* the container. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`host_ip`|string|false||Host ip is the IP address of the host interface to which the port is bound. Note that this can be an IPv4 or IPv6 address.| +|`host_port`|integer|false||Host port is the port number *outside* the container.| +|`network`|string|false||Network is the network protocol used by the port (tcp, udp, etc).| +|`port`|integer|false||Port is the port number *inside* the container.| ## codersdk.WorkspaceAgentDevcontainer @@ -9287,17 +9287,17 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|----------------------------------------------------------------------------------------|----------|--------------|----------------------------| -| `agent` | [codersdk.WorkspaceAgentDevcontainerAgent](#codersdkworkspaceagentdevcontaineragent) | false | | | -| `config_path` | string | false | | | -| `container` | [codersdk.WorkspaceAgentContainer](#codersdkworkspaceagentcontainer) | false | | | -| `dirty` | boolean | false | | | -| `error` | string | false | | | -| `id` | string | false | | | -| `name` | string | false | | | -| `status` | [codersdk.WorkspaceAgentDevcontainerStatus](#codersdkworkspaceagentdevcontainerstatus) | false | | Additional runtime fields. | -| `workspace_folder` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent`|[codersdk.WorkspaceAgentDevcontainerAgent](#codersdkworkspaceagentdevcontaineragent)|false||| +|`config_path`|string|false||| +|`container`|[codersdk.WorkspaceAgentContainer](#codersdkworkspaceagentcontainer)|false||| +|`dirty`|boolean|false||| +|`error`|string|false||| +|`id`|string|false||| +|`name`|string|false||| +|`status`|[codersdk.WorkspaceAgentDevcontainerStatus](#codersdkworkspaceagentdevcontainerstatus)|false||Additional runtime fields.| +|`workspace_folder`|string|false||| ## codersdk.WorkspaceAgentDevcontainerAgent @@ -9311,11 +9311,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|--------|----------|--------------|-------------| -| `directory` | string | false | | | -| `id` | string | false | | | -| `name` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`directory`|string|false||| +|`id`|string|false||| +|`name`|string|false||| ## codersdk.WorkspaceAgentDevcontainerStatus @@ -9327,12 +9327,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|------------| -| `running` | -| `stopped` | -| `starting` | -| `error` | +|Value| +|---| +|`running`| +|`stopped`| +|`starting`| +|`error`| ## codersdk.WorkspaceAgentHealth @@ -9345,10 +9345,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-----------------------------------------------------------------------------------------------| -| `healthy` | boolean | false | | Healthy is true if the agent is healthy. | -| `reason` | string | false | | Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`healthy`|boolean|false||Healthy is true if the agent is healthy.| +|`reason`|string|false||Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.| ## codersdk.WorkspaceAgentLifecycle @@ -9360,17 +9360,17 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|--------------------| -| `created` | -| `starting` | -| `start_timeout` | -| `start_error` | -| `ready` | -| `shutting_down` | -| `shutdown_timeout` | -| `shutdown_error` | -| `off` | +|Value| +|---| +|`created`| +|`starting`| +|`start_timeout`| +|`start_error`| +|`ready`| +|`shutting_down`| +|`shutdown_timeout`| +|`shutdown_error`| +|`off`| ## codersdk.WorkspaceAgentListContainersResponse @@ -9450,11 +9450,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|-------------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------| -| `containers` | array of [codersdk.WorkspaceAgentContainer](#codersdkworkspaceagentcontainer) | false | | Containers is a list of containers visible to the workspace agent. | -| `devcontainers` | array of [codersdk.WorkspaceAgentDevcontainer](#codersdkworkspaceagentdevcontainer) | false | | Devcontainers is a list of devcontainers visible to the workspace agent. | -| `warnings` | array of string | false | | Warnings is a list of warnings that may have occurred during the process of listing containers. This should not include fatal errors. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`containers`|array of [codersdk.WorkspaceAgentContainer](#codersdkworkspaceagentcontainer)|false||Containers is a list of containers visible to the workspace agent.| +|`devcontainers`|array of [codersdk.WorkspaceAgentDevcontainer](#codersdkworkspaceagentdevcontainer)|false||Devcontainers is a list of devcontainers visible to the workspace agent.| +|`warnings`|array of string|false||Warnings is a list of warnings that may have occurred during the process of listing containers. This should not include fatal errors.| ## codersdk.WorkspaceAgentListeningPort @@ -9468,11 +9468,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------|----------|--------------|--------------------------| -| `network` | string | false | | only "tcp" at the moment | -| `port` | integer | false | | | -| `process_name` | string | false | | may be empty | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`network`|string|false||only "tcp" at the moment| +|`port`|integer|false||| +|`process_name`|string|false||may be empty| ## codersdk.WorkspaceAgentListeningPortsResponse @@ -9490,9 +9490,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|---------------------------------------------------------------------------------------|----------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `ports` | array of [codersdk.WorkspaceAgentListeningPort](#codersdkworkspaceagentlisteningport) | false | | If there are no ports in the list, nothing should be displayed in the UI. There must not be a "no ports available" message or anything similar, as there will always be no ports displayed on platforms where our port detection logic is unsupported. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`ports`|array of [codersdk.WorkspaceAgentListeningPort](#codersdkworkspaceagentlisteningport)|false||If there are no ports in the list, nothing should be displayed in the UI. There must not be a "no ports available" message or anything similar, as there will always be no ports displayed on platforms where our port detection logic is unsupported.| ## codersdk.WorkspaceAgentLog @@ -9508,13 +9508,13 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|----------------------------------------|----------|--------------|-------------| -| `created_at` | string | false | | | -| `id` | integer | false | | | -| `level` | [codersdk.LogLevel](#codersdkloglevel) | false | | | -| `output` | string | false | | | -| `source_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`id`|integer|false||| +|`level`|[codersdk.LogLevel](#codersdkloglevel)|false||| +|`output`|string|false||| +|`source_id`|string|false||| ## codersdk.WorkspaceAgentLogSource @@ -9530,13 +9530,13 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|--------|----------|--------------|-------------| -| `created_at` | string | false | | | -| `display_name` | string | false | | | -| `icon` | string | false | | | -| `id` | string | false | | | -| `workspace_agent_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`display_name`|string|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`workspace_agent_id`|string|false||| ## codersdk.WorkspaceAgentPortShare @@ -9552,24 +9552,24 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|--------------------------------------------------------------------------------------|----------|--------------|-------------| -| `agent_name` | string | false | | | -| `port` | integer | false | | | -| `protocol` | [codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol) | false | | | -| `share_level` | [codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel) | false | | | -| `workspace_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_name`|string|false||| +|`port`|integer|false||| +|`protocol`|[codersdk.WorkspaceAgentPortShareProtocol](#codersdkworkspaceagentportshareprotocol)|false||| +|`share_level`|[codersdk.WorkspaceAgentPortShareLevel](#codersdkworkspaceagentportsharelevel)|false||| +|`workspace_id`|string|false||| #### Enumerated Values -| Property | Value | -|---------------|-----------------| -| `protocol` | `http` | -| `protocol` | `https` | -| `share_level` | `owner` | -| `share_level` | `authenticated` | -| `share_level` | `organization` | -| `share_level` | `public` | +|Property|Value| +|---|---| +|`protocol`|`http`| +|`protocol`|`https`| +|`share_level`|`owner`| +|`share_level`|`authenticated`| +|`share_level`|`organization`| +|`share_level`|`public`| ## codersdk.WorkspaceAgentPortShareLevel @@ -9581,12 +9581,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|-----------------| -| `owner` | -| `authenticated` | -| `organization` | -| `public` | +|Value| +|---| +|`owner`| +|`authenticated`| +|`organization`| +|`public`| ## codersdk.WorkspaceAgentPortShareProtocol @@ -9598,10 +9598,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|---------| -| `http` | -| `https` | +|Value| +|---| +|`http`| +|`https`| ## codersdk.WorkspaceAgentPortShares @@ -9621,9 +9621,9 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------|-------------------------------------------------------------------------------|----------|--------------|-------------| -| `shares` | array of [codersdk.WorkspaceAgentPortShare](#codersdkworkspaceagentportshare) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`shares`|array of [codersdk.WorkspaceAgentPortShare](#codersdkworkspaceagentportshare)|false||| ## codersdk.WorkspaceAgentScript @@ -9644,18 +9644,18 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `cron` | string | false | | | -| `display_name` | string | false | | | -| `id` | string | false | | | -| `log_path` | string | false | | | -| `log_source_id` | string | false | | | -| `run_on_start` | boolean | false | | | -| `run_on_stop` | boolean | false | | | -| `script` | string | false | | | -| `start_blocks_login` | boolean | false | | | -| `timeout` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`cron`|string|false||| +|`display_name`|string|false||| +|`id`|string|false||| +|`log_path`|string|false||| +|`log_source_id`|string|false||| +|`run_on_start`|boolean|false||| +|`run_on_stop`|boolean|false||| +|`script`|string|false||| +|`start_blocks_login`|boolean|false||| +|`timeout`|integer|false||| ## codersdk.WorkspaceAgentStartupScriptBehavior @@ -9667,10 +9667,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|----------------| -| `blocking` | -| `non-blocking` | +|Value| +|---| +|`blocking`| +|`non-blocking`| ## codersdk.WorkspaceAgentStatus @@ -9682,12 +9682,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|----------------| -| `connecting` | -| `connected` | -| `disconnected` | -| `timeout` | +|Value| +|---| +|`connecting`| +|`connected`| +|`disconnected`| +|`timeout`| ## codersdk.WorkspaceApp @@ -9731,33 +9731,33 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `command` | string | false | | | -| `display_name` | string | false | | Display name is a friendly name for the app. | -| `external` | boolean | false | | External specifies whether the URL should be opened externally on the client or not. | -| `group` | string | false | | | -| `health` | [codersdk.WorkspaceAppHealth](#codersdkworkspaceapphealth) | false | | | -| `healthcheck` | [codersdk.Healthcheck](#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `hidden` | boolean | false | | | -| `icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. | -| `id` | string | false | | | -| `open_in` | [codersdk.WorkspaceAppOpenIn](#codersdkworkspaceappopenin) | false | | | -| `sharing_level` | [codersdk.WorkspaceAppSharingLevel](#codersdkworkspaceappsharinglevel) | false | | | -| `slug` | string | false | | Slug is a unique identifier within the agent. | -| `statuses` | array of [codersdk.WorkspaceAppStatus](#codersdkworkspaceappstatus) | false | | Statuses is a list of statuses for the app. | -| `subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. | -| `subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`command`|string|false||| +|`display_name`|string|false||Display name is a friendly name for the app.| +|`external`|boolean|false||External specifies whether the URL should be opened externally on the client or not.| +|`group`|string|false||| +|`health`|[codersdk.WorkspaceAppHealth](#codersdkworkspaceapphealth)|false||| +|`healthcheck`|[codersdk.Healthcheck](#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`hidden`|boolean|false||| +|`icon`|string|false||Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard.| +|`id`|string|false||| +|`open_in`|[codersdk.WorkspaceAppOpenIn](#codersdkworkspaceappopenin)|false||| +|`sharing_level`|[codersdk.WorkspaceAppSharingLevel](#codersdkworkspaceappsharinglevel)|false||| +|`slug`|string|false||Slug is a unique identifier within the agent.| +|`statuses`|array of [codersdk.WorkspaceAppStatus](#codersdkworkspaceappstatus)|false||Statuses is a list of statuses for the app.| +|`subdomain`|boolean|false||Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI.| +|`subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| #### Enumerated Values -| Property | Value | -|-----------------|-----------------| -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `organization` | -| `sharing_level` | `public` | +|Property|Value| +|---|---| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`organization`| +|`sharing_level`|`public`| ## codersdk.WorkspaceAppHealth @@ -9769,12 +9769,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|----------------| -| `disabled` | -| `initializing` | -| `healthy` | -| `unhealthy` | +|Value| +|---| +|`disabled`| +|`initializing`| +|`healthy`| +|`unhealthy`| ## codersdk.WorkspaceAppOpenIn @@ -9786,10 +9786,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|---------------| -| `slim-window` | -| `tab` | +|Value| +|---| +|`slim-window`| +|`tab`| ## codersdk.WorkspaceAppSharingLevel @@ -9801,12 +9801,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|-----------------| -| `owner` | -| `authenticated` | -| `organization` | -| `public` | +|Value| +|---| +|`owner`| +|`authenticated`| +|`organization`| +|`public`| ## codersdk.WorkspaceAppStatus @@ -9827,18 +9827,18 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|----------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -| `agent_id` | string | false | | | -| `app_id` | string | false | | | -| `created_at` | string | false | | | -| `icon` | string | false | | Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. | -| `id` | string | false | | | -| `message` | string | false | | | -| `needs_user_attention` | boolean | false | | Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. | -| `state` | [codersdk.WorkspaceAppStatusState](#codersdkworkspaceappstatusstate) | false | | | -| `uri` | string | false | | Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file | -| `workspace_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_id`|string|false||| +|`app_id`|string|false||| +|`created_at`|string|false||| +|`icon`|string|false||Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI.| +|`id`|string|false||| +|`message`|string|false||| +|`needs_user_attention`|boolean|false||Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention.| +|`state`|[codersdk.WorkspaceAppStatusState](#codersdkworkspaceappstatusstate)|false||| +|`uri`|string|false||Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file| +|`workspace_id`|string|false||| ## codersdk.WorkspaceAppStatusState @@ -9850,12 +9850,12 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|------------| -| `working` | -| `idle` | -| `complete` | -| `failure` | +|Value| +|---| +|`working`| +|`idle`| +|`complete`| +|`failure`| ## codersdk.WorkspaceBuild @@ -10067,54 +10067,54 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|-------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------| -| `ai_task_sidebar_app_id` | string | false | | | -| `build_number` | integer | false | | | -| `created_at` | string | false | | | -| `daily_cost` | integer | false | | | -| `deadline` | string | false | | | -| `has_ai_task` | boolean | false | | | -| `id` | string | false | | | -| `initiator_id` | string | false | | | -| `initiator_name` | string | false | | | -| `job` | [codersdk.ProvisionerJob](#codersdkprovisionerjob) | false | | | -| `matched_provisioners` | [codersdk.MatchedProvisioners](#codersdkmatchedprovisioners) | false | | | -| `max_deadline` | string | false | | | -| `reason` | [codersdk.BuildReason](#codersdkbuildreason) | false | | | -| `resources` | array of [codersdk.WorkspaceResource](#codersdkworkspaceresource) | false | | | -| `status` | [codersdk.WorkspaceStatus](#codersdkworkspacestatus) | false | | | -| `template_version_id` | string | false | | | -| `template_version_name` | string | false | | | -| `template_version_preset_id` | string | false | | | -| `transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | false | | | -| `updated_at` | string | false | | | -| `workspace_id` | string | false | | | -| `workspace_name` | string | false | | | -| `workspace_owner_avatar_url` | string | false | | | -| `workspace_owner_id` | string | false | | | -| `workspace_owner_name` | string | false | | Workspace owner name is the username of the owner of the workspace. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`ai_task_sidebar_app_id`|string|false||| +|`build_number`|integer|false||| +|`created_at`|string|false||| +|`daily_cost`|integer|false||| +|`deadline`|string|false||| +|`has_ai_task`|boolean|false||| +|`id`|string|false||| +|`initiator_id`|string|false||| +|`initiator_name`|string|false||| +|`job`|[codersdk.ProvisionerJob](#codersdkprovisionerjob)|false||| +|`matched_provisioners`|[codersdk.MatchedProvisioners](#codersdkmatchedprovisioners)|false||| +|`max_deadline`|string|false||| +|`reason`|[codersdk.BuildReason](#codersdkbuildreason)|false||| +|`resources`|array of [codersdk.WorkspaceResource](#codersdkworkspaceresource)|false||| +|`status`|[codersdk.WorkspaceStatus](#codersdkworkspacestatus)|false||| +|`template_version_id`|string|false||| +|`template_version_name`|string|false||| +|`template_version_preset_id`|string|false||| +|`transition`|[codersdk.WorkspaceTransition](#codersdkworkspacetransition)|false||| +|`updated_at`|string|false||| +|`workspace_id`|string|false||| +|`workspace_name`|string|false||| +|`workspace_owner_avatar_url`|string|false||| +|`workspace_owner_id`|string|false||| +|`workspace_owner_name`|string|false||Workspace owner name is the username of the owner of the workspace.| #### Enumerated Values -| Property | Value | -|--------------|-------------| -| `reason` | `initiator` | -| `reason` | `autostart` | -| `reason` | `autostop` | -| `status` | `pending` | -| `status` | `starting` | -| `status` | `running` | -| `status` | `stopping` | -| `status` | `stopped` | -| `status` | `failed` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `deleting` | -| `status` | `deleted` | -| `transition` | `start` | -| `transition` | `stop` | -| `transition` | `delete` | +|Property|Value| +|---|---| +|`reason`|`initiator`| +|`reason`|`autostart`| +|`reason`|`autostop`| +|`status`|`pending`| +|`status`|`starting`| +|`status`|`running`| +|`status`|`stopping`| +|`status`|`stopped`| +|`status`|`failed`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`deleting`| +|`status`|`deleted`| +|`transition`|`start`| +|`transition`|`stop`| +|`transition`|`delete`| ## codersdk.WorkspaceBuildParameter @@ -10127,10 +10127,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|--------|----------|--------------|-------------| -| `name` | string | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`name`|string|false||| +|`value`|string|false||| ## codersdk.WorkspaceBuildTimings @@ -10173,11 +10173,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------------|---------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------| -| `agent_connection_timings` | array of [codersdk.AgentConnectionTiming](#codersdkagentconnectiontiming) | false | | | -| `agent_script_timings` | array of [codersdk.AgentScriptTiming](#codersdkagentscripttiming) | false | | Agent script timings Consolidate agent-related timing metrics into a single struct when updating the API version | -| `provisioner_timings` | array of [codersdk.ProvisionerTiming](#codersdkprovisionertiming) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agent_connection_timings`|array of [codersdk.AgentConnectionTiming](#codersdkagentconnectiontiming)|false||| +|`agent_script_timings`|array of [codersdk.AgentScriptTiming](#codersdkagentscripttiming)|false||Agent script timings Consolidate agent-related timing metrics into a single struct when updating the API version| +|`provisioner_timings`|array of [codersdk.ProvisionerTiming](#codersdkprovisionertiming)|false||| ## codersdk.WorkspaceConnectionLatencyMS @@ -10190,10 +10190,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------|--------|----------|--------------|-------------| -| `p50` | number | false | | | -| `p95` | number | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`p50`|number|false||| +|`p95`|number|false||| ## codersdk.WorkspaceDeploymentStats @@ -10215,16 +10215,16 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|--------------------------------------------------------------------------------|----------|--------------|-------------| -| `building` | integer | false | | | -| `connection_latency_ms` | [codersdk.WorkspaceConnectionLatencyMS](#codersdkworkspaceconnectionlatencyms) | false | | | -| `failed` | integer | false | | | -| `pending` | integer | false | | | -| `running` | integer | false | | | -| `rx_bytes` | integer | false | | | -| `stopped` | integer | false | | | -| `tx_bytes` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`building`|integer|false||| +|`connection_latency_ms`|[codersdk.WorkspaceConnectionLatencyMS](#codersdkworkspaceconnectionlatencyms)|false||| +|`failed`|integer|false||| +|`pending`|integer|false||| +|`running`|integer|false||| +|`rx_bytes`|integer|false||| +|`stopped`|integer|false||| +|`tx_bytes`|integer|false||| ## codersdk.WorkspaceHealth @@ -10239,10 +10239,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|-----------------|----------|--------------|----------------------------------------------------------------------| -| `failing_agents` | array of string | false | | Failing agents lists the IDs of the agents that are failing, if any. | -| `healthy` | boolean | false | | Healthy is true if the workspace is healthy. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`failing_agents`|array of string|false||Failing agents lists the IDs of the agents that are failing, if any.| +|`healthy`|boolean|false||Healthy is true if the workspace is healthy.| ## codersdk.WorkspaceProxy @@ -10278,22 +10278,22 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|----------------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `created_at` | string | false | | | -| `deleted` | boolean | false | | | -| `derp_enabled` | boolean | false | | | -| `derp_only` | boolean | false | | | -| `display_name` | string | false | | | -| `healthy` | boolean | false | | | -| `icon_url` | string | false | | | -| `id` | string | false | | | -| `name` | string | false | | | -| `path_app_url` | string | false | | Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com | -| `status` | [codersdk.WorkspaceProxyStatus](#codersdkworkspaceproxystatus) | false | | Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. | -| `updated_at` | string | false | | | -| `version` | string | false | | | -| `wildcard_hostname` | string | false | | Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`created_at`|string|false||| +|`deleted`|boolean|false||| +|`derp_enabled`|boolean|false||| +|`derp_only`|boolean|false||| +|`display_name`|string|false||| +|`healthy`|boolean|false||| +|`icon_url`|string|false||| +|`id`|string|false||| +|`name`|string|false||| +|`path_app_url`|string|false||Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com| +|`status`|[codersdk.WorkspaceProxyStatus](#codersdkworkspaceproxystatus)|false||Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use.| +|`updated_at`|string|false||| +|`version`|string|false||| +|`wildcard_hostname`|string|false||Wildcard hostname is the wildcard hostname for subdomain apps. E.g. *.us.example.com E.g.*--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL.| ## codersdk.WorkspaceProxyStatus @@ -10314,11 +10314,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|----------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------| -| `checked_at` | string | false | | | -| `report` | [codersdk.ProxyHealthReport](#codersdkproxyhealthreport) | false | | Report provides more information about the health of the workspace proxy. | -| `status` | [codersdk.ProxyHealthStatus](#codersdkproxyhealthstatus) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`checked_at`|string|false||| +|`report`|[codersdk.ProxyHealthReport](#codersdkproxyhealthreport)|false||Report provides more information about the health of the workspace proxy.| +|`status`|[codersdk.ProxyHealthStatus](#codersdkproxyhealthstatus)|false||| ## codersdk.WorkspaceQuota @@ -10331,10 +10331,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|---------|----------|--------------|-------------| -| `budget` | integer | false | | | -| `credits_consumed` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`budget`|integer|false||| +|`credits_consumed`|integer|false||| ## codersdk.WorkspaceResource @@ -10477,27 +10477,27 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|-----------------------------------------------------------------------------------|----------|--------------|-------------| -| `agents` | array of [codersdk.WorkspaceAgent](#codersdkworkspaceagent) | false | | | -| `created_at` | string | false | | | -| `daily_cost` | integer | false | | | -| `hide` | boolean | false | | | -| `icon` | string | false | | | -| `id` | string | false | | | -| `job_id` | string | false | | | -| `metadata` | array of [codersdk.WorkspaceResourceMetadata](#codersdkworkspaceresourcemetadata) | false | | | -| `name` | string | false | | | -| `type` | string | false | | | -| `workspace_transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`agents`|array of [codersdk.WorkspaceAgent](#codersdkworkspaceagent)|false||| +|`created_at`|string|false||| +|`daily_cost`|integer|false||| +|`hide`|boolean|false||| +|`icon`|string|false||| +|`id`|string|false||| +|`job_id`|string|false||| +|`metadata`|array of [codersdk.WorkspaceResourceMetadata](#codersdkworkspaceresourcemetadata)|false||| +|`name`|string|false||| +|`type`|string|false||| +|`workspace_transition`|[codersdk.WorkspaceTransition](#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -|------------------------|----------| -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| ## codersdk.WorkspaceResourceMetadata @@ -10511,11 +10511,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|---------|----------|--------------|-------------| -| `key` | string | false | | | -| `sensitive` | boolean | false | | | -| `value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`key`|string|false||| +|`sensitive`|boolean|false||| +|`value`|string|false||| ## codersdk.WorkspaceStatus @@ -10527,18 +10527,18 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|-------------| -| `pending` | -| `starting` | -| `running` | -| `stopping` | -| `stopped` | -| `failed` | -| `canceling` | -| `canceled` | -| `deleting` | -| `deleted` | +|Value| +|---| +|`pending`| +|`starting`| +|`running`| +|`stopping`| +|`stopped`| +|`failed`| +|`canceling`| +|`canceled`| +|`deleting`| +|`deleted`| ## codersdk.WorkspaceTransition @@ -10550,11 +10550,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| #### Enumerated Values -| Value | -|----------| -| `start` | -| `stop` | -| `delete` | +|Value| +|---| +|`start`| +|`stop`| +|`delete`| ## codersdk.WorkspacesResponse @@ -10802,10 +10802,10 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|---------------------------------------------------|----------|--------------|-------------| -| `count` | integer | false | | | -| `workspaces` | array of [codersdk.Workspace](#codersdkworkspace) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`count`|integer|false||| +|`workspaces`|array of [codersdk.Workspace](#codersdkworkspace)|false||| ## derp.BytesSentRecv @@ -10819,11 +10819,11 @@ If the schedule is empty, the user will be updated to use the default schedule.| ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|----------------------------------|----------|--------------|----------------------------------------------------------------------| -| `key` | [key.NodePublic](#keynodepublic) | false | | Key is the public key of the client which sent/received these bytes. | -| `recv` | integer | false | | | -| `sent` | integer | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`key`|[key.NodePublic](#keynodepublic)|false||Key is the public key of the client which sent/received these bytes.| +|`recv`|integer|false||| +|`sent`|integer|false||| ## derp.ServerInfoMessage @@ -10853,26 +10853,26 @@ Zero means unspecified. There might be a limit, but the client need not try to r #### Enumerated Values -| Value | -|------------| -| `EUNKNOWN` | -| `EWP01` | -| `EWP02` | -| `EWP04` | -| `EDB01` | -| `EDB02` | -| `EWS01` | -| `EWS02` | -| `EWS03` | -| `EACS01` | -| `EACS02` | -| `EACS03` | -| `EACS04` | -| `EDERP01` | -| `EDERP02` | -| `EPD01` | -| `EPD02` | -| `EPD03` | +|Value| +|---| +|`EUNKNOWN`| +|`EWP01`| +|`EWP02`| +|`EWP04`| +|`EDB01`| +|`EDB02`| +|`EWS01`| +|`EWS02`| +|`EWS03`| +|`EACS01`| +|`EACS02`| +|`EACS03`| +|`EACS04`| +|`EDERP01`| +|`EDERP02`| +|`EPD01`| +|`EPD02`| +|`EPD03`| ## health.Message @@ -10885,10 +10885,10 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|----------------------------|----------|--------------|-------------| -| `code` | [health.Code](#healthcode) | false | | | -| `message` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`code`|[health.Code](#healthcode)|false||| +|`message`|string|false||| ## health.Severity @@ -10900,11 +10900,11 @@ Zero means unspecified. There might be a limit, but the client need not try to r #### Enumerated Values -| Value | -|-----------| -| `ok` | -| `warning` | -| `error` | +|Value| +|---| +|`ok`| +|`warning`| +|`error`| ## healthsdk.AccessURLReport @@ -10929,25 +10929,25 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|-------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `access_url` | string | false | | | -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `healthz_response` | string | false | | | -| `reachable` | boolean | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `status_code` | integer | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_url`|string|false||| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`healthz_response`|string|false||| +|`reachable`|boolean|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`status_code`|integer|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DERPHealthReport @@ -11176,26 +11176,26 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|----------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `netcheck` | [netcheck.Report](#netcheckreport) | false | | | -| `netcheck_err` | string | false | | | -| `netcheck_logs` | array of string | false | | | -| `regions` | object | false | | | -| » `[any property]` | [healthsdk.DERPRegionReport](#healthsdkderpregionreport) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`netcheck`|[netcheck.Report](#netcheckreport)|false||| +|`netcheck_err`|string|false||| +|`netcheck_logs`|array of string|false||| +|`regions`|object|false||| +|» `[any property]`|[healthsdk.DERPRegionReport](#healthsdkderpregionreport)|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DERPNodeReport @@ -11253,29 +11253,29 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|--------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `can_exchange_messages` | boolean | false | | | -| `client_errs` | array of array | false | | | -| `client_logs` | array of array | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `node` | [tailcfg.DERPNode](#tailcfgderpnode) | false | | | -| `node_info` | [derp.ServerInfoMessage](#derpserverinfomessage) | false | | | -| `round_trip_ping` | string | false | | | -| `round_trip_ping_ms` | integer | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `stun` | [healthsdk.STUNReport](#healthsdkstunreport) | false | | | -| `uses_websocket` | boolean | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`can_exchange_messages`|boolean|false||| +|`client_errs`|array of array|false||| +|`client_logs`|array of array|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`node`|[tailcfg.DERPNode](#tailcfgderpnode)|false||| +|`node_info`|[derp.ServerInfoMessage](#derpserverinfomessage)|false||| +|`round_trip_ping`|string|false||| +|`round_trip_ping_ms`|integer|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`stun`|[healthsdk.STUNReport](#healthsdkstunreport)|false||| +|`uses_websocket`|boolean|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DERPRegionReport @@ -11370,22 +11370,22 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `node_reports` | array of [healthsdk.DERPNodeReport](#healthsdkderpnodereport) | false | | | -| `region` | [tailcfg.DERPRegion](#tailcfgderpregion) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`node_reports`|array of [healthsdk.DERPNodeReport](#healthsdkderpnodereport)|false||| +|`region`|[tailcfg.DERPRegion](#tailcfgderpregion)|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.DatabaseReport @@ -11410,25 +11410,25 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|-------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `latency` | string | false | | | -| `latency_ms` | integer | false | | | -| `reachable` | boolean | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `threshold_ms` | integer | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`latency`|string|false||| +|`latency_ms`|integer|false||| +|`reachable`|boolean|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`threshold_ms`|integer|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.HealthSection @@ -11440,14 +11440,14 @@ Zero means unspecified. There might be a limit, but the client need not try to r #### Enumerated Values -| Value | -|----------------------| -| `DERP` | -| `AccessURL` | -| `Websocket` | -| `Database` | -| `WorkspaceProxy` | -| `ProvisionerDaemons` | +|Value| +|---| +|`DERP`| +|`AccessURL`| +|`Websocket`| +|`Database`| +|`WorkspaceProxy`| +|`ProvisionerDaemons`| ## healthsdk.HealthSettings @@ -11461,9 +11461,9 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------------|-------------------------------------------------------------|----------|--------------|-------------| -| `dismissed_healthchecks` | array of [healthsdk.HealthSection](#healthsdkhealthsection) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed_healthchecks`|array of [healthsdk.HealthSection](#healthsdkhealthsection)|false||| ## healthsdk.HealthcheckReport @@ -11841,26 +11841,26 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------------|--------------------------------------------------------------------------|----------|--------------|-------------------------------------------------------------------------------------| -| `access_url` | [healthsdk.AccessURLReport](#healthsdkaccessurlreport) | false | | | -| `coder_version` | string | false | | The Coder version of the server that the report was generated on. | -| `database` | [healthsdk.DatabaseReport](#healthsdkdatabasereport) | false | | | -| `derp` | [healthsdk.DERPHealthReport](#healthsdkderphealthreport) | false | | | -| `healthy` | boolean | false | | Healthy is true if the report returns no errors. Deprecated: use `Severity` instead | -| `provisioner_daemons` | [healthsdk.ProvisionerDaemonsReport](#healthsdkprovisionerdaemonsreport) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | Severity indicates the status of Coder health. | -| `time` | string | false | | Time is the time the report was generated at. | -| `websocket` | [healthsdk.WebsocketReport](#healthsdkwebsocketreport) | false | | | -| `workspace_proxy` | [healthsdk.WorkspaceProxyReport](#healthsdkworkspaceproxyreport) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_url`|[healthsdk.AccessURLReport](#healthsdkaccessurlreport)|false||| +|`coder_version`|string|false||The Coder version of the server that the report was generated on.| +|`database`|[healthsdk.DatabaseReport](#healthsdkdatabasereport)|false||| +|`derp`|[healthsdk.DERPHealthReport](#healthsdkderphealthreport)|false||| +|`healthy`|boolean|false||Healthy is true if the report returns no errors. Deprecated: use `Severity` instead| +|`provisioner_daemons`|[healthsdk.ProvisionerDaemonsReport](#healthsdkprovisionerdaemonsreport)|false||| +|`severity`|[health.Severity](#healthseverity)|false||Severity indicates the status of Coder health.| +|`time`|string|false||Time is the time the report was generated at.| +|`websocket`|[healthsdk.WebsocketReport](#healthsdkwebsocketreport)|false||| +|`workspace_proxy`|[healthsdk.WorkspaceProxyReport](#healthsdkworkspaceproxyreport)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.ProvisionerDaemonsReport @@ -11923,21 +11923,21 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|-------------------------------------------------------------------------------------------|----------|--------------|-------------| -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `items` | array of [healthsdk.ProvisionerDaemonsReportItem](#healthsdkprovisionerdaemonsreportitem) | false | | | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`items`|array of [healthsdk.ProvisionerDaemonsReportItem](#healthsdkprovisionerdaemonsreportitem)|false||| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.ProvisionerDaemonsReportItem @@ -11987,10 +11987,10 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|----------------------------------------------------------|----------|--------------|-------------| -| `provisioner_daemon` | [codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`provisioner_daemon`|[codersdk.ProvisionerDaemon](#codersdkprovisionerdaemon)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| ## healthsdk.STUNReport @@ -12004,11 +12004,11 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------|---------|----------|--------------|-------------| -| `canSTUN` | boolean | false | | | -| `enabled` | boolean | false | | | -| `error` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`canSTUN`|boolean|false||| +|`enabled`|boolean|false||| +|`error`|string|false||| ## healthsdk.UpdateHealthSettings @@ -12022,9 +12022,9 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------------|-------------------------------------------------------------|----------|--------------|-------------| -| `dismissed_healthchecks` | array of [healthsdk.HealthSection](#healthsdkhealthsection) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed_healthchecks`|array of [healthsdk.HealthSection](#healthsdkhealthsection)|false||| ## healthsdk.WebsocketReport @@ -12047,23 +12047,23 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|-------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `body` | string | false | | | -| `code` | integer | false | | | -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`body`|string|false||| +|`code`|integer|false||| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## healthsdk.WorkspaceProxyReport @@ -12115,22 +12115,22 @@ Zero means unspecified. There might be a limit, but the client need not try to r ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|------------------------------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------| -| `dismissed` | boolean | false | | | -| `error` | string | false | | | -| `healthy` | boolean | false | | Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead. | -| `severity` | [health.Severity](#healthseverity) | false | | | -| `warnings` | array of [health.Message](#healthmessage) | false | | | -| `workspace_proxies` | [codersdk.RegionsResponse-codersdk_WorkspaceProxy](#codersdkregionsresponse-codersdk_workspaceproxy) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`dismissed`|boolean|false||| +|`error`|string|false||| +|`healthy`|boolean|false||Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.| +|`severity`|[health.Severity](#healthseverity)|false||| +|`warnings`|array of [health.Message](#healthmessage)|false||| +|`workspace_proxies`|[codersdk.RegionsResponse-codersdk_WorkspaceProxy](#codersdkregionsresponse-codersdk_workspaceproxy)|false||| #### Enumerated Values -| Property | Value | -|------------|-----------| -| `severity` | `ok` | -| `severity` | `warning` | -| `severity` | `error` | +|Property|Value| +|---|---| +|`severity`|`ok`| +|`severity`|`warning`| +|`severity`|`error`| ## key.NodePublic @@ -12179,30 +12179,30 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|---------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------| -| `captivePortal` | string | false | | Captiveportal is set when we think there's a captive portal that is intercepting HTTP traffic. | -| `globalV4` | string | false | | ip:port of global IPv4 | -| `globalV6` | string | false | | [ip]:port of global IPv6 | -| `hairPinning` | string | false | | Hairpinning is whether the router supports communicating between two local devices through the NATted public IP address (on IPv4). | -| `icmpv4` | boolean | false | | an ICMPv4 round trip completed | -| `ipv4` | boolean | false | | an IPv4 STUN round trip completed | -| `ipv4CanSend` | boolean | false | | an IPv4 packet was able to be sent | -| `ipv6` | boolean | false | | an IPv6 STUN round trip completed | -| `ipv6CanSend` | boolean | false | | an IPv6 packet was able to be sent | -| `mappingVariesByDestIP` | string | false | | Mappingvariesbydestip is whether STUN results depend which STUN server you're talking to (on IPv4). | -| `oshasIPv6` | boolean | false | | could bind a socket to ::1 | -| `pcp` | string | false | | Pcp is whether PCP appears present on the LAN. Empty means not checked. | -| `pmp` | string | false | | Pmp is whether NAT-PMP appears present on the LAN. Empty means not checked. | -| `preferredDERP` | integer | false | | or 0 for unknown | -| `regionLatency` | object | false | | keyed by DERP Region ID | -| » `[any property]` | integer | false | | | -| `regionV4Latency` | object | false | | keyed by DERP Region ID | -| » `[any property]` | integer | false | | | -| `regionV6Latency` | object | false | | keyed by DERP Region ID | -| » `[any property]` | integer | false | | | -| `udp` | boolean | false | | a UDP STUN round trip completed | -| `upnP` | string | false | | Upnp is whether UPnP appears present on the LAN. Empty means not checked. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`captivePortal`|string|false||Captiveportal is set when we think there's a captive portal that is intercepting HTTP traffic.| +|`globalV4`|string|false||ip:port of global IPv4| +|`globalV6`|string|false||[ip]:port of global IPv6| +|`hairPinning`|string|false||Hairpinning is whether the router supports communicating between two local devices through the NATted public IP address (on IPv4).| +|`icmpv4`|boolean|false||an ICMPv4 round trip completed| +|`ipv4`|boolean|false||an IPv4 STUN round trip completed| +|`ipv4CanSend`|boolean|false||an IPv4 packet was able to be sent| +|`ipv6`|boolean|false||an IPv6 STUN round trip completed| +|`ipv6CanSend`|boolean|false||an IPv6 packet was able to be sent| +|`mappingVariesByDestIP`|string|false||Mappingvariesbydestip is whether STUN results depend which STUN server you're talking to (on IPv4).| +|`oshasIPv6`|boolean|false||could bind a socket to ::1| +|`pcp`|string|false||Pcp is whether PCP appears present on the LAN. Empty means not checked.| +|`pmp`|string|false||Pmp is whether NAT-PMP appears present on the LAN. Empty means not checked.| +|`preferredDERP`|integer|false||or 0 for unknown| +|`regionLatency`|object|false||keyed by DERP Region ID| +|» `[any property]`|integer|false||| +|`regionV4Latency`|object|false||keyed by DERP Region ID| +|» `[any property]`|integer|false||| +|`regionV6Latency`|object|false||keyed by DERP Region ID| +|» `[any property]`|integer|false||| +|`udp`|boolean|false||a UDP STUN round trip completed| +|`upnP`|string|false||Upnp is whether UPnP appears present on the LAN. Empty means not checked.| ## oauth2.Token @@ -12218,10 +12218,10 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `access_token` | string | false | | Access token is the token that authorizes and authenticates the requests. | -| `expires_in` | integer | false | | Expires in is the OAuth2 wire format "expires_in" field, which specifies how many seconds later the token expires, relative to an unknown time base approximately around "now". It is the application's responsibility to populate `Expiry` from `ExpiresIn` when required. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_token`|string|false||Access token is the token that authorizes and authenticates the requests.| +|`expires_in`|integer|false||Expires in is the OAuth2 wire format "expires_in" field, which specifies how many seconds later the token expires, relative to an unknown time base approximately around "now". It is the application's responsibility to populate `Expiry` from `ExpiresIn` when required.| |`expiry`|string|false||Expiry is the optional expiration time of the access token. If zero, [TokenSource] implementations will reuse the same token forever and RefreshToken or equivalent mechanisms for that TokenSource will not be used.| |`refresh_token`|string|false||Refresh token is a token that's used by the application (as opposed to the user) to refresh the access token if it expires.| @@ -12248,9 +12248,9 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|--------|----------|--------------|-------------| -| `[any property]` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[any property]`|string|false||| ## serpent.Group @@ -12270,12 +12270,12 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|--------------------------------|----------|--------------|-------------| -| `description` | string | false | | | -| `name` | string | false | | | -| `parent` | [serpent.Group](#serpentgroup) | false | | | -| `yaml` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`description`|string|false||| +|`name`|string|false||| +|`parent`|[serpent.Group](#serpentgroup)|false||| +|`yaml`|string|false||| ## serpent.HostPort @@ -12288,10 +12288,10 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|--------|--------|----------|--------------|-------------| -| `host` | string | false | | | -| `port` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`host`|string|false||| +|`port`|string|false||| ## serpent.Option @@ -12359,22 +12359,22 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------|--------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------| -| `annotations` | [serpent.Annotations](#serpentannotations) | false | | Annotations enable extensions to serpent higher up in the stack. It's useful for help formatting and documentation generation. | -| `default` | string | false | | Default is parsed into Value if set. | -| `description` | string | false | | | -| `env` | string | false | | Env is the environment variable used to configure this option. If unset, environment configuring is disabled. | -| `flag` | string | false | | Flag is the long name of the flag used to configure this option. If unset, flag configuring is disabled. | -| `flag_shorthand` | string | false | | Flag shorthand is the one-character shorthand for the flag. If unset, no shorthand is used. | -| `group` | [serpent.Group](#serpentgroup) | false | | Group is a group hierarchy that helps organize this option in help, configs and other documentation. | -| `hidden` | boolean | false | | | -| `name` | string | false | | | -| `required` | boolean | false | | Required means this value must be set by some means. It requires `ValueSource != ValueSourceNone` If `Default` is set, then `Required` is ignored. | -| `use_instead` | array of [serpent.Option](#serpentoption) | false | | Use instead is a list of options that should be used instead of this one. The field is used to generate a deprecation warning. | -| `value` | any | false | | Value includes the types listed in values.go. | -| `value_source` | [serpent.ValueSource](#serpentvaluesource) | false | | | -| `yaml` | string | false | | Yaml is the YAML key used to configure this option. If unset, YAML configuring is disabled. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`annotations`|[serpent.Annotations](#serpentannotations)|false||Annotations enable extensions to serpent higher up in the stack. It's useful for help formatting and documentation generation.| +|`default`|string|false||Default is parsed into Value if set.| +|`description`|string|false||| +|`env`|string|false||Env is the environment variable used to configure this option. If unset, environment configuring is disabled.| +|`flag`|string|false||Flag is the long name of the flag used to configure this option. If unset, flag configuring is disabled.| +|`flag_shorthand`|string|false||Flag shorthand is the one-character shorthand for the flag. If unset, no shorthand is used.| +|`group`|[serpent.Group](#serpentgroup)|false||Group is a group hierarchy that helps organize this option in help, configs and other documentation.| +|`hidden`|boolean|false||| +|`name`|string|false||| +|`required`|boolean|false||Required means this value must be set by some means. It requires `ValueSource != ValueSourceNone` If `Default` is set, then `Required` is ignored.| +|`use_instead`|array of [serpent.Option](#serpentoption)|false||Use instead is a list of options that should be used instead of this one. The field is used to generate a deprecation warning.| +|`value`|any|false||Value includes the types listed in values.go.| +|`value_source`|[serpent.ValueSource](#serpentvaluesource)|false||| +|`yaml`|string|false||Yaml is the YAML key used to configure this option. If unset, YAML configuring is disabled.| ## serpent.Regexp @@ -12416,9 +12416,9 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|---------------------------------------------------------------------|----------|--------------|-------------| -| `value` | array of [codersdk.ExternalAuthConfig](#codersdkexternalauthconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`value`|array of [codersdk.ExternalAuthConfig](#codersdkexternalauthconfig)|false||| ## serpent.Struct-array_codersdk_LinkConfig @@ -12436,9 +12436,9 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|-----------------------------------------------------|----------|--------------|-------------| -| `value` | array of [codersdk.LinkConfig](#codersdklinkconfig) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`value`|array of [codersdk.LinkConfig](#codersdklinkconfig)|false||| ## serpent.URL @@ -12460,19 +12460,19 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|------------------------------|----------|--------------|----------------------------------------------------| -| `forceQuery` | boolean | false | | append a query ('?') even if RawQuery is empty | -| `fragment` | string | false | | fragment for references, without '#' | -| `host` | string | false | | host or host:port (see Hostname and Port methods) | -| `omitHost` | boolean | false | | do not emit empty host (authority) | -| `opaque` | string | false | | encoded opaque data | -| `path` | string | false | | path (relative paths may omit leading slash) | -| `rawFragment` | string | false | | encoded fragment hint (see EscapedFragment method) | -| `rawPath` | string | false | | encoded path hint (see EscapedPath method) | -| `rawQuery` | string | false | | encoded query values, without '?' | -| `scheme` | string | false | | | -| `user` | [url.Userinfo](#urluserinfo) | false | | username and password information | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`forceQuery`|boolean|false||append a query ('?') even if RawQuery is empty| +|`fragment`|string|false||fragment for references, without '#'| +|`host`|string|false||host or host:port (see Hostname and Port methods)| +|`omitHost`|boolean|false||do not emit empty host (authority)| +|`opaque`|string|false||encoded opaque data| +|`path`|string|false||path (relative paths may omit leading slash)| +|`rawFragment`|string|false||encoded fragment hint (see EscapedFragment method)| +|`rawPath`|string|false||encoded path hint (see EscapedPath method)| +|`rawQuery`|string|false||encoded query values, without '?'| +|`scheme`|string|false||| +|`user`|[url.Userinfo](#urluserinfo)|false||username and password information| ## serpent.ValueSource @@ -12484,13 +12484,13 @@ None #### Enumerated Values -| Value | -|-----------| -| `` | -| `flag` | -| `env` | -| `yaml` | -| `default` | +|Value| +|---| +|``| +|`flag`| +|`env`| +|`yaml`| +|`default`| ## tailcfg.DERPHomeParams @@ -12612,10 +12612,10 @@ The numbers are not necessarily contiguous.| ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------|---------|----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `canPort80` | boolean | false | | Canport80 specifies whether this DERP node is accessible over HTTP on port 80 specifically. This is used for captive portal checks. | -| `certName` | string | false | | Certname optionally specifies the expected TLS cert common name. If empty, HostName is used. If CertName is non-empty, HostName is only used for the TCP dial (if IPv4/IPv6 are not present) + TLS ClientHello. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`canPort80`|boolean|false||Canport80 specifies whether this DERP node is accessible over HTTP on port 80 specifically. This is used for captive portal checks.| +|`certName`|string|false||Certname optionally specifies the expected TLS cert common name. If empty, HostName is used. If CertName is non-empty, HostName is only used for the TCP dial (if IPv4/IPv6 are not present) + TLS ClientHello.| |`derpport`|integer|false||Derpport optionally provides an alternate TLS port number for the DERP HTTPS server. If zero, 443 is used.| |`forceHTTP`|boolean|false||Forcehttp is used by unit tests to force HTTP. It should not be set by users.| @@ -12661,10 +12661,10 @@ It is required but need not be unique; multiple nodes may have the same HostName ### Properties -| Name | Type | Required | Restrictions | Description | -|-----------------|---------|----------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `avoid` | boolean | false | | Avoid is whether the client should avoid picking this as its home region. The region should only be used if a peer is there. Clients already using this region as their home should migrate away to a new region without Avoid set. | -| `embeddedRelay` | boolean | false | | Embeddedrelay is true when the region is bundled with the Coder control plane. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`avoid`|boolean|false||Avoid is whether the client should avoid picking this as its home region. The region should only be used if a peer is there. Clients already using this region as their home should migrate away to a new region without Avoid set.| +|`embeddedRelay`|boolean|false||Embeddedrelay is true when the region is bundled with the Coder control plane.| |`nodes`|array of [tailcfg.DERPNode](#tailcfgderpnode)|false||Nodes are the DERP nodes running in this region, in priority order for the current client. Client TLS connections should ideally only go to the first entry (falling back to the second if necessary). STUN packets should go to the first 1 or 2. If nodes within a region route packets amongst themselves, but not to other regions. That said, each user/domain should get a the same preferred node order, so if all nodes for a user/network pick the first one (as they should, when things are healthy), the inter-cluster routing is minimal to zero.| |`regionCode`|string|false||Regioncode is a short name for the region. It's usually a popular city or airport code in the region: "nyc", "sf", "sin", "fra", etc.| @@ -12695,10 +12695,10 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|---------|----------|--------------|-----------------------------------| -| `uuid` | string | false | | | -| `valid` | boolean | false | | Valid is true if UUID is not NULL | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`uuid`|string|false||| +|`valid`|boolean|false||Valid is true if UUID is not NULL| ## workspaceapps.AccessMethod @@ -12710,11 +12710,11 @@ None #### Enumerated Values -| Value | -|-------------| -| `path` | -| `subdomain` | -| `terminal` | +|Value| +|---| +|`path`| +|`subdomain`| +|`terminal`| ## workspaceapps.IssueTokenRequest @@ -12739,14 +12739,14 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------------|------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------------------------------| -| `app_hostname` | string | false | | App hostname is the optional hostname for subdomain apps on the external proxy. It must start with an asterisk. | -| `app_path` | string | false | | App path is the path of the user underneath the app base path. | -| `app_query` | string | false | | App query is the query parameters the user provided in the app request. | -| `app_request` | [workspaceapps.Request](#workspaceappsrequest) | false | | | -| `path_app_base_url` | string | false | | Path app base URL is required. | -| `session_token` | string | false | | Session token is the session token provided by the user. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`app_hostname`|string|false||App hostname is the optional hostname for subdomain apps on the external proxy. It must start with an asterisk.| +|`app_path`|string|false||App path is the path of the user underneath the app base path.| +|`app_query`|string|false||App query is the query parameters the user provided in the app request.| +|`app_request`|[workspaceapps.Request](#workspaceappsrequest)|false||| +|`path_app_base_url`|string|false||Path app base URL is required.| +|`session_token`|string|false||Session token is the session token provided by the user.| ## workspaceapps.Request @@ -12764,15 +12764,15 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------|----------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `access_method` | [workspaceapps.AccessMethod](#workspaceappsaccessmethod) | false | | | -| `agent_name_or_id` | string | false | | Agent name or ID is not required if the workspace has only one agent. | -| `app_prefix` | string | false | | Prefix is the prefix of the subdomain app URL. Prefix should have a trailing "---" if set. | -| `app_slug_or_port` | string | false | | | -| `base_path` | string | false | | Base path of the app. For path apps, this is the path prefix in the router for this particular app. For subdomain apps, this should be "/". This is used for setting the cookie path. | -| `username_or_id` | string | false | | For the following fields, if the AccessMethod is AccessMethodTerminal, then only AgentNameOrID may be set and it must be a UUID. The other fields must be left blank. | -| `workspace_name_or_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_method`|[workspaceapps.AccessMethod](#workspaceappsaccessmethod)|false||| +|`agent_name_or_id`|string|false||Agent name or ID is not required if the workspace has only one agent.| +|`app_prefix`|string|false||Prefix is the prefix of the subdomain app URL. Prefix should have a trailing "---" if set.| +|`app_slug_or_port`|string|false||| +|`base_path`|string|false||Base path of the app. For path apps, this is the path prefix in the router for this particular app. For subdomain apps, this should be "/". This is used for setting the cookie path.| +|`username_or_id`|string|false||For the following fields, if the AccessMethod is AccessMethodTerminal, then only AgentNameOrID may be set and it must be a UUID. The other fields must be left blank.| +|`workspace_name_or_id`|string|false||| ## workspaceapps.StatsReport @@ -12792,17 +12792,17 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------------|----------------------------------------------------------|----------|--------------|-----------------------------------------------------------------------------------------| -| `access_method` | [workspaceapps.AccessMethod](#workspaceappsaccessmethod) | false | | | -| `agent_id` | string | false | | | -| `requests` | integer | false | | | -| `session_ended_at` | string | false | | Updated periodically while app is in use active and when the last connection is closed. | -| `session_id` | string | false | | | -| `session_started_at` | string | false | | | -| `slug_or_port` | string | false | | | -| `user_id` | string | false | | | -| `workspace_id` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_method`|[workspaceapps.AccessMethod](#workspaceappsaccessmethod)|false||| +|`agent_id`|string|false||| +|`requests`|integer|false||| +|`session_ended_at`|string|false||Updated periodically while app is in use active and when the last connection is closed.| +|`session_id`|string|false||| +|`session_started_at`|string|false||| +|`slug_or_port`|string|false||| +|`user_id`|string|false||| +|`workspace_id`|string|false||| ## workspacesdk.AgentConnectionInfo @@ -12875,12 +12875,12 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|------------------------------|------------------------------------|----------|--------------|-------------| -| `derp_force_websockets` | boolean | false | | | -| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | | -| `disable_direct_connections` | boolean | false | | | -| `hostname_suffix` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`derp_force_websockets`|boolean|false||| +|`derp_map`|[tailcfg.DERPMap](#tailcfgderpmap)|false||| +|`disable_direct_connections`|boolean|false||| +|`hostname_suffix`|string|false||| ## wsproxysdk.CryptoKeysResponse @@ -12900,9 +12900,9 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|---------------|---------------------------------------------------|----------|--------------|-------------| -| `crypto_keys` | array of [codersdk.CryptoKey](#codersdkcryptokey) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`crypto_keys`|array of [codersdk.CryptoKey](#codersdkcryptokey)|false||| ## wsproxysdk.DeregisterWorkspaceProxyRequest @@ -12914,9 +12914,9 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------|--------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `replica_id` | string | false | | Replica ID is a unique identifier for the replica of the proxy that is deregistering. It should be generated by the client on startup and should've already been passed to the register endpoint. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`replica_id`|string|false||Replica ID is a unique identifier for the replica of the proxy that is deregistering. It should be generated by the client on startup and should've already been passed to the register endpoint.| ## wsproxysdk.IssueSignedAppTokenResponse @@ -12928,9 +12928,9 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|--------------------|--------|----------|--------------|-------------------------------------------------------------| -| `signed_token_str` | string | false | | Signed token str should be set as a cookie on the response. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`signed_token_str`|string|false||Signed token str should be set as a cookie on the response.| ## wsproxysdk.RegisterWorkspaceProxyRequest @@ -12950,12 +12950,12 @@ None ### Properties -| Name | Type | Required | Restrictions | Description | -|----------------|---------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------| -| `access_url` | string | false | | Access URL that hits the workspace proxy api. | -| `derp_enabled` | boolean | false | | Derp enabled indicates whether the proxy should be included in the DERP map or not. | -| `derp_only` | boolean | false | | Derp only indicates whether the proxy should only be included in the DERP map and should not be used for serving apps. | -| `hostname` | string | false | | Hostname is the OS hostname of the machine that the proxy is running on. This is only used for tracking purposes in the replicas table. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`access_url`|string|false||Access URL that hits the workspace proxy api.| +|`derp_enabled`|boolean|false||Derp enabled indicates whether the proxy should be included in the DERP map or not.| +|`derp_only`|boolean|false||Derp only indicates whether the proxy should only be included in the DERP map and should not be used for serving apps.| +|`hostname`|string|false||Hostname is the OS hostname of the machine that the proxy is running on. This is only used for tracking purposes in the replicas table.| |`replica_error`|string|false||Replica error is the error that the replica encountered when trying to dial it's peers. This is stored in the replicas table for debugging purposes but does not affect the proxy's ability to register. This value is only stored on subsequent requests to the register endpoint, not the first request.| |`replica_id`|string|false||Replica ID is a unique identifier for the replica of the proxy that is registering. It should be generated by the client on startup and persisted (in memory only) until the process is restarted.| @@ -13045,13 +13045,13 @@ This value is only stored on subsequent requests to the register endpoint, not t ### Properties -| Name | Type | Required | Restrictions | Description | -|-------------------------|-----------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------| -| `derp_force_websockets` | boolean | false | | | -| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | | -| `derp_mesh_key` | string | false | | | -| `derp_region_id` | integer | false | | | -| `sibling_replicas` | array of [codersdk.Replica](#codersdkreplica) | false | | Sibling replicas is a list of all other replicas of the proxy that have not timed out. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`derp_force_websockets`|boolean|false||| +|`derp_map`|[tailcfg.DERPMap](#tailcfgderpmap)|false||| +|`derp_mesh_key`|string|false||| +|`derp_region_id`|integer|false||| +|`sibling_replicas`|array of [codersdk.Replica](#codersdkreplica)|false||Sibling replicas is a list of all other replicas of the proxy that have not timed out.| ## wsproxysdk.ReportAppStatsRequest @@ -13075,6 +13075,6 @@ This value is only stored on subsequent requests to the register endpoint, not t ### Properties -| Name | Type | Required | Restrictions | Description | -|---------|-----------------------------------------------------------------|----------|--------------|-------------| -| `stats` | array of [workspaceapps.StatsReport](#workspaceappsstatsreport) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`stats`|array of [workspaceapps.StatsReport](#workspaceappsstatsreport)|false||| diff --git a/docs/reference/api/templates.md b/docs/reference/api/templates.md index 4c21b3644be2d..57e34f34d8687 100644 --- a/docs/reference/api/templates.md +++ b/docs/reference/api/templates.md @@ -19,9 +19,9 @@ To include deprecated templates, specify `deprecated:true` in the search query. ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -86,26 +86,26 @@ To include deprecated templates, specify `deprecated:true` in the search query. ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Template](schemas.md#codersdktemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Template](schemas.md#codersdktemplate)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|--------------------------------------|------------------------------------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» active_user_count` | integer | false | | Active user count is set to -1 when loading. | -| `» active_version_id` | string(uuid) | false | | | -| `» activity_bump_ms` | integer | false | | | -| `» allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. | -| `» allow_user_autostop` | boolean | false | | | -| `» allow_user_cancel_workspace_jobs` | boolean | false | | | -| `» autostart_requirement` | [codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement) | false | | | -| `»» days_of_week` | array | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. | -| `» autostop_requirement` | [codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» active_user_count`|integer|false||Active user count is set to -1 when loading.| +|`» active_version_id`|string(uuid)|false||| +|`» activity_bump_ms`|integer|false||| +|`» allow_user_autostart`|boolean|false||Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature.| +|`» allow_user_autostop`|boolean|false||| +|`» allow_user_cancel_workspace_jobs`|boolean|false||| +|`» autostart_requirement`|[codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement)|false||| +|`»» days_of_week`|array|false||Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed.| +|`» autostop_requirement`|[codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement)|false||Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature.| |`»» days_of_week`|array|false||Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice. Restarts will only happen on weekdays in this list on weeks which line up with Weeks.| |`»» weeks`|integer|false||Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc.| @@ -139,13 +139,13 @@ Restarts will only happen on weekdays in this list on weeks which line up with W #### Enumerated Values -| Property | Value | -|------------------------|-----------------| -| `max_port_share_level` | `owner` | -| `max_port_share_level` | `authenticated` | -| `max_port_share_level` | `organization` | -| `max_port_share_level` | `public` | -| `provisioner` | `terraform` | +|Property|Value| +|---|---| +|`max_port_share_level`|`owner`| +|`max_port_share_level`|`authenticated`| +|`max_port_share_level`|`organization`| +|`max_port_share_level`|`public`| +|`provisioner`|`terraform`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -200,10 +200,10 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|----------------------------------------------------------------------------|----------|-----------------| -| `organization` | path | string | true | Organization ID | -| `body` | body | [codersdk.CreateTemplateRequest](schemas.md#codersdkcreatetemplaterequest) | true | Request body | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string|true|Organization ID| +|`body`|body|[codersdk.CreateTemplateRequest](schemas.md#codersdkcreatetemplaterequest)|true|Request body| ### Example responses @@ -266,9 +266,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Template](schemas.md#codersdktemplate)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -287,9 +287,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| ### Example responses @@ -313,24 +313,24 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateExample](schemas.md#codersdktemplateexample) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateExample](schemas.md#codersdktemplateexample)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------|--------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» description` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» markdown` | string | false | | | -| `» name` | string | false | | | -| `» tags` | array | false | | | -| `» url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» description`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» markdown`|string|false||| +|`» name`|string|false||| +|`» tags`|array|false||| +|`» url`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -349,10 +349,10 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|--------------|----------|-----------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `templatename` | path | string | true | Template name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`templatename`|path|string|true|Template name| ### Example responses @@ -415,9 +415,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Template](schemas.md#codersdktemplate)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -436,11 +436,11 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Parameters -| Name | In | Type | Required | Description | -|-----------------------|------|--------------|----------|-----------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `templatename` | path | string | true | Template name | -| `templateversionname` | path | string | true | Template version name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`templatename`|path|string|true|Template name| +|`templateversionname`|path|string|true|Template version name| ### Example responses @@ -513,9 +513,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TemplateVersion](schemas.md#codersdktemplateversion)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -534,11 +534,11 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Parameters -| Name | In | Type | Required | Description | -|-----------------------|------|--------------|----------|-----------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `templatename` | path | string | true | Template name | -| `templateversionname` | path | string | true | Template version name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`templatename`|path|string|true|Template name| +|`templateversionname`|path|string|true|Template version name| ### Example responses @@ -611,9 +611,9 @@ curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templat ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TemplateVersion](schemas.md#codersdktemplateversion)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -657,10 +657,10 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|------------------------------------------------------------------------------------------|----------|---------------------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `body` | body | [codersdk.CreateTemplateVersionRequest](schemas.md#codersdkcreatetemplateversionrequest) | true | Create template version request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`body`|body|[codersdk.CreateTemplateVersionRequest](schemas.md#codersdkcreatetemplateversionrequest)|true|Create template version request| ### Example responses @@ -733,9 +733,9 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templa ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|----------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.TemplateVersion](schemas.md#codersdktemplateversion)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -819,26 +819,26 @@ To include deprecated templates, specify `deprecated:true` in the search query. ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Template](schemas.md#codersdktemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Template](schemas.md#codersdktemplate)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|--------------------------------------|------------------------------------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» active_user_count` | integer | false | | Active user count is set to -1 when loading. | -| `» active_version_id` | string(uuid) | false | | | -| `» activity_bump_ms` | integer | false | | | -| `» allow_user_autostart` | boolean | false | | Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. | -| `» allow_user_autostop` | boolean | false | | | -| `» allow_user_cancel_workspace_jobs` | boolean | false | | | -| `» autostart_requirement` | [codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement) | false | | | -| `»» days_of_week` | array | false | | Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. | -| `» autostop_requirement` | [codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement) | false | | Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» active_user_count`|integer|false||Active user count is set to -1 when loading.| +|`» active_version_id`|string(uuid)|false||| +|`» activity_bump_ms`|integer|false||| +|`» allow_user_autostart`|boolean|false||Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature.| +|`» allow_user_autostop`|boolean|false||| +|`» allow_user_cancel_workspace_jobs`|boolean|false||| +|`» autostart_requirement`|[codersdk.TemplateAutostartRequirement](schemas.md#codersdktemplateautostartrequirement)|false||| +|`»» days_of_week`|array|false||Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed.| +|`» autostop_requirement`|[codersdk.TemplateAutostopRequirement](schemas.md#codersdktemplateautostoprequirement)|false||Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature.| |`»» days_of_week`|array|false||Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice. Restarts will only happen on weekdays in this list on weeks which line up with Weeks.| |`»» weeks`|integer|false||Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc.| @@ -872,13 +872,13 @@ Restarts will only happen on weekdays in this list on weeks which line up with W #### Enumerated Values -| Property | Value | -|------------------------|-----------------| -| `max_port_share_level` | `owner` | -| `max_port_share_level` | `authenticated` | -| `max_port_share_level` | `organization` | -| `max_port_share_level` | `public` | -| `provisioner` | `terraform` | +|Property|Value| +|---|---| +|`max_port_share_level`|`owner`| +|`max_port_share_level`|`authenticated`| +|`max_port_share_level`|`organization`| +|`max_port_share_level`|`public`| +|`provisioner`|`terraform`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -917,24 +917,24 @@ curl -X GET http://coder-server:8080/api/v2/templates/examples \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateExample](schemas.md#codersdktemplateexample) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateExample](schemas.md#codersdktemplateexample)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------|--------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» description` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» markdown` | string | false | | | -| `» name` | string | false | | | -| `» tags` | array | false | | | -| `» url` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» description`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» markdown`|string|false||| +|`» name`|string|false||| +|`» tags`|array|false||| +|`» url`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -953,9 +953,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template} \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------|----------|-------------| -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -1018,9 +1018,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Template](schemas.md#codersdktemplate)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1039,9 +1039,9 @@ curl -X DELETE http://coder-server:8080/api/v2/templates/{template} \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------|----------|-------------| -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -1062,9 +1062,9 @@ curl -X DELETE http://coder-server:8080/api/v2/templates/{template} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1083,9 +1083,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template} \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------|----------|-------------| -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -1148,9 +1148,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Template](schemas.md#codersdktemplate) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Template](schemas.md#codersdktemplate)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1169,9 +1169,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/daus \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|--------------|----------|-------------| -| `template` | path | string(uuid) | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| ### Example responses @@ -1191,9 +1191,9 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/daus \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DAUsResponse](schemas.md#codersdkdausresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.DAUsResponse](schemas.md#codersdkdausresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1212,13 +1212,13 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions \ ### Parameters -| Name | In | Type | Required | Description | -|--------------------|-------|--------------|----------|---------------------------------------| -| `template` | path | string(uuid) | true | Template ID | -| `after_id` | query | string(uuid) | false | After ID | -| `include_archived` | query | boolean | false | Include archived versions in the list | -| `limit` | query | integer | false | Page limit | -| `offset` | query | integer | false | Page offset | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`after_id`|query|string(uuid)|false|After ID| +|`include_archived`|query|boolean|false|Include archived versions in the list| +|`limit`|query|integer|false|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -1293,81 +1293,81 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateVersion](schemas.md#codersdktemplateversion)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------------------|------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» archived` | boolean | false | | | -| `» created_at` | string(date-time) | false | | | -| `» created_by` | [codersdk.MinimalUser](schemas.md#codersdkminimaluser) | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» id` | string(uuid) | true | | | -| `»» username` | string | true | | | -| `» id` | string(uuid) | false | | | -| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | | -| `»» available_workers` | array | false | | | -| `»» canceled_at` | string(date-time) | false | | | -| `»» completed_at` | string(date-time) | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» error` | string | false | | | -| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | | -| `»» file_id` | string(uuid) | false | | | -| `»» id` | string(uuid) | false | | | -| `»» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | | -| `»»» error` | string | false | | | -| `»»» template_version_id` | string(uuid) | false | | | -| `»»» workspace_build_id` | string(uuid) | false | | | -| `»» metadata` | [codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata) | false | | | -| `»»» template_display_name` | string | false | | | -| `»»» template_icon` | string | false | | | -| `»»» template_id` | string(uuid) | false | | | -| `»»» template_name` | string | false | | | -| `»»» template_version_name` | string | false | | | -| `»»» workspace_id` | string(uuid) | false | | | -| `»»» workspace_name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» queue_position` | integer | false | | | -| `»» queue_size` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | | -| `»» tags` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | | -| `»» worker_id` | string(uuid) | false | | | -| `»» worker_name` | string | false | | | -| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | | -| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. | -| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. | -| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. | -| `» message` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» readme` | string | false | | | -| `» template_id` | string(uuid) | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» warnings` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» archived`|boolean|false||| +|`» created_at`|string(date-time)|false||| +|`» created_by`|[codersdk.MinimalUser](schemas.md#codersdkminimaluser)|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» id`|string(uuid)|true||| +|`»» username`|string|true||| +|`» id`|string(uuid)|false||| +|`» job`|[codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)|false||| +|`»» available_workers`|array|false||| +|`»» canceled_at`|string(date-time)|false||| +|`»» completed_at`|string(date-time)|false||| +|`»» created_at`|string(date-time)|false||| +|`»» error`|string|false||| +|`»» error_code`|[codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode)|false||| +|`»» file_id`|string(uuid)|false||| +|`»» id`|string(uuid)|false||| +|`»» input`|[codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput)|false||| +|`»»» error`|string|false||| +|`»»» template_version_id`|string(uuid)|false||| +|`»»» workspace_build_id`|string(uuid)|false||| +|`»» metadata`|[codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata)|false||| +|`»»» template_display_name`|string|false||| +|`»»» template_icon`|string|false||| +|`»»» template_id`|string(uuid)|false||| +|`»»» template_name`|string|false||| +|`»»» template_version_name`|string|false||| +|`»»» workspace_id`|string(uuid)|false||| +|`»»» workspace_name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» queue_position`|integer|false||| +|`»» queue_size`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» status`|[codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus)|false||| +|`»» tags`|object|false||| +|`»»» [any property]`|string|false||| +|`»» type`|[codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype)|false||| +|`»» worker_id`|string(uuid)|false||| +|`»» worker_name`|string|false||| +|`» matched_provisioners`|[codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners)|false||| +|`»» available`|integer|false||Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped.| +|`»» count`|integer|false||Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags.| +|`»» most_recently_seen`|string(date-time)|false||Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null.| +|`» message`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» readme`|string|false||| +|`» template_id`|string(uuid)|false||| +|`» updated_at`|string(date-time)|false||| +|`» warnings`|array|false||| #### Enumerated Values -| Property | Value | -|--------------|-------------------------------| -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `type` | `template_version_import` | -| `type` | `workspace_build` | -| `type` | `template_version_dry_run` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`type`|`template_version_import`| +|`type`|`workspace_build`| +|`type`|`template_version_dry_run`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1395,10 +1395,10 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/versions \ ### Parameters -| Name | In | Type | Required | Description | -|------------|------|----------------------------------------------------------------------------------------|----------|---------------------------| -| `template` | path | string(uuid) | true | Template ID | -| `body` | body | [codersdk.UpdateActiveTemplateVersion](schemas.md#codersdkupdateactivetemplateversion) | true | Modified template version | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`body`|body|[codersdk.UpdateActiveTemplateVersion](schemas.md#codersdkupdateactivetemplateversion)|true|Modified template version| ### Example responses @@ -1419,9 +1419,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/versions \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1449,10 +1449,10 @@ curl -X POST http://coder-server:8080/api/v2/templates/{template}/versions/archi ### Parameters -| Name | In | Type | Required | Description | -|------------|------|----------------------------------------------------------------------------------------------|----------|-----------------| -| `template` | path | string(uuid) | true | Template ID | -| `body` | body | [codersdk.ArchiveTemplateVersionsRequest](schemas.md#codersdkarchivetemplateversionsrequest) | true | Archive request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`body`|body|[codersdk.ArchiveTemplateVersionsRequest](schemas.md#codersdkarchivetemplateversionsrequest)|true|Archive request| ### Example responses @@ -1473,9 +1473,9 @@ curl -X POST http://coder-server:8080/api/v2/templates/{template}/versions/archi ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1494,10 +1494,10 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions/{templ ### Parameters -| Name | In | Type | Required | Description | -|-----------------------|------|--------------|----------|-----------------------| -| `template` | path | string(uuid) | true | Template ID | -| `templateversionname` | path | string | true | Template version name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`template`|path|string(uuid)|true|Template ID| +|`templateversionname`|path|string|true|Template version name| ### Example responses @@ -1572,81 +1572,81 @@ curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions/{templ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateVersion](schemas.md#codersdktemplateversion)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-----------------------------|------------------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» archived` | boolean | false | | | -| `» created_at` | string(date-time) | false | | | -| `» created_by` | [codersdk.MinimalUser](schemas.md#codersdkminimaluser) | false | | | -| `»» avatar_url` | string(uri) | false | | | -| `»» id` | string(uuid) | true | | | -| `»» username` | string | true | | | -| `» id` | string(uuid) | false | | | -| `» job` | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | false | | | -| `»» available_workers` | array | false | | | -| `»» canceled_at` | string(date-time) | false | | | -| `»» completed_at` | string(date-time) | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» error` | string | false | | | -| `»» error_code` | [codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode) | false | | | -| `»» file_id` | string(uuid) | false | | | -| `»» id` | string(uuid) | false | | | -| `»» input` | [codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput) | false | | | -| `»»» error` | string | false | | | -| `»»» template_version_id` | string(uuid) | false | | | -| `»»» workspace_build_id` | string(uuid) | false | | | -| `»» metadata` | [codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata) | false | | | -| `»»» template_display_name` | string | false | | | -| `»»» template_icon` | string | false | | | -| `»»» template_id` | string(uuid) | false | | | -| `»»» template_name` | string | false | | | -| `»»» template_version_name` | string | false | | | -| `»»» workspace_id` | string(uuid) | false | | | -| `»»» workspace_name` | string | false | | | -| `»» organization_id` | string(uuid) | false | | | -| `»» queue_position` | integer | false | | | -| `»» queue_size` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» status` | [codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus) | false | | | -| `»» tags` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» type` | [codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype) | false | | | -| `»» worker_id` | string(uuid) | false | | | -| `»» worker_name` | string | false | | | -| `» matched_provisioners` | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | false | | | -| `»» available` | integer | false | | Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. | -| `»» count` | integer | false | | Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. | -| `»» most_recently_seen` | string(date-time) | false | | Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. | -| `» message` | string | false | | | -| `» name` | string | false | | | -| `» organization_id` | string(uuid) | false | | | -| `» readme` | string | false | | | -| `» template_id` | string(uuid) | false | | | -| `» updated_at` | string(date-time) | false | | | -| `» warnings` | array | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» archived`|boolean|false||| +|`» created_at`|string(date-time)|false||| +|`» created_by`|[codersdk.MinimalUser](schemas.md#codersdkminimaluser)|false||| +|`»» avatar_url`|string(uri)|false||| +|`»» id`|string(uuid)|true||| +|`»» username`|string|true||| +|`» id`|string(uuid)|false||| +|`» job`|[codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)|false||| +|`»» available_workers`|array|false||| +|`»» canceled_at`|string(date-time)|false||| +|`»» completed_at`|string(date-time)|false||| +|`»» created_at`|string(date-time)|false||| +|`»» error`|string|false||| +|`»» error_code`|[codersdk.JobErrorCode](schemas.md#codersdkjoberrorcode)|false||| +|`»» file_id`|string(uuid)|false||| +|`»» id`|string(uuid)|false||| +|`»» input`|[codersdk.ProvisionerJobInput](schemas.md#codersdkprovisionerjobinput)|false||| +|`»»» error`|string|false||| +|`»»» template_version_id`|string(uuid)|false||| +|`»»» workspace_build_id`|string(uuid)|false||| +|`»» metadata`|[codersdk.ProvisionerJobMetadata](schemas.md#codersdkprovisionerjobmetadata)|false||| +|`»»» template_display_name`|string|false||| +|`»»» template_icon`|string|false||| +|`»»» template_id`|string(uuid)|false||| +|`»»» template_name`|string|false||| +|`»»» template_version_name`|string|false||| +|`»»» workspace_id`|string(uuid)|false||| +|`»»» workspace_name`|string|false||| +|`»» organization_id`|string(uuid)|false||| +|`»» queue_position`|integer|false||| +|`»» queue_size`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» status`|[codersdk.ProvisionerJobStatus](schemas.md#codersdkprovisionerjobstatus)|false||| +|`»» tags`|object|false||| +|`»»» [any property]`|string|false||| +|`»» type`|[codersdk.ProvisionerJobType](schemas.md#codersdkprovisionerjobtype)|false||| +|`»» worker_id`|string(uuid)|false||| +|`»» worker_name`|string|false||| +|`» matched_provisioners`|[codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners)|false||| +|`»» available`|integer|false||Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped.| +|`»» count`|integer|false||Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags.| +|`»» most_recently_seen`|string(date-time)|false||Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null.| +|`» message`|string|false||| +|`» name`|string|false||| +|`» organization_id`|string(uuid)|false||| +|`» readme`|string|false||| +|`» template_id`|string(uuid)|false||| +|`» updated_at`|string(date-time)|false||| +|`» warnings`|array|false||| #### Enumerated Values -| Property | Value | -|--------------|-------------------------------| -| `error_code` | `REQUIRED_TEMPLATE_VARIABLES` | -| `status` | `pending` | -| `status` | `running` | -| `status` | `succeeded` | -| `status` | `canceling` | -| `status` | `canceled` | -| `status` | `failed` | -| `type` | `template_version_import` | -| `type` | `workspace_build` | -| `type` | `template_version_dry_run` | +|Property|Value| +|---|---| +|`error_code`|`REQUIRED_TEMPLATE_VARIABLES`| +|`status`|`pending`| +|`status`|`running`| +|`status`|`succeeded`| +|`status`|`canceling`| +|`status`|`canceled`| +|`status`|`failed`| +|`type`|`template_version_import`| +|`type`|`workspace_build`| +|`type`|`template_version_dry_run`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1665,9 +1665,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion} \ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1740,9 +1740,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TemplateVersion](schemas.md#codersdktemplateversion)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1771,10 +1771,10 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|----------------------------------------------------------------------------------------|----------|--------------------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `body` | body | [codersdk.PatchTemplateVersionRequest](schemas.md#codersdkpatchtemplateversionrequest) | true | Patch template version request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`body`|body|[codersdk.PatchTemplateVersionRequest](schemas.md#codersdkpatchtemplateversionrequest)|true|Patch template version request| ### Example responses @@ -1847,9 +1847,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.TemplateVersion](schemas.md#codersdktemplateversion) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.TemplateVersion](schemas.md#codersdktemplateversion)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1868,9 +1868,9 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1891,9 +1891,9 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1912,9 +1912,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -1935,9 +1935,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1977,10 +1977,10 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|------------------------------------------------------------------------------------------------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `body` | body | [codersdk.CreateTemplateVersionDryRunRequest](schemas.md#codersdkcreatetemplateversiondryrunrequest) | true | Dry-run request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`body`|body|[codersdk.CreateTemplateVersionDryRunRequest](schemas.md#codersdkcreatetemplateversiondryrunrequest)|true|Dry-run request| ### Example responses @@ -2029,9 +2029,9 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2050,10 +2050,10 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `jobID` | path | string(uuid) | true | Job ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| ### Example responses @@ -2102,9 +2102,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ProvisionerJob](schemas.md#codersdkprovisionerjob)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2123,10 +2123,10 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `jobID` | path | string(uuid) | true | Job ID | -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`jobID`|path|string(uuid)|true|Job ID| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2147,9 +2147,9 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2168,13 +2168,13 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Parameters -| Name | In | Type | Required | Description | -|-------------------|-------|--------------|----------|-----------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `jobID` | path | string(uuid) | true | Job ID | -| `before` | query | integer | false | Before Unix timestamp | -| `after` | query | integer | false | After Unix timestamp | -| `follow` | query | boolean | false | Follow log stream | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| +|`before`|query|integer|false|Before Unix timestamp| +|`after`|query|integer|false|After Unix timestamp| +|`follow`|query|boolean|false|Follow log stream| ### Example responses @@ -2195,35 +2195,35 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|----------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» log_level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» log_source` | [codersdk.LogSource](schemas.md#codersdklogsource) | false | | | -| `» output` | string | false | | | -| `» stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» log_level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» log_source`|[codersdk.LogSource](schemas.md#codersdklogsource)|false||| +|`» output`|string|false||| +|`» stage`|string|false||| #### Enumerated Values -| Property | Value | -|--------------|----------------------| -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | -| `log_source` | `provisioner_daemon` | -| `log_source` | `provisioner` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| +|`log_source`|`provisioner_daemon`| +|`log_source`|`provisioner`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2242,10 +2242,10 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `jobID` | path | string(uuid) | true | Job ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| ### Example responses @@ -2261,9 +2261,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.MatchedProvisioners](schemas.md#codersdkmatchedprovisioners)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2282,10 +2282,10 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `jobID` | path | string(uuid) | true | Job ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`jobID`|path|string(uuid)|true|Job ID| ### Example responses @@ -2432,153 +2432,153 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|---------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» agents` | array | false | | | -| `»» api_version` | string | false | | | -| `»» apps` | array | false | | | -| `»»» command` | string | false | | | -| `»»» display_name` | string | false | | Display name is a friendly name for the app. | -| `»»» external` | boolean | false | | External specifies whether the URL should be opened externally on the client or not. | -| `»»» group` | string | false | | | -| `»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»» interval` | integer | false | | Interval specifies the seconds between each health check. | -| `»»»» threshold` | integer | false | | Threshold specifies the number of consecutive failed health checks before returning "unhealthy". | -| `»»»» url` | string | false | | URL specifies the endpoint to check for the app health. | -| `»»» hidden` | boolean | false | | | -| `»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. | -| `»»» id` | string(uuid) | false | | | -| `»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | | -| `»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | | -| `»»» slug` | string | false | | Slug is a unique identifier within the agent. | -| `»»» statuses` | array | false | | Statuses is a list of statuses for the app. | -| `»»»» agent_id` | string(uuid) | false | | | -| `»»»» app_id` | string(uuid) | false | | | -| `»»»» created_at` | string(date-time) | false | | | -| `»»»» icon` | string | false | | Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. | -| `»»»» id` | string(uuid) | false | | | -| `»»»» message` | string | false | | | -| `»»»» needs_user_attention` | boolean | false | | Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. | -| `»»»» state` | [codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate) | false | | | -| `»»»» uri` | string | false | | Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file | -| `»»»» workspace_id` | string(uuid) | false | | | -| `»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. | -| `»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»» architecture` | string | false | | | -| `»» connection_timeout_seconds` | integer | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» directory` | string | false | | | -| `»» disconnected_at` | string(date-time) | false | | | -| `»» display_apps` | array | false | | | -| `»» environment_variables` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» expanded_directory` | string | false | | | -| `»» first_connected_at` | string(date-time) | false | | | -| `»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»» healthy` | boolean | false | | Healthy is true if the agent is healthy. | -| `»»» reason` | string | false | | Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true. | -| `»» id` | string(uuid) | false | | | -| `»» instance_id` | string | false | | | -| `»» last_connected_at` | string(date-time) | false | | | -| `»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»» latency_ms` | number | false | | | -| `»»»» preferred` | boolean | false | | | -| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»» log_sources` | array | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» display_name` | string | false | | | -| `»»» icon` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» workspace_agent_id` | string(uuid) | false | | | -| `»» logs_length` | integer | false | | | -| `»» logs_overflowed` | boolean | false | | | -| `»» name` | string | false | | | -| `»» operating_system` | string | false | | | -| `»» parent_id` | [uuid.NullUUID](schemas.md#uuidnulluuid) | false | | | -| `»»» uuid` | string | false | | | -| `»»» valid` | boolean | false | | Valid is true if UUID is not NULL | -| `»» ready_at` | string(date-time) | false | | | -| `»» resource_id` | string(uuid) | false | | | -| `»» scripts` | array | false | | | -| `»»» cron` | string | false | | | -| `»»» display_name` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» log_path` | string | false | | | -| `»»» log_source_id` | string(uuid) | false | | | -| `»»» run_on_start` | boolean | false | | | -| `»»» run_on_stop` | boolean | false | | | -| `»»» script` | string | false | | | -| `»»» start_blocks_login` | boolean | false | | | -| `»»» timeout` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»» subsystems` | array | false | | | -| `»» troubleshooting_url` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» hide` | boolean | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» job_id` | string(uuid) | false | | | -| `» metadata` | array | false | | | -| `»» key` | string | false | | | -| `»» sensitive` | boolean | false | | | -| `»» value` | string | false | | | -| `» name` | string | false | | | -| `» type` | string | false | | | -| `» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» agents`|array|false||| +|`»» api_version`|string|false||| +|`»» apps`|array|false||| +|`»»» command`|string|false||| +|`»»» display_name`|string|false||Display name is a friendly name for the app.| +|`»»» external`|boolean|false||External specifies whether the URL should be opened externally on the client or not.| +|`»»» group`|string|false||| +|`»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»» interval`|integer|false||Interval specifies the seconds between each health check.| +|`»»»» threshold`|integer|false||Threshold specifies the number of consecutive failed health checks before returning "unhealthy".| +|`»»»» url`|string|false||URL specifies the endpoint to check for the app health.| +|`»»» hidden`|boolean|false||| +|`»»» icon`|string|false||Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard.| +|`»»» id`|string(uuid)|false||| +|`»»» open_in`|[codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin)|false||| +|`»»» sharing_level`|[codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel)|false||| +|`»»» slug`|string|false||Slug is a unique identifier within the agent.| +|`»»» statuses`|array|false||Statuses is a list of statuses for the app.| +|`»»»» agent_id`|string(uuid)|false||| +|`»»»» app_id`|string(uuid)|false||| +|`»»»» created_at`|string(date-time)|false||| +|`»»»» icon`|string|false||Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI.| +|`»»»» id`|string(uuid)|false||| +|`»»»» message`|string|false||| +|`»»»» needs_user_attention`|boolean|false||Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention.| +|`»»»» state`|[codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate)|false||| +|`»»»» uri`|string|false||Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file| +|`»»»» workspace_id`|string(uuid)|false||| +|`»»» subdomain`|boolean|false||Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI.| +|`»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»» architecture`|string|false||| +|`»» connection_timeout_seconds`|integer|false||| +|`»» created_at`|string(date-time)|false||| +|`»» directory`|string|false||| +|`»» disconnected_at`|string(date-time)|false||| +|`»» display_apps`|array|false||| +|`»» environment_variables`|object|false||| +|`»»» [any property]`|string|false||| +|`»» expanded_directory`|string|false||| +|`»» first_connected_at`|string(date-time)|false||| +|`»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»» healthy`|boolean|false||Healthy is true if the agent is healthy.| +|`»»» reason`|string|false||Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.| +|`»» id`|string(uuid)|false||| +|`»» instance_id`|string|false||| +|`»» last_connected_at`|string(date-time)|false||| +|`»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»» latency_ms`|number|false||| +|`»»»» preferred`|boolean|false||| +|`»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»» log_sources`|array|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» display_name`|string|false||| +|`»»» icon`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» workspace_agent_id`|string(uuid)|false||| +|`»» logs_length`|integer|false||| +|`»» logs_overflowed`|boolean|false||| +|`»» name`|string|false||| +|`»» operating_system`|string|false||| +|`»» parent_id`|[uuid.NullUUID](schemas.md#uuidnulluuid)|false||| +|`»»» uuid`|string|false||| +|`»»» valid`|boolean|false||Valid is true if UUID is not NULL| +|`»» ready_at`|string(date-time)|false||| +|`»» resource_id`|string(uuid)|false||| +|`»» scripts`|array|false||| +|`»»» cron`|string|false||| +|`»»» display_name`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» log_path`|string|false||| +|`»»» log_source_id`|string(uuid)|false||| +|`»»» run_on_start`|boolean|false||| +|`»»» run_on_stop`|boolean|false||| +|`»»» script`|string|false||| +|`»»» start_blocks_login`|boolean|false||| +|`»»» timeout`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»» subsystems`|array|false||| +|`»» troubleshooting_url`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» hide`|boolean|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» job_id`|string(uuid)|false||| +|`» metadata`|array|false||| +|`»» key`|string|false||| +|`»» sensitive`|boolean|false||| +|`»» value`|string|false||| +|`» name`|string|false||| +|`» type`|string|false||| +|`» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -|---------------------------|--------------------| -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `open_in` | `slim-window` | -| `open_in` | `tab` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `organization` | -| `sharing_level` | `public` | -| `state` | `working` | -| `state` | `idle` | -| `state` | `complete` | -| `state` | `failure` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`open_in`|`slim-window`| +|`open_in`|`tab`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`organization`| +|`sharing_level`|`public`| +|`state`|`working`| +|`state`|`idle`| +|`state`|`complete`| +|`state`|`failure`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2596,15 +2596,15 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/d ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------------------|---------------------|--------| -| 101 | [Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2) | Switching Protocols | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|101|[Switching Protocols](https://tools.ietf.org/html/rfc7231#section-6.2.2)|Switching Protocols|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2637,10 +2637,10 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|----------------------------------------------------------------------------------|----------|--------------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `body` | body | [codersdk.DynamicParametersRequest](schemas.md#codersdkdynamicparametersrequest) | true | Initial parameter values | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`body`|body|[codersdk.DynamicParametersRequest](schemas.md#codersdkdynamicparametersrequest)|true|Initial parameter values| ### Example responses @@ -2722,9 +2722,9 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.DynamicParametersResponse](schemas.md#codersdkdynamicparametersresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.DynamicParametersResponse](schemas.md#codersdkdynamicparametersresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2743,9 +2743,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/e ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2767,24 +2767,24 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/e ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersionExternalAuth](schemas.md#codersdktemplateversionexternalauth) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateVersionExternalAuth](schemas.md#codersdktemplateversionexternalauth)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------|---------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» authenticate_url` | string | false | | | -| `» authenticated` | boolean | false | | | -| `» display_icon` | string | false | | | -| `» display_name` | string | false | | | -| `» id` | string | false | | | -| `» optional` | boolean | false | | | -| `» type` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» authenticate_url`|string|false||| +|`» authenticated`|boolean|false||| +|`» display_icon`|string|false||| +|`» display_name`|string|false||| +|`» id`|string|false||| +|`» optional`|boolean|false||| +|`» type`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2803,12 +2803,12 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/l ### Parameters -| Name | In | Type | Required | Description | -|-------------------|-------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | -| `before` | query | integer | false | Before log id | -| `after` | query | integer | false | After log id | -| `follow` | query | boolean | false | Follow log stream | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| +|`before`|query|integer|false|Before log id| +|`after`|query|integer|false|After log id| +|`follow`|query|boolean|false|Follow log stream| ### Example responses @@ -2829,35 +2829,35 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/l ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.ProvisionerJobLog](schemas.md#codersdkprovisionerjoblog)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|----------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | false | | | -| `» id` | integer | false | | | -| `» log_level` | [codersdk.LogLevel](schemas.md#codersdkloglevel) | false | | | -| `» log_source` | [codersdk.LogSource](schemas.md#codersdklogsource) | false | | | -| `» output` | string | false | | | -| `» stage` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|false||| +|`» id`|integer|false||| +|`» log_level`|[codersdk.LogLevel](schemas.md#codersdkloglevel)|false||| +|`» log_source`|[codersdk.LogSource](schemas.md#codersdklogsource)|false||| +|`» output`|string|false||| +|`» stage`|string|false||| #### Enumerated Values -| Property | Value | -|--------------|----------------------| -| `log_level` | `trace` | -| `log_level` | `debug` | -| `log_level` | `info` | -| `log_level` | `warn` | -| `log_level` | `error` | -| `log_source` | `provisioner_daemon` | -| `log_source` | `provisioner` | +|Property|Value| +|---|---| +|`log_level`|`trace`| +|`log_level`|`debug`| +|`log_level`|`info`| +|`log_level`|`warn`| +|`log_level`|`error`| +|`log_source`|`provisioner_daemon`| +|`log_source`|`provisioner`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2875,15 +2875,15 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/p ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2902,9 +2902,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/p ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -2928,23 +2928,23 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/p ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Preset](schemas.md#codersdkpreset) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Preset](schemas.md#codersdkpreset)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|---------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» default` | boolean | false | | | -| `» id` | string | false | | | -| `» name` | string | false | | | -| `» parameters` | array | false | | | -| `»» name` | string | false | | | -| `»» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» default`|boolean|false||| +|`» id`|string|false||| +|`» name`|string|false||| +|`» parameters`|array|false||| +|`»» name`|string|false||| +|`»» value`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2963,9 +2963,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -3112,153 +3112,153 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.WorkspaceResource](schemas.md#codersdkworkspaceresource)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|---------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» agents` | array | false | | | -| `»» api_version` | string | false | | | -| `»» apps` | array | false | | | -| `»»» command` | string | false | | | -| `»»» display_name` | string | false | | Display name is a friendly name for the app. | -| `»»» external` | boolean | false | | External specifies whether the URL should be opened externally on the client or not. | -| `»»» group` | string | false | | | -| `»»» health` | [codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth) | false | | | -| `»»» healthcheck` | [codersdk.Healthcheck](schemas.md#codersdkhealthcheck) | false | | Healthcheck specifies the configuration for checking app health. | -| `»»»» interval` | integer | false | | Interval specifies the seconds between each health check. | -| `»»»» threshold` | integer | false | | Threshold specifies the number of consecutive failed health checks before returning "unhealthy". | -| `»»»» url` | string | false | | URL specifies the endpoint to check for the app health. | -| `»»» hidden` | boolean | false | | | -| `»»» icon` | string | false | | Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. | -| `»»» id` | string(uuid) | false | | | -| `»»» open_in` | [codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin) | false | | | -| `»»» sharing_level` | [codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel) | false | | | -| `»»» slug` | string | false | | Slug is a unique identifier within the agent. | -| `»»» statuses` | array | false | | Statuses is a list of statuses for the app. | -| `»»»» agent_id` | string(uuid) | false | | | -| `»»»» app_id` | string(uuid) | false | | | -| `»»»» created_at` | string(date-time) | false | | | -| `»»»» icon` | string | false | | Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. | -| `»»»» id` | string(uuid) | false | | | -| `»»»» message` | string | false | | | -| `»»»» needs_user_attention` | boolean | false | | Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. | -| `»»»» state` | [codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate) | false | | | -| `»»»» uri` | string | false | | Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file | -| `»»»» workspace_id` | string(uuid) | false | | | -| `»»» subdomain` | boolean | false | | Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. | -| `»»» subdomain_name` | string | false | | Subdomain name is the application domain exposed on the `coder server`. | -| `»»» url` | string | false | | URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. | -| `»» architecture` | string | false | | | -| `»» connection_timeout_seconds` | integer | false | | | -| `»» created_at` | string(date-time) | false | | | -| `»» directory` | string | false | | | -| `»» disconnected_at` | string(date-time) | false | | | -| `»» display_apps` | array | false | | | -| `»» environment_variables` | object | false | | | -| `»»» [any property]` | string | false | | | -| `»» expanded_directory` | string | false | | | -| `»» first_connected_at` | string(date-time) | false | | | -| `»» health` | [codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth) | false | | Health reports the health of the agent. | -| `»»» healthy` | boolean | false | | Healthy is true if the agent is healthy. | -| `»»» reason` | string | false | | Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true. | -| `»» id` | string(uuid) | false | | | -| `»» instance_id` | string | false | | | -| `»» last_connected_at` | string(date-time) | false | | | -| `»» latency` | object | false | | Latency is mapped by region name (e.g. "New York City", "Seattle"). | -| `»»» [any property]` | [codersdk.DERPRegion](schemas.md#codersdkderpregion) | false | | | -| `»»»» latency_ms` | number | false | | | -| `»»»» preferred` | boolean | false | | | -| `»» lifecycle_state` | [codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle) | false | | | -| `»» log_sources` | array | false | | | -| `»»» created_at` | string(date-time) | false | | | -| `»»» display_name` | string | false | | | -| `»»» icon` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» workspace_agent_id` | string(uuid) | false | | | -| `»» logs_length` | integer | false | | | -| `»» logs_overflowed` | boolean | false | | | -| `»» name` | string | false | | | -| `»» operating_system` | string | false | | | -| `»» parent_id` | [uuid.NullUUID](schemas.md#uuidnulluuid) | false | | | -| `»»» uuid` | string | false | | | -| `»»» valid` | boolean | false | | Valid is true if UUID is not NULL | -| `»» ready_at` | string(date-time) | false | | | -| `»» resource_id` | string(uuid) | false | | | -| `»» scripts` | array | false | | | -| `»»» cron` | string | false | | | -| `»»» display_name` | string | false | | | -| `»»» id` | string(uuid) | false | | | -| `»»» log_path` | string | false | | | -| `»»» log_source_id` | string(uuid) | false | | | -| `»»» run_on_start` | boolean | false | | | -| `»»» run_on_stop` | boolean | false | | | -| `»»» script` | string | false | | | -| `»»» start_blocks_login` | boolean | false | | | -| `»»» timeout` | integer | false | | | -| `»» started_at` | string(date-time) | false | | | -| `»» startup_script_behavior` | [codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior) | false | | Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future! | -| `»» status` | [codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus) | false | | | -| `»» subsystems` | array | false | | | -| `»» troubleshooting_url` | string | false | | | -| `»» updated_at` | string(date-time) | false | | | -| `»» version` | string | false | | | -| `» created_at` | string(date-time) | false | | | -| `» daily_cost` | integer | false | | | -| `» hide` | boolean | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | false | | | -| `» job_id` | string(uuid) | false | | | -| `» metadata` | array | false | | | -| `»» key` | string | false | | | -| `»» sensitive` | boolean | false | | | -| `»» value` | string | false | | | -| `» name` | string | false | | | -| `» type` | string | false | | | -| `» workspace_transition` | [codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition) | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» agents`|array|false||| +|`»» api_version`|string|false||| +|`»» apps`|array|false||| +|`»»» command`|string|false||| +|`»»» display_name`|string|false||Display name is a friendly name for the app.| +|`»»» external`|boolean|false||External specifies whether the URL should be opened externally on the client or not.| +|`»»» group`|string|false||| +|`»»» health`|[codersdk.WorkspaceAppHealth](schemas.md#codersdkworkspaceapphealth)|false||| +|`»»» healthcheck`|[codersdk.Healthcheck](schemas.md#codersdkhealthcheck)|false||Healthcheck specifies the configuration for checking app health.| +|`»»»» interval`|integer|false||Interval specifies the seconds between each health check.| +|`»»»» threshold`|integer|false||Threshold specifies the number of consecutive failed health checks before returning "unhealthy".| +|`»»»» url`|string|false||URL specifies the endpoint to check for the app health.| +|`»»» hidden`|boolean|false||| +|`»»» icon`|string|false||Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard.| +|`»»» id`|string(uuid)|false||| +|`»»» open_in`|[codersdk.WorkspaceAppOpenIn](schemas.md#codersdkworkspaceappopenin)|false||| +|`»»» sharing_level`|[codersdk.WorkspaceAppSharingLevel](schemas.md#codersdkworkspaceappsharinglevel)|false||| +|`»»» slug`|string|false||Slug is a unique identifier within the agent.| +|`»»» statuses`|array|false||Statuses is a list of statuses for the app.| +|`»»»» agent_id`|string(uuid)|false||| +|`»»»» app_id`|string(uuid)|false||| +|`»»»» created_at`|string(date-time)|false||| +|`»»»» icon`|string|false||Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI.| +|`»»»» id`|string(uuid)|false||| +|`»»»» message`|string|false||| +|`»»»» needs_user_attention`|boolean|false||Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention.| +|`»»»» state`|[codersdk.WorkspaceAppStatusState](schemas.md#codersdkworkspaceappstatusstate)|false||| +|`»»»» uri`|string|false||Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file| +|`»»»» workspace_id`|string(uuid)|false||| +|`»»» subdomain`|boolean|false||Subdomain denotes whether the app should be accessed via a path on the `coder server` or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI.| +|`»»» subdomain_name`|string|false||Subdomain name is the application domain exposed on the `coder server`.| +|`»»» url`|string|false||URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.| +|`»» architecture`|string|false||| +|`»» connection_timeout_seconds`|integer|false||| +|`»» created_at`|string(date-time)|false||| +|`»» directory`|string|false||| +|`»» disconnected_at`|string(date-time)|false||| +|`»» display_apps`|array|false||| +|`»» environment_variables`|object|false||| +|`»»» [any property]`|string|false||| +|`»» expanded_directory`|string|false||| +|`»» first_connected_at`|string(date-time)|false||| +|`»» health`|[codersdk.WorkspaceAgentHealth](schemas.md#codersdkworkspaceagenthealth)|false||Health reports the health of the agent.| +|`»»» healthy`|boolean|false||Healthy is true if the agent is healthy.| +|`»»» reason`|string|false||Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.| +|`»» id`|string(uuid)|false||| +|`»» instance_id`|string|false||| +|`»» last_connected_at`|string(date-time)|false||| +|`»» latency`|object|false||Latency is mapped by region name (e.g. "New York City", "Seattle").| +|`»»» [any property]`|[codersdk.DERPRegion](schemas.md#codersdkderpregion)|false||| +|`»»»» latency_ms`|number|false||| +|`»»»» preferred`|boolean|false||| +|`»» lifecycle_state`|[codersdk.WorkspaceAgentLifecycle](schemas.md#codersdkworkspaceagentlifecycle)|false||| +|`»» log_sources`|array|false||| +|`»»» created_at`|string(date-time)|false||| +|`»»» display_name`|string|false||| +|`»»» icon`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» workspace_agent_id`|string(uuid)|false||| +|`»» logs_length`|integer|false||| +|`»» logs_overflowed`|boolean|false||| +|`»» name`|string|false||| +|`»» operating_system`|string|false||| +|`»» parent_id`|[uuid.NullUUID](schemas.md#uuidnulluuid)|false||| +|`»»» uuid`|string|false||| +|`»»» valid`|boolean|false||Valid is true if UUID is not NULL| +|`»» ready_at`|string(date-time)|false||| +|`»» resource_id`|string(uuid)|false||| +|`»» scripts`|array|false||| +|`»»» cron`|string|false||| +|`»»» display_name`|string|false||| +|`»»» id`|string(uuid)|false||| +|`»»» log_path`|string|false||| +|`»»» log_source_id`|string(uuid)|false||| +|`»»» run_on_start`|boolean|false||| +|`»»» run_on_stop`|boolean|false||| +|`»»» script`|string|false||| +|`»»» start_blocks_login`|boolean|false||| +|`»»» timeout`|integer|false||| +|`»» started_at`|string(date-time)|false||| +|`»» startup_script_behavior`|[codersdk.WorkspaceAgentStartupScriptBehavior](schemas.md#codersdkworkspaceagentstartupscriptbehavior)|false||Startup script behavior is a legacy field that is deprecated in favor of the `coder_script` resource. It's only referenced by old clients. Deprecated: Remove in the future!| +|`»» status`|[codersdk.WorkspaceAgentStatus](schemas.md#codersdkworkspaceagentstatus)|false||| +|`»» subsystems`|array|false||| +|`»» troubleshooting_url`|string|false||| +|`»» updated_at`|string(date-time)|false||| +|`»» version`|string|false||| +|`» created_at`|string(date-time)|false||| +|`» daily_cost`|integer|false||| +|`» hide`|boolean|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|false||| +|`» job_id`|string(uuid)|false||| +|`» metadata`|array|false||| +|`»» key`|string|false||| +|`»» sensitive`|boolean|false||| +|`»» value`|string|false||| +|`» name`|string|false||| +|`» type`|string|false||| +|`» workspace_transition`|[codersdk.WorkspaceTransition](schemas.md#codersdkworkspacetransition)|false||| #### Enumerated Values -| Property | Value | -|---------------------------|--------------------| -| `health` | `disabled` | -| `health` | `initializing` | -| `health` | `healthy` | -| `health` | `unhealthy` | -| `open_in` | `slim-window` | -| `open_in` | `tab` | -| `sharing_level` | `owner` | -| `sharing_level` | `authenticated` | -| `sharing_level` | `organization` | -| `sharing_level` | `public` | -| `state` | `working` | -| `state` | `idle` | -| `state` | `complete` | -| `state` | `failure` | -| `lifecycle_state` | `created` | -| `lifecycle_state` | `starting` | -| `lifecycle_state` | `start_timeout` | -| `lifecycle_state` | `start_error` | -| `lifecycle_state` | `ready` | -| `lifecycle_state` | `shutting_down` | -| `lifecycle_state` | `shutdown_timeout` | -| `lifecycle_state` | `shutdown_error` | -| `lifecycle_state` | `off` | -| `startup_script_behavior` | `blocking` | -| `startup_script_behavior` | `non-blocking` | -| `status` | `connecting` | -| `status` | `connected` | -| `status` | `disconnected` | -| `status` | `timeout` | -| `workspace_transition` | `start` | -| `workspace_transition` | `stop` | -| `workspace_transition` | `delete` | +|Property|Value| +|---|---| +|`health`|`disabled`| +|`health`|`initializing`| +|`health`|`healthy`| +|`health`|`unhealthy`| +|`open_in`|`slim-window`| +|`open_in`|`tab`| +|`sharing_level`|`owner`| +|`sharing_level`|`authenticated`| +|`sharing_level`|`organization`| +|`sharing_level`|`public`| +|`state`|`working`| +|`state`|`idle`| +|`state`|`complete`| +|`state`|`failure`| +|`lifecycle_state`|`created`| +|`lifecycle_state`|`starting`| +|`lifecycle_state`|`start_timeout`| +|`lifecycle_state`|`start_error`| +|`lifecycle_state`|`ready`| +|`lifecycle_state`|`shutting_down`| +|`lifecycle_state`|`shutdown_timeout`| +|`lifecycle_state`|`shutdown_error`| +|`lifecycle_state`|`off`| +|`startup_script_behavior`|`blocking`| +|`startup_script_behavior`|`non-blocking`| +|`status`|`connecting`| +|`status`|`connected`| +|`status`|`disconnected`| +|`status`|`timeout`| +|`workspace_transition`|`start`| +|`workspace_transition`|`stop`| +|`workspace_transition`|`delete`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3277,9 +3277,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -3318,60 +3318,60 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/r ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersionParameter](schemas.md#codersdktemplateversionparameter) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateVersionParameter](schemas.md#codersdktemplateversionparameter)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|---------------------------|----------------------------------------------------------------------------------|----------|--------------|----------------------------------------------------------------------------------------------------| -| `[array item]` | array | false | | | -| `» default_value` | string | false | | | -| `» description` | string | false | | | -| `» description_plaintext` | string | false | | | -| `» display_name` | string | false | | | -| `» ephemeral` | boolean | false | | | -| `» form_type` | string | false | | Form type has an enum value of empty string, `""`. Keep the leading comma in the enums struct tag. | -| `» icon` | string | false | | | -| `» mutable` | boolean | false | | | -| `» name` | string | false | | | -| `» options` | array | false | | | -| `»» description` | string | false | | | -| `»» icon` | string | false | | | -| `»» name` | string | false | | | -| `»» value` | string | false | | | -| `» required` | boolean | false | | | -| `» type` | string | false | | | -| `» validation_error` | string | false | | | -| `» validation_max` | integer | false | | | -| `» validation_min` | integer | false | | | -| `» validation_monotonic` | [codersdk.ValidationMonotonicOrder](schemas.md#codersdkvalidationmonotonicorder) | false | | | -| `» validation_regex` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» default_value`|string|false||| +|`» description`|string|false||| +|`» description_plaintext`|string|false||| +|`» display_name`|string|false||| +|`» ephemeral`|boolean|false||| +|`» form_type`|string|false||Form type has an enum value of empty string, `""`. Keep the leading comma in the enums struct tag.| +|`» icon`|string|false||| +|`» mutable`|boolean|false||| +|`» name`|string|false||| +|`» options`|array|false||| +|`»» description`|string|false||| +|`»» icon`|string|false||| +|`»» name`|string|false||| +|`»» value`|string|false||| +|`» required`|boolean|false||| +|`» type`|string|false||| +|`» validation_error`|string|false||| +|`» validation_max`|integer|false||| +|`» validation_min`|integer|false||| +|`» validation_monotonic`|[codersdk.ValidationMonotonicOrder](schemas.md#codersdkvalidationmonotonicorder)|false||| +|`» validation_regex`|string|false||| #### Enumerated Values -| Property | Value | -|------------------------|----------------| -| `form_type` | `` | -| `form_type` | `radio` | -| `form_type` | `dropdown` | -| `form_type` | `input` | -| `form_type` | `textarea` | -| `form_type` | `slider` | -| `form_type` | `checkbox` | -| `form_type` | `switch` | -| `form_type` | `tag-select` | -| `form_type` | `multi-select` | -| `form_type` | `error` | -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | -| `type` | `list(string)` | -| `validation_monotonic` | `increasing` | -| `validation_monotonic` | `decreasing` | +|Property|Value| +|---|---| +|`form_type`|``| +|`form_type`|`radio`| +|`form_type`|`dropdown`| +|`form_type`|`input`| +|`form_type`|`textarea`| +|`form_type`|`slider`| +|`form_type`|`checkbox`| +|`form_type`|`switch`| +|`form_type`|`tag-select`| +|`form_type`|`multi-select`| +|`form_type`|`error`| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| +|`type`|`list(string)`| +|`validation_monotonic`|`increasing`| +|`validation_monotonic`|`decreasing`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3389,15 +3389,15 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/s ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3416,9 +3416,9 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -3439,9 +3439,9 @@ curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -3460,9 +3460,9 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/v ### Parameters -| Name | In | Type | Required | Description | -|-------------------|------|--------------|----------|---------------------| -| `templateversion` | path | string(uuid) | true | Template version ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`templateversion`|path|string(uuid)|true|Template version ID| ### Example responses @@ -3484,31 +3484,31 @@ curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/v ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-----------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.TemplateVersionVariable](schemas.md#codersdktemplateversionvariable) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.TemplateVersionVariable](schemas.md#codersdktemplateversionvariable)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|-------------------|---------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» default_value` | string | false | | | -| `» description` | string | false | | | -| `» name` | string | false | | | -| `» required` | boolean | false | | | -| `» sensitive` | boolean | false | | | -| `» type` | string | false | | | -| `» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» default_value`|string|false||| +|`» description`|string|false||| +|`» name`|string|false||| +|`» required`|boolean|false||| +|`» sensitive`|boolean|false||| +|`» type`|string|false||| +|`» value`|string|false||| #### Enumerated Values -| Property | Value | -|----------|----------| -| `type` | `string` | -| `type` | `number` | -| `type` | `bool` | +|Property|Value| +|---|---| +|`type`|`string`| +|`type`|`number`| +|`type`|`bool`| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/users.md b/docs/reference/api/users.md index 43842fde6539b..f41cf1e3aa666 100644 --- a/docs/reference/api/users.md +++ b/docs/reference/api/users.md @@ -15,12 +15,12 @@ curl -X GET http://coder-server:8080/api/v2/users \ ### Parameters -| Name | In | Type | Required | Description | -|------------|-------|--------------|----------|--------------| -| `q` | query | string | false | Search query | -| `after_id` | query | string(uuid) | false | After ID | -| `limit` | query | integer | false | Page limit | -| `offset` | query | integer | false | Page offset | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`q`|query|string|false|Search query| +|`after_id`|query|string(uuid)|false|After ID| +|`limit`|query|integer|false|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -59,9 +59,9 @@ curl -X GET http://coder-server:8080/api/v2/users \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GetUsersResponse](schemas.md#codersdkgetusersresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GetUsersResponse](schemas.md#codersdkgetusersresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -97,9 +97,9 @@ curl -X POST http://coder-server:8080/api/v2/users \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------|----------|---------------------| -| `body` | body | [codersdk.CreateUserRequestWithOrgs](schemas.md#codersdkcreateuserrequestwithorgs) | true | Create user request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateUserRequestWithOrgs](schemas.md#codersdkcreateuserrequestwithorgs)|true|Create user request| ### Example responses @@ -133,9 +133,9 @@ curl -X POST http://coder-server:8080/api/v2/users \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -176,9 +176,9 @@ curl -X GET http://coder-server:8080/api/v2/users/authmethods \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.AuthMethods](schemas.md#codersdkauthmethods) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.AuthMethods](schemas.md#codersdkauthmethods)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -214,9 +214,9 @@ curl -X GET http://coder-server:8080/api/v2/users/first \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -257,9 +257,9 @@ curl -X POST http://coder-server:8080/api/v2/users/first \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------|----------|--------------------| -| `body` | body | [codersdk.CreateFirstUserRequest](schemas.md#codersdkcreatefirstuserrequest) | true | First user request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`body`|body|[codersdk.CreateFirstUserRequest](schemas.md#codersdkcreatefirstuserrequest)|true|First user request| ### Example responses @@ -274,9 +274,9 @@ curl -X POST http://coder-server:8080/api/v2/users/first \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|--------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.CreateFirstUserResponse](schemas.md#codersdkcreatefirstuserresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.CreateFirstUserResponse](schemas.md#codersdkcreatefirstuserresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -312,9 +312,9 @@ curl -X POST http://coder-server:8080/api/v2/users/logout \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -332,9 +332,9 @@ curl -X GET http://coder-server:8080/api/v2/users/oauth2/github/callback \ ### Responses -| Status | Meaning | Description | Schema | -|--------|-------------------------------------------------------------------------|--------------------|--------| -| 307 | [Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7) | Temporary Redirect | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|307|[Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7)|Temporary Redirect|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -367,9 +367,9 @@ curl -X GET http://coder-server:8080/api/v2/users/oauth2/github/device \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ExternalAuthDevice](schemas.md#codersdkexternalauthdevice) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ExternalAuthDevice](schemas.md#codersdkexternalauthdevice)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -387,9 +387,9 @@ curl -X GET http://coder-server:8080/api/v2/users/oidc/callback \ ### Responses -| Status | Meaning | Description | Schema | -|--------|-------------------------------------------------------------------------|--------------------|--------| -| 307 | [Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7) | Temporary Redirect | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|307|[Temporary Redirect](https://tools.ietf.org/html/rfc7231#section-6.4.7)|Temporary Redirect|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -408,9 +408,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user} \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|--------------------------| -| `user` | path | string | true | User ID, username, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, username, or me| ### Example responses @@ -444,9 +444,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -464,15 +464,15 @@ curl -X DELETE http://coder-server:8080/api/v2/users/{user} \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -491,9 +491,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/appearance \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -508,9 +508,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/appearance \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserAppearanceSettings](schemas.md#codersdkuserappearancesettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UserAppearanceSettings](schemas.md#codersdkuserappearancesettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -539,10 +539,10 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/appearance \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------------------------------------------------------|----------|-------------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.UpdateUserAppearanceSettingsRequest](schemas.md#codersdkupdateuserappearancesettingsrequest) | true | New appearance settings | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateUserAppearanceSettingsRequest](schemas.md#codersdkupdateuserappearancesettingsrequest)|true|New appearance settings| ### Example responses @@ -557,9 +557,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/appearance \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserAppearanceSettings](schemas.md#codersdkuserappearancesettings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UserAppearanceSettings](schemas.md#codersdkuserappearancesettings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -578,10 +578,10 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/autofill-parameters?tem ### Parameters -| Name | In | Type | Required | Description | -|---------------|-------|--------|----------|--------------------------| -| `user` | path | string | true | User ID, username, or me | -| `template_id` | query | string | true | Template ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, username, or me| +|`template_id`|query|string|true|Template ID| ### Example responses @@ -598,19 +598,19 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/autofill-parameters?tem ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|---------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.UserParameter](schemas.md#codersdkuserparameter) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.UserParameter](schemas.md#codersdkuserparameter)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------|--------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» name` | string | false | | | -| `» value` | string | false | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» name`|string|false||| +|`» value`|string|false||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -629,9 +629,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/gitsshkey \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -648,9 +648,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/gitsshkey \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GitSSHKey](schemas.md#codersdkgitsshkey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GitSSHKey](schemas.md#codersdkgitsshkey)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -669,9 +669,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/gitsshkey \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -688,9 +688,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/gitsshkey \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.GitSSHKey](schemas.md#codersdkgitsshkey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.GitSSHKey](schemas.md#codersdkgitsshkey)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -709,9 +709,9 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -725,9 +725,9 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.GenerateAPIKeyResponse](schemas.md#codersdkgenerateapikeyresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.GenerateAPIKeyResponse](schemas.md#codersdkgenerateapikeyresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -746,9 +746,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -773,38 +773,38 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.APIKey](schemas.md#codersdkapikey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.APIKey](schemas.md#codersdkapikey)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|----------------------|--------------------------------------------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | true | | | -| `» expires_at` | string(date-time) | true | | | -| `» id` | string | true | | | -| `» last_used` | string(date-time) | true | | | -| `» lifetime_seconds` | integer | true | | | -| `» login_type` | [codersdk.LoginType](schemas.md#codersdklogintype) | true | | | -| `» scope` | [codersdk.APIKeyScope](schemas.md#codersdkapikeyscope) | true | | | -| `» token_name` | string | true | | | -| `» updated_at` | string(date-time) | true | | | -| `» user_id` | string(uuid) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|true||| +|`» expires_at`|string(date-time)|true||| +|`» id`|string|true||| +|`» last_used`|string(date-time)|true||| +|`» lifetime_seconds`|integer|true||| +|`» login_type`|[codersdk.LoginType](schemas.md#codersdklogintype)|true||| +|`» scope`|[codersdk.APIKeyScope](schemas.md#codersdkapikeyscope)|true||| +|`» token_name`|string|true||| +|`» updated_at`|string(date-time)|true||| +|`» user_id`|string(uuid)|true||| #### Enumerated Values -| Property | Value | -|--------------|-----------------------| -| `login_type` | `password` | -| `login_type` | `github` | -| `login_type` | `oidc` | -| `login_type` | `token` | -| `scope` | `all` | -| `scope` | `application_connect` | +|Property|Value| +|---|---| +|`login_type`|`password`| +|`login_type`|`github`| +|`login_type`|`oidc`| +|`login_type`|`token`| +|`scope`|`all`| +|`scope`|`application_connect`| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -834,10 +834,10 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys/tokens \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.CreateTokenRequest](schemas.md#codersdkcreatetokenrequest) | true | Create token request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.CreateTokenRequest](schemas.md#codersdkcreatetokenrequest)|true|Create token request| ### Example responses @@ -851,9 +851,9 @@ curl -X POST http://coder-server:8080/api/v2/users/{user}/keys/tokens \ ### Responses -| Status | Meaning | Description | Schema | -|--------|--------------------------------------------------------------|-------------|------------------------------------------------------------------------------| -| 201 | [Created](https://tools.ietf.org/html/rfc7231#section-6.3.2) | Created | [codersdk.GenerateAPIKeyResponse](schemas.md#codersdkgenerateapikeyresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Created|[codersdk.GenerateAPIKeyResponse](schemas.md#codersdkgenerateapikeyresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -872,10 +872,10 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/{keyname} \ ### Parameters -| Name | In | Type | Required | Description | -|-----------|------|----------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `keyname` | path | string(string) | true | Key Name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`keyname`|path|string(string)|true|Key Name| ### Example responses @@ -898,9 +898,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/{keyname} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.APIKey](schemas.md#codersdkapikey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.APIKey](schemas.md#codersdkapikey)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -919,10 +919,10 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `keyid` | path | string(uuid) | true | Key ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`keyid`|path|string(uuid)|true|Key ID| ### Example responses @@ -945,9 +945,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.APIKey](schemas.md#codersdkapikey) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.APIKey](schemas.md#codersdkapikey)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -965,16 +965,16 @@ curl -X DELETE http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \ ### Parameters -| Name | In | Type | Required | Description | -|---------|------|--------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `keyid` | path | string(uuid) | true | Key ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`keyid`|path|string(uuid)|true|Key ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -993,9 +993,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/login-type \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1009,9 +1009,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/login-type \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.UserLoginType](schemas.md#codersdkuserlogintype) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.UserLoginType](schemas.md#codersdkuserlogintype)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1030,9 +1030,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1055,25 +1055,25 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|-------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | array of [codersdk.Organization](schemas.md#codersdkorganization) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|array of [codersdk.Organization](schemas.md#codersdkorganization)|

Response Schema

Status Code **200** -| Name | Type | Required | Restrictions | Description | -|------------------|-------------------|----------|--------------|-------------| -| `[array item]` | array | false | | | -| `» created_at` | string(date-time) | true | | | -| `» description` | string | false | | | -| `» display_name` | string | false | | | -| `» icon` | string | false | | | -| `» id` | string(uuid) | true | | | -| `» is_default` | boolean | true | | | -| `» name` | string | false | | | -| `» updated_at` | string(date-time) | true | | | +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|`[array item]`|array|false||| +|`» created_at`|string(date-time)|true||| +|`» description`|string|false||| +|`» display_name`|string|false||| +|`» icon`|string|false||| +|`» id`|string(uuid)|true||| +|`» is_default`|boolean|true||| +|`» name`|string|false||| +|`» updated_at`|string(date-time)|true||| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1092,10 +1092,10 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations/{organiza ### Parameters -| Name | In | Type | Required | Description | -|--------------------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `organizationname` | path | string | true | Organization name | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`organizationname`|path|string|true|Organization name| ### Example responses @@ -1116,9 +1116,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations/{organiza ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Organization](schemas.md#codersdkorganization) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Organization](schemas.md#codersdkorganization)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1146,16 +1146,16 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/password \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------------|----------|-------------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.UpdateUserPasswordRequest](schemas.md#codersdkupdateuserpasswordrequest) | true | Update password request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateUserPasswordRequest](schemas.md#codersdkupdateuserpasswordrequest)|true|Update password request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1184,10 +1184,10 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/profile \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|----------------------------------------------------------------------------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.UpdateUserProfileRequest](schemas.md#codersdkupdateuserprofilerequest) | true | Updated profile | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateUserProfileRequest](schemas.md#codersdkupdateuserprofilerequest)|true|Updated profile| ### Example responses @@ -1221,9 +1221,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/profile \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1242,9 +1242,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/roles \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1278,9 +1278,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/roles \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1310,10 +1310,10 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/roles \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------------------------------------------------------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | -| `body` | body | [codersdk.UpdateRoles](schemas.md#codersdkupdateroles) | true | Update roles request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`body`|body|[codersdk.UpdateRoles](schemas.md#codersdkupdateroles)|true|Update roles request| ### Example responses @@ -1347,9 +1347,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/roles \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1368,9 +1368,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/activate \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1404,9 +1404,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/activate \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1425,9 +1425,9 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/suspend \ ### Parameters -| Name | In | Type | Required | Description | -|--------|------|--------|----------|----------------------| -| `user` | path | string | true | User ID, name, or me | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| ### Example responses @@ -1461,8 +1461,8 @@ curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/suspend \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.User](schemas.md#codersdkuser) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.User](schemas.md#codersdkuser)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/workspaceproxies.md b/docs/reference/api/workspaceproxies.md index 72527b7e305e4..f89d93ba488af 100644 --- a/docs/reference/api/workspaceproxies.md +++ b/docs/reference/api/workspaceproxies.md @@ -35,8 +35,8 @@ curl -X GET http://coder-server:8080/api/v2/regions \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|------------------------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.RegionsResponse-codersdk_Region](schemas.md#codersdkregionsresponse-codersdk_region) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.RegionsResponse-codersdk_Region](schemas.md#codersdkregionsresponse-codersdk_region)| To perform this operation, you must be authenticated. [Learn more](authentication.md). diff --git a/docs/reference/api/workspaces.md b/docs/reference/api/workspaces.md index debcb421e02e3..f1513c3fa034c 100644 --- a/docs/reference/api/workspaces.md +++ b/docs/reference/api/workspaces.md @@ -41,11 +41,11 @@ of the template will be used. ### Parameters -| Name | In | Type | Required | Description | -|----------------|------|------------------------------------------------------------------------------|----------|--------------------------| -| `organization` | path | string(uuid) | true | Organization ID | -| `user` | path | string | true | Username, UUID, or me | -| `body` | body | [codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest) | true | Create workspace request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`organization`|path|string(uuid)|true|Organization ID| +|`user`|path|string|true|Username, UUID, or me| +|`body`|body|[codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest)|true|Create workspace request| ### Example responses @@ -307,9 +307,9 @@ of the template will be used. ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Workspace](schemas.md#codersdkworkspace)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -328,11 +328,11 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam ### Parameters -| Name | In | Type | Required | Description | -|-------------------|-------|---------|----------|-------------------------------------------------------------| -| `user` | path | string | true | User ID, name, or me | -| `workspacename` | path | string | true | Workspace name | -| `include_deleted` | query | boolean | false | Return data instead of HTTP 404 if the workspace is deleted | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|User ID, name, or me| +|`workspacename`|path|string|true|Workspace name| +|`include_deleted`|query|boolean|false|Return data instead of HTTP 404 if the workspace is deleted| ### Example responses @@ -594,9 +594,9 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Workspace](schemas.md#codersdkworkspace)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -641,10 +641,10 @@ of the template will be used. ### Parameters -| Name | In | Type | Required | Description | -|--------|------|------------------------------------------------------------------------------|----------|--------------------------| -| `user` | path | string | true | Username, UUID, or me | -| `body` | body | [codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest) | true | Create workspace request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`user`|path|string|true|Username, UUID, or me| +|`body`|body|[codersdk.CreateWorkspaceRequest](schemas.md#codersdkcreateworkspacerequest)|true|Create workspace request| ### Example responses @@ -906,9 +906,9 @@ of the template will be used. ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Workspace](schemas.md#codersdkworkspace)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -927,11 +927,11 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \ ### Parameters -| Name | In | Type | Required | Description | -|----------|-------|---------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `q` | query | string | false | Search query in the format `key:value`. Available keys are: owner, template, name, status, has-agent, dormant, last_used_after, last_used_before, has-ai-task. | -| `limit` | query | integer | false | Page limit | -| `offset` | query | integer | false | Page offset | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`q`|query|string|false|Search query in the format `key:value`. Available keys are: owner, template, name, status, has-agent, dormant, last_used_after, last_used_before, has-ai-task.| +|`limit`|query|integer|false|Page limit| +|`offset`|query|integer|false|Page offset| ### Example responses @@ -1181,9 +1181,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspacesResponse](schemas.md#codersdkworkspacesresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspacesResponse](schemas.md#codersdkworkspacesresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1202,10 +1202,10 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \ ### Parameters -| Name | In | Type | Required | Description | -|-------------------|-------|--------------|----------|-------------------------------------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `include_deleted` | query | boolean | false | Return data instead of HTTP 404 if the workspace is deleted | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`include_deleted`|query|boolean|false|Return data instead of HTTP 404 if the workspace is deleted| ### Example responses @@ -1467,9 +1467,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Workspace](schemas.md#codersdkworkspace)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1496,16 +1496,16 @@ curl -X PATCH http://coder-server:8080/api/v2/workspaces/{workspace} \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|------------------------------------------------------------------------------|----------|-------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.UpdateWorkspaceRequest](schemas.md#codersdkupdateworkspacerequest) | true | Metadata update request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.UpdateWorkspaceRequest](schemas.md#codersdkupdateworkspacerequest)|true|Metadata update request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1532,16 +1532,16 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/autostart \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|------------------------------------------------------------------------------------------------|----------|-------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.UpdateWorkspaceAutostartRequest](schemas.md#codersdkupdateworkspaceautostartrequest) | true | Schedule update request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.UpdateWorkspaceAutostartRequest](schemas.md#codersdkupdateworkspaceautostartrequest)|true|Schedule update request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1568,16 +1568,16 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/autoupdates \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------------------------------------------------------------------------------------------------------|----------|---------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.UpdateWorkspaceAutomaticUpdatesRequest](schemas.md#codersdkupdateworkspaceautomaticupdatesrequest) | true | Automatic updates request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.UpdateWorkspaceAutomaticUpdatesRequest](schemas.md#codersdkupdateworkspaceautomaticupdatesrequest)|true|Automatic updates request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1605,10 +1605,10 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------------------------------------------------------------------------|----------|------------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.UpdateWorkspaceDormancy](schemas.md#codersdkupdateworkspacedormancy) | true | Make a workspace dormant or active | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.UpdateWorkspaceDormancy](schemas.md#codersdkupdateworkspacedormancy)|true|Make a workspace dormant or active| ### Example responses @@ -1870,9 +1870,9 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Workspace](schemas.md#codersdkworkspace) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Workspace](schemas.md#codersdkworkspace)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1900,10 +1900,10 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/extend \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|------------------------------------------------------------------------------------|----------|--------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.PutExtendWorkspaceRequest](schemas.md#codersdkputextendworkspacerequest) | true | Extend deadline update request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.PutExtendWorkspaceRequest](schemas.md#codersdkputextendworkspacerequest)|true|Extend deadline update request| ### Example responses @@ -1924,9 +1924,9 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/extend \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1944,15 +1944,15 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/favorite \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1970,15 +1970,15 @@ curl -X DELETE http://coder-server:8080/api/v2/workspaces/{workspace}/favorite \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -1997,9 +1997,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/resolve-autos ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -2013,9 +2013,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/resolve-autos ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ResolveAutostartResponse](schemas.md#codersdkresolveautostartresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ResolveAutostartResponse](schemas.md#codersdkresolveautostartresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2034,9 +2034,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/timings \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -2081,9 +2081,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/timings \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.WorkspaceBuildTimings](schemas.md#codersdkworkspacebuildtimings) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.WorkspaceBuildTimings](schemas.md#codersdkworkspacebuildtimings)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2110,16 +2110,16 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/ttl \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|------------------------------------------------------------------------------------|----------|------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.UpdateWorkspaceTTLRequest](schemas.md#codersdkupdateworkspacettlrequest) | true | Workspace TTL update request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.UpdateWorkspaceTTLRequest](schemas.md#codersdkupdateworkspacettlrequest)|true|Workspace TTL update request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2147,16 +2147,16 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/usage \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|------------------------------------------------------------------------------------|----------|------------------------------| -| `workspace` | path | string(uuid) | true | Workspace ID | -| `body` | body | [codersdk.PostWorkspaceUsageRequest](schemas.md#codersdkpostworkspaceusagerequest) | false | Post workspace usage request | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| +|`body`|body|[codersdk.PostWorkspaceUsageRequest](schemas.md#codersdkpostworkspaceusagerequest)|false|Post workspace usage request| ### Responses -| Status | Meaning | Description | Schema | -|--------|-----------------------------------------------------------------|-------------|--------| -| 204 | [No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5) | No Content | | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2175,9 +2175,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/watch \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -2185,9 +2185,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/watch \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|--------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.Response](schemas.md#codersdkresponse) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.Response](schemas.md#codersdkresponse)| To perform this operation, you must be authenticated. [Learn more](authentication.md). @@ -2206,9 +2206,9 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/watch-ws \ ### Parameters -| Name | In | Type | Required | Description | -|-------------|------|--------------|----------|--------------| -| `workspace` | path | string(uuid) | true | Workspace ID | +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|`workspace`|path|string(uuid)|true|Workspace ID| ### Example responses @@ -2223,8 +2223,8 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/watch-ws \ ### Responses -| Status | Meaning | Description | Schema | -|--------|---------------------------------------------------------|-------------|----------------------------------------------------------------| -| 200 | [OK](https://tools.ietf.org/html/rfc7231#section-6.3.1) | OK | [codersdk.ServerSentEvent](schemas.md#codersdkserversentevent) | +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|OK|[codersdk.ServerSentEvent](schemas.md#codersdkserversentevent)| To perform this operation, you must be authenticated. [Learn more](authentication.md).