// Package apidoc GENERATED BY SWAG; DO NOT EDIT
// This file was generated by swaggo/swag
package apidoc

import "github.com/swaggo/swag"

const docTemplate = `{
    "schemes": {{ marshal .Schemes }},
    "swagger": "2.0",
    "info": {
        "description": "{{escape .Description}}",
        "title": "{{.Title}}",
        "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": "{{.Version}}"
    },
    "host": "{{.Host}}",
    "basePath": "{{.BasePath}}",
    "paths": {
        "/": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "General"
                ],
                "summary": "API root handler",
                "operationId": "api-root-handler",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.Response"
                        }
                    }
                }
            }
        },
        "/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.AppearanceConfig"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.AppearanceConfig"
                        }
                    }
                }
            }
        },
        "/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",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.GetAppHostResponse"
                        }
                    }
                }
            }
        },
        "/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",
                        "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"
                    }
                ],
                "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"
                    }
                }
            }
        },
        "/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"
                        }
                    }
                }
            }
        },
        "/config/deployment": {
            "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"
                        }
                    }
                }
            }
        },
        "/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"
                    }
                }
            }
        },
        "/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 experiments",
                "operationId": "get-experiments",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "/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` + "`" + `",
                        "name": "Content-Type",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "File to be uploaded",
                        "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",
                        "format": "uuid",
                        "description": "Organization ID",
                        "name": "organization",
                        "in": "path",
                        "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 name",
                "operationId": "get-group-by-name",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Group name",
                        "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": []
                    }
                ],
                "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
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.Group"
                        }
                    }
                }
            }
        },
        "/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/{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"
                    }
                }
            }
        },
        "/organizations": {
            "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"
                        }
                    }
                }
            }
        },
        "/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": [
                    "Templates"
                ],
                "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/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"
                            }
                        }
                    }
                }
            }
        },
        "/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}/workspaces": {
            "post": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces"
                ],
                "summary": "Create user workspace by organization",
                "operationId": "create-user-workspace-by-organization",
                "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
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.Workspace"
                        }
                    }
                }
            }
        },
        "/organizations/{organization}/provisionerdaemons": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Enterprise"
                ],
                "summary": "Get provisioner daemons",
                "operationId": "get-provisioner-daemons",
                "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.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}/templates": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "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",
                "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}/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.CreateTemplateVersionDryRunRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/codersdk.TemplateVersion"
                        }
                    }
                }
            }
        },
        "/organizations/{organization}/templateversions/{templateversionname}": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Templates"
                ],
                "summary": "Get template version by organization and name",
                "operationId": "get-template-version-by-organization-and-name",
                "parameters": [
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "Organization ID",
                        "name": "organization",
                        "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/{templateversionname}/previous": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Templates"
                ],
                "summary": "Get previous template version by organization and name",
                "operationId": "get-previous-template-version-by-organization-and-name",
                "parameters": [
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "Organization ID",
                        "name": "organization",
                        "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"
                        }
                    }
                }
            }
        },
        "/parameters/{scope}/{id}": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Parameters"
                ],
                "summary": "Get parameters",
                "operationId": "get-parameters",
                "parameters": [
                    {
                        "enum": [
                            "template",
                            "workspace",
                            "import_job"
                        ],
                        "type": "string",
                        "description": "Scope",
                        "name": "scope",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/codersdk.Parameter"
                            }
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Parameters"
                ],
                "summary": "Create parameter",
                "operationId": "create-parameter",
                "parameters": [
                    {
                        "description": "Parameter request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/codersdk.CreateParameterRequest"
                        }
                    },
                    {
                        "enum": [
                            "template",
                            "workspace",
                            "import_job"
                        ],
                        "type": "string",
                        "description": "Scope",
                        "name": "scope",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/codersdk.Parameter"
                        }
                    }
                }
            }
        },
        "/parameters/{scope}/{id}/{name}": {
            "delete": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Parameters"
                ],
                "summary": "Delete parameter",
                "operationId": "delete-parameter",
                "parameters": [
                    {
                        "enum": [
                            "template",
                            "workspace",
                            "import_job"
                        ],
                        "type": "string",
                        "description": "Scope",
                        "name": "scope",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Name",
                        "name": "name",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.Response"
                        }
                    }
                }
            }
        },
        "/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/Users": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/scim+json"
                ],
                "tags": [
                    "Enterprise"
                ],
                "summary": "SCIM 2.0: Get users",
                "operationId": "scim-get-users",
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "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": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "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"
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "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"
                        }
                    }
                }
            }
        },
        "/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": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/codersdk.TemplateUser"
                            }
                        }
                    }
                }
            },
            "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}/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.TemplateDAUsResponse"
                        }
                    }
                }
            }
        },
        "/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": "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/{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"
                        }
                    }
                }
            }
        },
        "/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}/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}/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 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}/parameters": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Templates"
                ],
                "summary": "Get parameters by template version",
                "operationId": "get-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/parameter.ComputedValue"
                            }
                        }
                    }
                }
            }
        },
        "/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/parameter.ComputedValue"
                            }
                        }
                    }
                }
            }
        },
        "/templateversions/{templateversion}/schema": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Templates"
                ],
                "summary": "Get schema by template version",
                "operationId": "get-schema-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.ParameterSchema"
                            }
                        }
                    }
                }
            }
        },
        "/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.CreateUserRequest"
                        }
                    }
                ],
                "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": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "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/oidc/callback": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "tags": [
                    "Users"
                ],
                "summary": "OpenID Connect Callback",
                "operationId": "openid-connect-callback",
                "responses": {
                    "307": {
                        "description": "Temporary Redirect"
                    }
                }
            }
        },
        "/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/{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, name, or me",
                        "name": "user",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.User"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#/definitions/codersdk.User"
                        }
                    }
                }
            }
        },
        "/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/{keyid}": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Users"
                ],
                "summary": "Get API key",
                "operationId": "get-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": {
                    "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}/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}/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}/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"
                        }
                    }
                }
            }
        },
        "/workspace-quota/{user}": {
            "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
                    }
                ],
                "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/codersdk.AWSInstanceIdentityToken"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.WorkspaceAgentAuthenticateResponse"
                        }
                    }
                }
            }
        },
        "/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/codersdk.AzureInstanceIdentityToken"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.WorkspaceAgentAuthenticateResponse"
                        }
                    }
                }
            }
        },
        "/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/codersdk.GoogleInstanceIdentityToken"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.WorkspaceAgentAuthenticateResponse"
                        }
                    }
                }
            }
        },
        "/workspaceagents/me/app-health": {
            "post": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agents"
                ],
                "summary": "Submit workspace agent application health",
                "operationId": "submit-workspace-agent-application-health",
                "parameters": [
                    {
                        "description": "Application health request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/codersdk.PostWorkspaceAppHealthsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/workspaceagents/me/coordinate": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "description": "It accepts a WebSocket connection to an agent that listens to\nincoming connections and publishes node updates.",
                "tags": [
                    "Agents"
                ],
                "summary": "Coordinate workspace agent via Tailnet",
                "operationId": "coordinate-workspace-agent-via-tailnet",
                "responses": {
                    "101": {
                        "description": "Switching Protocols"
                    }
                }
            }
        },
        "/workspaceagents/me/gitauth": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agents"
                ],
                "summary": "Get workspace agent Git auth",
                "operationId": "get-workspace-agent-git-auth",
                "parameters": [
                    {
                        "type": "string",
                        "format": "uri",
                        "description": "Git URL",
                        "name": "url",
                        "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/codersdk.WorkspaceAgentGitAuthResponse"
                        }
                    }
                }
            }
        },
        "/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/codersdk.AgentGitSSHKey"
                        }
                    }
                }
            }
        },
        "/workspaceagents/me/metadata": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agents"
                ],
                "summary": "Get authorized workspace agent metadata",
                "operationId": "get-authorized-workspace-agent-metadata",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.WorkspaceAgentMetadata"
                        }
                    }
                }
            }
        },
        "/workspaceagents/me/report-stats": {
            "post": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agents"
                ],
                "summary": "Submit workspace agent stats",
                "operationId": "submit-workspace-agent-stats",
                "parameters": [
                    {
                        "description": "Stats request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/codersdk.AgentStats"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.AgentStatsResponse"
                        }
                    }
                }
            }
        },
        "/workspaceagents/me/version": {
            "post": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agents"
                ],
                "summary": "Submit workspace agent version",
                "operationId": "submit-workspace-agent-version",
                "parameters": [
                    {
                        "description": "Version request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/codersdk.PostWorkspaceAgentVersionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                },
                "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/codersdk.WorkspaceAgentConnectionInfo"
                        }
                    }
                }
            }
        },
        "/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.ListeningPortsResponse"
                        }
                    }
                }
            }
        },
        "/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"
                    }
                }
            }
        },
        "/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
                    }
                ],
                "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 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"
                            }
                        }
                    }
                }
            }
        },
        "/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": "Get workspace resources for workspace build",
                "operationId": "get-workspace-resources-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.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"
                        }
                    }
                }
            }
        },
        "/workspaces": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces"
                ],
                "summary": "List workspaces",
                "operationId": "list-workspaces",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Filter by owner username",
                        "name": "owner",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter by template name",
                        "name": "template",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Filter with partial-match by workspace name",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "pending",
                            "running",
                            "stopping",
                            "stopped",
                            "failed",
                            "canceling",
                            "canceled",
                            "deleted",
                            "deleting"
                        ],
                        "type": "string",
                        "description": "Filter by workspace status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "connected",
                            "connecting",
                            "disconnected",
                            "timeout"
                        ],
                        "type": "string",
                        "description": "Filter by agent status",
                        "name": "has_agent",
                        "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}/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}/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}/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}/watch": {
            "get": {
                "security": [
                    {
                        "CoderSessionToken": []
                    }
                ],
                "produces": [
                    "text/event-stream"
                ],
                "tags": [
                    "Workspaces"
                ],
                "summary": "Watch workspace by ID",
                "operationId": "watch-workspace-by-id",
                "parameters": [
                    {
                        "type": "string",
                        "format": "uuid",
                        "description": "Workspace ID",
                        "name": "workspace",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/codersdk.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "coderd.SCIMUser": {
            "type": "object",
            "properties": {
                "active": {
                    "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.APIKey": {
            "type": "object",
            "required": [
                "created_at",
                "expires_at",
                "id",
                "last_used",
                "lifetime_seconds",
                "login_type",
                "scope",
                "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"
                        }
                    ]
                },
                "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.AWSInstanceIdentityToken": {
            "type": "object",
            "required": [
                "document",
                "signature"
            ],
            "properties": {
                "document": {
                    "type": "string"
                },
                "signature": {
                    "type": "string"
                }
            }
        },
        "codersdk.AddLicenseRequest": {
            "type": "object",
            "required": [
                "license"
            ],
            "properties": {
                "license": {
                    "type": "string"
                }
            }
        },
        "codersdk.AgentGitSSHKey": {
            "type": "object",
            "properties": {
                "private_key": {
                    "type": "string"
                },
                "public_key": {
                    "type": "string"
                }
            }
        },
        "codersdk.AgentStats": {
            "type": "object",
            "properties": {
                "conns_by_proto": {
                    "description": "ConnsByProto is a count of connections by protocol.",
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "num_comms": {
                    "description": "NumConns is the number of connections received by an agent.",
                    "type": "integer"
                },
                "rx_bytes": {
                    "description": "RxBytes is the number of received bytes.",
                    "type": "integer"
                },
                "rx_packets": {
                    "description": "RxPackets is the number of received packets.",
                    "type": "integer"
                },
                "tx_bytes": {
                    "description": "TxBytes is the number of transmitted bytes.",
                    "type": "integer"
                },
                "tx_packets": {
                    "description": "TxPackets is the number of transmitted bytes.",
                    "type": "integer"
                }
            }
        },
        "codersdk.AgentStatsResponse": {
            "type": "object",
            "properties": {
                "report_interval": {
                    "description": "ReportInterval is the duration after which the agent should send stats\nagain.",
                    "type": "integer"
                }
            }
        },
        "codersdk.AppearanceConfig": {
            "type": "object",
            "properties": {
                "logo_url": {
                    "type": "string"
                },
                "service_banner": {
                    "$ref": "#/definitions/codersdk.ServiceBannerConfig"
                }
            }
        },
        "codersdk.AssignableRoles": {
            "type": "object",
            "properties": {
                "assignable": {
                    "type": "boolean"
                },
                "display_name": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "codersdk.AuditAction": {
            "type": "string",
            "enum": [
                "create",
                "write",
                "delete",
                "start",
                "stop"
            ],
            "x-enum-varnames": [
                "AuditActionCreate",
                "AuditActionWrite",
                "AuditActionDelete",
                "AuditActionStart",
                "AuditActionStop"
            ]
        },
        "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": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "description": {
                    "type": "string"
                },
                "diff": {
                    "$ref": "#/definitions/codersdk.AuditDiff"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "ip": {
                    "type": "string"
                },
                "is_deleted": {
                    "type": "boolean"
                },
                "organization_id": {
                    "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.AuthMethods": {
            "type": "object",
            "properties": {
                "github": {
                    "type": "boolean"
                },
                "oidc": {
                    "type": "boolean"
                },
                "password": {
                    "type": "boolean"
                }
            }
        },
        "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": {
                    "type": "string",
                    "enum": [
                        "create",
                        "read",
                        "update",
                        "delete"
                    ]
                },
                "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": {
                "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.",
                    "type": "string"
                }
            }
        },
        "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.AzureInstanceIdentityToken": {
            "type": "object",
            "required": [
                "encoding",
                "signature"
            ],
            "properties": {
                "encoding": {
                    "type": "string"
                },
                "signature": {
                    "type": "string"
                }
            }
        },
        "codersdk.BuildInfoResponse": {
            "type": "object",
            "properties": {
                "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"
                },
                "version": {
                    "description": "Version returns the semantic version of the build.",
                    "type": "string"
                }
            }
        },
        "codersdk.BuildReason": {
            "type": "string",
            "enum": [
                "initiator",
                "autostart",
                "autostop"
            ],
            "x-enum-varnames": [
                "BuildReasonInitiator",
                "BuildReasonAutostart",
                "BuildReasonAutostop"
            ]
        },
        "codersdk.CreateFirstUserRequest": {
            "type": "object",
            "required": [
                "email",
                "password",
                "username"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "trial": {
                    "type": "boolean"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "codersdk.CreateFirstUserResponse": {
            "type": "object",
            "properties": {
                "organization_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "user_id": {
                    "type": "string",
                    "format": "uuid"
                }
            }
        },
        "codersdk.CreateGroupRequest": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "quota_allowance": {
                    "type": "integer"
                }
            }
        },
        "codersdk.CreateOrganizationRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "codersdk.CreateParameterRequest": {
            "description": "CreateParameterRequest is a structure used to create a new parameter value for a scope.",
            "type": "object",
            "required": [
                "destination_scheme",
                "name",
                "source_scheme",
                "source_value"
            ],
            "properties": {
                "copy_from_parameter": {
                    "description": "CloneID allows copying the value of another parameter.\nThe other param must be related to the same template_id for this to\nsucceed.\nNo other fields are required if using this, as all fields will be copied\nfrom the other parameter.",
                    "type": "string",
                    "format": "uuid"
                },
                "destination_scheme": {
                    "enum": [
                        "none",
                        "environment_variable",
                        "provisioner_variable"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterDestinationScheme"
                        }
                    ]
                },
                "name": {
                    "type": "string"
                },
                "source_scheme": {
                    "enum": [
                        "none",
                        "data"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterSourceScheme"
                        }
                    ]
                },
                "source_value": {
                    "type": "string"
                }
            }
        },
        "codersdk.CreateTemplateRequest": {
            "type": "object",
            "required": [
                "name",
                "template_version_id"
            ],
            "properties": {
                "allow_user_cancel_workspace_jobs": {
                    "description": "Allow users to cancel in-progress workspace jobs.\n*bool as the default value is \"true\".",
                    "type": "boolean"
                },
                "default_ttl_ms": {
                    "description": "DefaultTTLMillis allows optionally specifying the default TTL\nfor all 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"
                },
                "display_name": {
                    "description": "DisplayName is the displayed name of the template.",
                    "type": "string"
                },
                "icon": {
                    "description": "Icon is a relative path or external URL that specifies\nan icon to be displayed in the dashboard.",
                    "type": "string"
                },
                "name": {
                    "description": "Name is the name of the template.",
                    "type": "string"
                },
                "parameter_values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.CreateParameterRequest"
                    }
                },
                "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": {
                "parameter_values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.CreateParameterRequest"
                    }
                },
                "rich_parameter_values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.WorkspaceBuildParameter"
                    }
                },
                "workspace_name": {
                    "type": "string"
                }
            }
        },
        "codersdk.CreateTestAuditLogRequest": {
            "type": "object",
            "properties": {
                "action": {
                    "enum": [
                        "create",
                        "write",
                        "delete",
                        "start",
                        "stop"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.AuditAction"
                        }
                    ]
                },
                "resource_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "resource_type": {
                    "enum": [
                        "organization",
                        "template",
                        "template_version",
                        "user",
                        "workspace",
                        "workspace_build",
                        "git_ssh_key",
                        "api_key",
                        "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"
                        }
                    ]
                }
            }
        },
        "codersdk.CreateUserRequest": {
            "type": "object",
            "required": [
                "email",
                "organization_id",
                "password",
                "username"
            ],
            "properties": {
                "email": {
                    "type": "string",
                    "format": "email"
                },
                "organization_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "codersdk.CreateWorkspaceBuildRequest": {
            "type": "object",
            "required": [
                "transition"
            ],
            "properties": {
                "dry_run": {
                    "type": "boolean"
                },
                "orphan": {
                    "description": "Orphan may be set for the Destroy transition.",
                    "type": "boolean"
                },
                "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.CreateParameterRequest"
                    }
                },
                "rich_parameter_values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.WorkspaceBuildParameter"
                    }
                },
                "state": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "template_version_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "transition": {
                    "enum": [
                        "create",
                        "start",
                        "stop",
                        "delete"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.WorkspaceTransition"
                        }
                    ]
                }
            }
        },
        "codersdk.DAUEntry": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer"
                },
                "date": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "codersdk.DERP": {
            "type": "object",
            "properties": {
                "config": {
                    "$ref": "#/definitions/codersdk.DERPConfig"
                },
                "server": {
                    "$ref": "#/definitions/codersdk.DERPServerConfig"
                }
            }
        },
        "codersdk.DERPConfig": {
            "type": "object",
            "properties": {
                "path": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                }
            }
        },
        "codersdk.DERPRegion": {
            "type": "object",
            "properties": {
                "latency_ms": {
                    "type": "number"
                },
                "preferred": {
                    "type": "boolean"
                }
            }
        },
        "codersdk.DERPServerConfig": {
            "type": "object",
            "properties": {
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "region_code": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "region_id": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-int"
                },
                "region_name": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "relay_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "stun_addresses": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                }
            }
        },
        "codersdk.DangerousConfig": {
            "type": "object",
            "properties": {
                "allow_path_app_sharing": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "allow_path_app_site_owner_access": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                }
            }
        },
        "codersdk.DeploymentConfig": {
            "type": "object",
            "properties": {
                "access_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "address": {
                    "description": "DEPRECATED: Use HTTPAddress or TLS.Address instead.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                        }
                    ]
                },
                "agent_fallback_troubleshooting_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "agent_stat_refresh_interval": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                },
                "audit_logging": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "autobuild_poll_interval": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                },
                "browser_only": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "cache_directory": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "dangerous": {
                    "$ref": "#/definitions/codersdk.DangerousConfig"
                },
                "derp": {
                    "$ref": "#/definitions/codersdk.DERP"
                },
                "disable_path_apps": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "experimental": {
                    "description": "DEPRECATED: Use Experiments instead.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                        }
                    ]
                },
                "experiments": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "gitauth": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_codersdk_GitAuthConfig"
                },
                "http_address": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "in_memory_database": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "logging": {
                    "$ref": "#/definitions/codersdk.LoggingConfig"
                },
                "max_token_lifetime": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                },
                "metrics_cache_refresh_interval": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                },
                "oauth2": {
                    "$ref": "#/definitions/codersdk.OAuth2Config"
                },
                "oidc": {
                    "$ref": "#/definitions/codersdk.OIDCConfig"
                },
                "pg_connection_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "pprof": {
                    "$ref": "#/definitions/codersdk.PprofConfig"
                },
                "prometheus": {
                    "$ref": "#/definitions/codersdk.PrometheusConfig"
                },
                "provisioner": {
                    "$ref": "#/definitions/codersdk.ProvisionerConfig"
                },
                "proxy_trusted_headers": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "proxy_trusted_origins": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "rate_limit": {
                    "$ref": "#/definitions/codersdk.RateLimitConfig"
                },
                "scim_api_key": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "secure_auth_cookie": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "ssh_keygen_algorithm": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "swagger": {
                    "$ref": "#/definitions/codersdk.SwaggerConfig"
                },
                "telemetry": {
                    "$ref": "#/definitions/codersdk.TelemetryConfig"
                },
                "tls": {
                    "$ref": "#/definitions/codersdk.TLSConfig"
                },
                "trace": {
                    "$ref": "#/definitions/codersdk.TraceConfig"
                },
                "update_check": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "wildcard_access_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                }
            }
        },
        "codersdk.DeploymentConfigField-array_codersdk_GitAuthConfig": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.GitAuthConfig"
                    }
                },
                "enterprise": {
                    "type": "boolean"
                },
                "flag": {
                    "type": "string"
                },
                "hidden": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "secret": {
                    "type": "boolean"
                },
                "shorthand": {
                    "type": "string"
                },
                "usage": {
                    "type": "string"
                },
                "value": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.GitAuthConfig"
                    }
                }
            }
        },
        "codersdk.DeploymentConfigField-array_string": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "enterprise": {
                    "type": "boolean"
                },
                "flag": {
                    "type": "string"
                },
                "hidden": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "secret": {
                    "type": "boolean"
                },
                "shorthand": {
                    "type": "string"
                },
                "usage": {
                    "type": "string"
                },
                "value": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "codersdk.DeploymentConfigField-bool": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "boolean"
                },
                "enterprise": {
                    "type": "boolean"
                },
                "flag": {
                    "type": "string"
                },
                "hidden": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "secret": {
                    "type": "boolean"
                },
                "shorthand": {
                    "type": "string"
                },
                "usage": {
                    "type": "string"
                },
                "value": {
                    "type": "boolean"
                }
            }
        },
        "codersdk.DeploymentConfigField-int": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "integer"
                },
                "enterprise": {
                    "type": "boolean"
                },
                "flag": {
                    "type": "string"
                },
                "hidden": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "secret": {
                    "type": "boolean"
                },
                "shorthand": {
                    "type": "string"
                },
                "usage": {
                    "type": "string"
                },
                "value": {
                    "type": "integer"
                }
            }
        },
        "codersdk.DeploymentConfigField-string": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "string"
                },
                "enterprise": {
                    "type": "boolean"
                },
                "flag": {
                    "type": "string"
                },
                "hidden": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "secret": {
                    "type": "boolean"
                },
                "shorthand": {
                    "type": "string"
                },
                "usage": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "codersdk.DeploymentConfigField-time_Duration": {
            "type": "object",
            "properties": {
                "default": {
                    "type": "integer"
                },
                "enterprise": {
                    "type": "boolean"
                },
                "flag": {
                    "type": "string"
                },
                "hidden": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "secret": {
                    "type": "boolean"
                },
                "shorthand": {
                    "type": "string"
                },
                "usage": {
                    "type": "string"
                },
                "value": {
                    "type": "integer"
                }
            }
        },
        "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"
                    }
                },
                "experimental": {
                    "description": "DEPRECATED: use Experiments instead.",
                    "type": "boolean"
                },
                "features": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/codersdk.Feature"
                    }
                },
                "has_license": {
                    "type": "boolean"
                },
                "trial": {
                    "type": "boolean"
                },
                "warnings": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "codersdk.Feature": {
            "type": "object",
            "properties": {
                "actual": {
                    "type": "integer"
                },
                "enabled": {
                    "type": "boolean"
                },
                "entitlement": {
                    "$ref": "#/definitions/codersdk.Entitlement"
                },
                "limit": {
                    "type": "integer"
                }
            }
        },
        "codersdk.GenerateAPIKeyResponse": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                }
            }
        },
        "codersdk.GetAppHostResponse": {
            "type": "object",
            "properties": {
                "host": {
                    "description": "Host is the externally accessible URL for the Coder instance.",
                    "type": "string"
                }
            }
        },
        "codersdk.GetUsersResponse": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.User"
                    }
                }
            }
        },
        "codersdk.GitAuthConfig": {
            "type": "object",
            "properties": {
                "auth_url": {
                    "type": "string"
                },
                "client_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "no_refresh": {
                    "type": "boolean"
                },
                "regex": {
                    "type": "string"
                },
                "scopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "token_url": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "validate_url": {
                    "type": "string"
                }
            }
        },
        "codersdk.GitSSHKey": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "public_key": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "user_id": {
                    "type": "string",
                    "format": "uuid"
                }
            }
        },
        "codersdk.GoogleInstanceIdentityToken": {
            "type": "object",
            "required": [
                "json_web_token"
            ],
            "properties": {
                "json_web_token": {
                    "type": "string"
                }
            }
        },
        "codersdk.Group": {
            "type": "object",
            "properties": {
                "avatar_url": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.User"
                    }
                },
                "name": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "quota_allowance": {
                    "type": "integer"
                }
            }
        },
        "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.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.ListeningPort": {
            "type": "object",
            "properties": {
                "network": {
                    "description": "only \"tcp\" at the moment",
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ListeningPortNetwork"
                        }
                    ]
                },
                "port": {
                    "type": "integer"
                },
                "process_name": {
                    "description": "may be empty",
                    "type": "string"
                }
            }
        },
        "codersdk.ListeningPortNetwork": {
            "type": "string",
            "enum": [
                "tcp"
            ],
            "x-enum-varnames": [
                "ListeningPortNetworkTCP"
            ]
        },
        "codersdk.ListeningPortsResponse": {
            "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.ListeningPort"
                    }
                }
            }
        },
        "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": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "json": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "stackdriver": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                }
            }
        },
        "codersdk.LoginType": {
            "type": "string",
            "enum": [
                "password",
                "github",
                "oidc",
                "token"
            ],
            "x-enum-varnames": [
                "LoginTypePassword",
                "LoginTypeGithub",
                "LoginTypeOIDC",
                "LoginTypeToken"
            ]
        },
        "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.OAuth2Config": {
            "type": "object",
            "properties": {
                "github": {
                    "$ref": "#/definitions/codersdk.OAuth2GithubConfig"
                }
            }
        },
        "codersdk.OAuth2GithubConfig": {
            "type": "object",
            "properties": {
                "allow_everyone": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "allow_signups": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "allowed_orgs": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "allowed_teams": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "client_id": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "client_secret": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "enterprise_base_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                }
            }
        },
        "codersdk.OIDCConfig": {
            "type": "object",
            "properties": {
                "allow_signups": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "client_id": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "client_secret": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "email_domain": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "ignore_email_verified": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "issuer_url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "scopes": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "username_field": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                }
            }
        },
        "codersdk.Organization": {
            "type": "object",
            "required": [
                "created_at",
                "id",
                "name",
                "updated_at"
            ],
            "properties": {
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "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.Role"
                    }
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "user_id": {
                    "type": "string",
                    "format": "uuid"
                }
            }
        },
        "codersdk.Parameter": {
            "description": "Parameter represents a set value for the scope.",
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "destination_scheme": {
                    "enum": [
                        "none",
                        "environment_variable",
                        "provisioner_variable"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterDestinationScheme"
                        }
                    ]
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "name": {
                    "type": "string"
                },
                "scope": {
                    "enum": [
                        "template",
                        "workspace",
                        "import_job"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterScope"
                        }
                    ]
                },
                "scope_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "source_scheme": {
                    "enum": [
                        "none",
                        "data"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterSourceScheme"
                        }
                    ]
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "codersdk.ParameterDestinationScheme": {
            "type": "string",
            "enum": [
                "none",
                "environment_variable",
                "provisioner_variable"
            ],
            "x-enum-varnames": [
                "ParameterDestinationSchemeNone",
                "ParameterDestinationSchemeEnvironmentVariable",
                "ParameterDestinationSchemeProvisionerVariable"
            ]
        },
        "codersdk.ParameterSchema": {
            "type": "object",
            "properties": {
                "allow_override_destination": {
                    "type": "boolean"
                },
                "allow_override_source": {
                    "type": "boolean"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "default_destination_scheme": {
                    "enum": [
                        "none",
                        "environment_variable",
                        "provisioner_variable"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterDestinationScheme"
                        }
                    ]
                },
                "default_refresh": {
                    "type": "string"
                },
                "default_source_scheme": {
                    "enum": [
                        "none",
                        "data"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.ParameterSourceScheme"
                        }
                    ]
                },
                "default_source_value": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "job_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "name": {
                    "type": "string"
                },
                "redisplay_value": {
                    "type": "boolean"
                },
                "validation_condition": {
                    "type": "string"
                },
                "validation_contains": {
                    "description": "This is a special array of items provided if the validation condition\nexplicitly states the value must be one of a set.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "validation_error": {
                    "type": "string"
                },
                "validation_type_system": {
                    "type": "string"
                },
                "validation_value_type": {
                    "type": "string"
                }
            }
        },
        "codersdk.ParameterScope": {
            "type": "string",
            "enum": [
                "template",
                "workspace",
                "import_job"
            ],
            "x-enum-varnames": [
                "ParameterTemplate",
                "ParameterWorkspace",
                "ParameterImportJob"
            ]
        },
        "codersdk.ParameterSourceScheme": {
            "type": "string",
            "enum": [
                "none",
                "data"
            ],
            "x-enum-varnames": [
                "ParameterSourceSchemeNone",
                "ParameterSourceSchemeData"
            ]
        },
        "codersdk.PostWorkspaceAgentVersionRequest": {
            "description": "x-apidocgen:skip",
            "type": "object",
            "properties": {
                "version": {
                    "type": "string"
                }
            }
        },
        "codersdk.PostWorkspaceAppHealthsRequest": {
            "type": "object",
            "properties": {
                "healths": {
                    "description": "Healths is a map of the workspace app name and the health of the app.",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/codersdk.WorkspaceAppHealth"
                    }
                }
            }
        },
        "codersdk.PprofConfig": {
            "type": "object",
            "properties": {
                "address": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                }
            }
        },
        "codersdk.PrometheusConfig": {
            "type": "object",
            "properties": {
                "address": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                }
            }
        },
        "codersdk.ProvisionerConfig": {
            "type": "object",
            "properties": {
                "daemon_poll_interval": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                },
                "daemon_poll_jitter": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                },
                "daemons": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-int"
                },
                "force_cancel_interval": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
                }
            }
        },
        "codersdk.ProvisionerDaemon": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "name": {
                    "type": "string"
                },
                "provisioners": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "updated_at": {
                    "format": "date-time",
                    "allOf": [
                        {
                            "$ref": "#/definitions/sql.NullTime"
                        }
                    ]
                }
            }
        },
        "codersdk.ProvisionerJob": {
            "type": "object",
            "properties": {
                "canceled_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "completed_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "error": {
                    "type": "string"
                },
                "file_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "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"
                    }
                },
                "worker_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.ProvisionerJobStatus": {
            "type": "string",
            "enum": [
                "pending",
                "running",
                "succeeded",
                "canceling",
                "canceled",
                "failed"
            ],
            "x-enum-varnames": [
                "ProvisionerJobPending",
                "ProvisionerJobRunning",
                "ProvisionerJobSucceeded",
                "ProvisionerJobCanceling",
                "ProvisionerJobCanceled",
                "ProvisionerJobFailed"
            ]
        },
        "codersdk.PutExtendWorkspaceRequest": {
            "type": "object",
            "required": [
                "deadline"
            ],
            "properties": {
                "deadline": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "codersdk.RateLimitConfig": {
            "type": "object",
            "properties": {
                "api": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-int"
                },
                "disable_all": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                }
            }
        },
        "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.ResourceType": {
            "type": "string",
            "enum": [
                "organization",
                "template",
                "template_version",
                "user",
                "workspace",
                "workspace_build",
                "git_ssh_key",
                "api_key",
                "group"
            ],
            "x-enum-varnames": [
                "ResourceTypeOrganization",
                "ResourceTypeTemplate",
                "ResourceTypeTemplateVersion",
                "ResourceTypeUser",
                "ResourceTypeWorkspace",
                "ResourceTypeWorkspaceBuild",
                "ResourceTypeGitSSHKey",
                "ResourceTypeAPIKey",
                "ResourceTypeGroup"
            ]
        },
        "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"
                }
            }
        },
        "codersdk.ServiceBannerConfig": {
            "type": "object",
            "properties": {
                "background_color": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "codersdk.SwaggerConfig": {
            "type": "object",
            "properties": {
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                }
            }
        },
        "codersdk.TLSConfig": {
            "type": "object",
            "properties": {
                "address": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "cert_file": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "client_auth": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "client_ca_file": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "client_cert_file": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "client_key_file": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "key_file": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
                },
                "min_version": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                },
                "redirect_http": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                }
            }
        },
        "codersdk.TelemetryConfig": {
            "type": "object",
            "properties": {
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "trace": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "url": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-string"
                }
            }
        },
        "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"
                },
                "allow_user_cancel_workspace_jobs": {
                    "type": "boolean"
                },
                "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"
                },
                "description": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "name": {
                    "type": "string"
                },
                "organization_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "provisioner": {
                    "type": "string",
                    "enum": [
                        "terraform"
                    ]
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "workspace_owner_count": {
                    "type": "integer"
                }
            }
        },
        "codersdk.TemplateBuildTimeStats": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/codersdk.TransitionStats"
            }
        },
        "codersdk.TemplateDAUsResponse": {
            "type": "object",
            "properties": {
                "entries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.DAUEntry"
                    }
                }
            }
        },
        "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.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"
                },
                "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.Role"
                    }
                },
                "status": {
                    "enum": [
                        "active",
                        "suspended"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.UserStatus"
                        }
                    ]
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "codersdk.TemplateVersion": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "created_by": {
                    "$ref": "#/definitions/codersdk.User"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "job": {
                    "$ref": "#/definitions/codersdk.ProvisionerJob"
                },
                "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"
                }
            }
        },
        "codersdk.TraceConfig": {
            "type": "object",
            "properties": {
                "capture_logs": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "enable": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
                },
                "honeycomb_api_key": {
                    "$ref": "#/definitions/codersdk.DeploymentConfigField-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.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.UpdateRoles": {
            "type": "object",
            "properties": {
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "codersdk.UpdateTemplateACL": {
            "type": "object",
            "properties": {
                "group_perms": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/codersdk.TemplateRole"
                    }
                },
                "user_perms": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/codersdk.TemplateRole"
                    }
                }
            }
        },
        "codersdk.UpdateUserPasswordRequest": {
            "type": "object",
            "required": [
                "password"
            ],
            "properties": {
                "old_password": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "codersdk.UpdateUserProfileRequest": {
            "type": "object",
            "required": [
                "username"
            ],
            "properties": {
                "username": {
                    "type": "string"
                }
            }
        },
        "codersdk.UpdateWorkspaceAutostartRequest": {
            "type": "object",
            "properties": {
                "schedule": {
                    "type": "string"
                }
            }
        },
        "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.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"
                },
                "organization_ids": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "roles": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.Role"
                    }
                },
                "status": {
                    "enum": [
                        "active",
                        "suspended"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.UserStatus"
                        }
                    ]
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "codersdk.UserStatus": {
            "type": "string",
            "enum": [
                "active",
                "suspended"
            ],
            "x-enum-varnames": [
                "UserStatusActive",
                "UserStatusSuspended"
            ]
        },
        "codersdk.ValidationError": {
            "type": "object",
            "required": [
                "detail",
                "field"
            ],
            "properties": {
                "detail": {
                    "type": "string"
                },
                "field": {
                    "type": "string"
                }
            }
        },
        "codersdk.Workspace": {
            "type": "object",
            "properties": {
                "autostart_schedule": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "last_used_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "latest_build": {
                    "$ref": "#/definitions/codersdk.WorkspaceBuild"
                },
                "name": {
                    "type": "string"
                },
                "outdated": {
                    "type": "boolean"
                },
                "owner_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "owner_name": {
                    "type": "string"
                },
                "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"
                },
                "ttl_ms": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "codersdk.WorkspaceAgent": {
            "type": "object",
            "properties": {
                "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"
                },
                "environment_variables": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "first_connected_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "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"
                    }
                },
                "name": {
                    "type": "string"
                },
                "operating_system": {
                    "type": "string"
                },
                "resource_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "startup_script": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "connecting",
                        "connected",
                        "disconnected",
                        "timeout"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.WorkspaceAgentStatus"
                        }
                    ]
                },
                "troubleshooting_url": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "codersdk.WorkspaceAgentAuthenticateResponse": {
            "type": "object",
            "properties": {
                "session_token": {
                    "type": "string"
                }
            }
        },
        "codersdk.WorkspaceAgentConnectionInfo": {
            "type": "object",
            "properties": {
                "derp_map": {
                    "$ref": "#/definitions/tailcfg.DERPMap"
                }
            }
        },
        "codersdk.WorkspaceAgentGitAuthResponse": {
            "type": "object",
            "properties": {
                "password": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "codersdk.WorkspaceAgentMetadata": {
            "type": "object",
            "properties": {
                "apps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/codersdk.WorkspaceApp"
                    }
                },
                "derpmap": {
                    "$ref": "#/definitions/tailcfg.DERPMap"
                },
                "directory": {
                    "type": "string"
                },
                "environment_variables": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "git_auth_configs": {
                    "description": "GitAuthConfigs stores the number of Git configurations\nthe Coder deployment has. If this number is \u003e0, we\nset up special configuration in the workspace.",
                    "type": "integer"
                },
                "motd_file": {
                    "type": "string"
                },
                "startup_script": {
                    "type": "string"
                },
                "vscode_port_proxy_uri": {
                    "type": "string"
                }
            }
        },
        "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"
                },
                "health": {
                    "$ref": "#/definitions/codersdk.WorkspaceAppHealth"
                },
                "healthcheck": {
                    "description": "Healthcheck specifies the configuration for checking app health.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.Healthcheck"
                        }
                    ]
                },
                "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"
                },
                "sharing_level": {
                    "enum": [
                        "owner",
                        "authenticated",
                        "public"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/codersdk.WorkspaceAppSharingLevel"
                        }
                    ]
                },
                "slug": {
                    "description": "Slug is a unique identifier within the agent.",
                    "type": "string"
                },
                "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"
                },
                "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.WorkspaceAppSharingLevel": {
            "type": "string",
            "enum": [
                "owner",
                "authenticated",
                "public"
            ],
            "x-enum-varnames": [
                "WorkspaceAppSharingLevelOwner",
                "WorkspaceAppSharingLevelAuthenticated",
                "WorkspaceAppSharingLevelPublic"
            ]
        },
        "codersdk.WorkspaceBuild": {
            "type": "object",
            "properties": {
                "build_number": {
                    "type": "integer"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time"
                },
                "daily_cost": {
                    "type": "integer"
                },
                "deadline": {
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "initiator_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "initiator_name": {
                    "type": "string"
                },
                "job": {
                    "$ref": "#/definitions/codersdk.ProvisionerJob"
                },
                "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"
                },
                "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_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "workspace_owner_name": {
                    "type": "string"
                }
            }
        },
        "codersdk.WorkspaceBuildParameter": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "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"
                    }
                }
            }
        },
        "database.ParameterDestinationScheme": {
            "type": "string",
            "enum": [
                "none",
                "environment_variable",
                "provisioner_variable"
            ],
            "x-enum-varnames": [
                "ParameterDestinationSchemeNone",
                "ParameterDestinationSchemeEnvironmentVariable",
                "ParameterDestinationSchemeProvisionerVariable"
            ]
        },
        "database.ParameterScope": {
            "type": "string",
            "enum": [
                "template",
                "import_job",
                "workspace"
            ],
            "x-enum-varnames": [
                "ParameterScopeTemplate",
                "ParameterScopeImportJob",
                "ParameterScopeWorkspace"
            ]
        },
        "database.ParameterSourceScheme": {
            "type": "string",
            "enum": [
                "none",
                "data"
            ],
            "x-enum-varnames": [
                "ParameterSourceSchemeNone",
                "ParameterSourceSchemeData"
            ]
        },
        "parameter.ComputedValue": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "default_source_value": {
                    "type": "boolean"
                },
                "destination_scheme": {
                    "$ref": "#/definitions/database.ParameterDestinationScheme"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "schema_id": {
                    "type": "string"
                },
                "scope": {
                    "$ref": "#/definitions/database.ParameterScope"
                },
                "scope_id": {
                    "type": "string"
                },
                "source_scheme": {
                    "$ref": "#/definitions/database.ParameterSourceScheme"
                },
                "source_value": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "sql.NullTime": {
            "type": "object",
            "properties": {
                "time": {
                    "type": "string"
                },
                "valid": {
                    "description": "Valid is true if Time is not NULL",
                    "type": "boolean"
                }
            }
        },
        "tailcfg.DERPMap": {
            "type": "object",
            "properties": {
                "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.",
                    "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": {
                "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"
                }
            }
        }
    },
    "securityDefinitions": {
        "CoderSessionToken": {
            "type": "apiKey",
            "name": "Coder-Session-Token",
            "in": "header"
        }
    }
}`

// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
	Version:          "2.0",
	Host:             "",
	BasePath:         "/api/v2",
	Schemes:          []string{},
	Title:            "Coder API",
	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.",
	InfoInstanceName: "swagger",
	SwaggerTemplate:  docTemplate,
}

func init() {
	swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}
