coder/coderd/apidoc/docs.go

8501 lines
282 KiB
Go

// 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"
}
}
}
},
"/debug/coordinator": {
"get": {
"security": [
{
"CoderSessionToken": []
}
],
"produces": [
"text/html"
],
"tags": [
"Debug"
],
"summary": "Debug Info Wireguard Coordinator",
"operationId": "debug-info-wireguard-coordinator",
"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": {
"$ref": "#/definitions/codersdk.Experiment"
}
}
}
}
}
},
"/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"
}
}
}
}
},
"/insights/daus": {
"get": {
"security": [
{
"CoderSessionToken": []
}
],
"produces": [
"application/json"
],
"tags": [
"Insights"
],
"summary": "Get deployment DAUs",
"operationId": "get-deployment-daus",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/codersdk.DeploymentDAUsResponse"
}
}
}
}
},
"/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-lifecycle": {
"post": {
"security": [
{
"CoderSessionToken": []
}
],
"consumes": [
"application/json"
],
"tags": [
"Agents"
],
"summary": "Submit workspace agent lifecycle state",
"operationId": "submit-workspace-agent-lifecycle-state",
"parameters": [
{
"description": "Workspace agent lifecycle request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/codersdk.PostWorkspaceAgentLifecycleRequest"
}
}
],
"responses": {
"204": {
"description": "Success"
}
},
"x-apidocgen": {
"skip": true
}
}
},
"/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"
}
]
},
"build_reason": {
"enum": [
"autostart",
"autostop",
"initiator"
],
"allOf": [
{
"$ref": "#/definitions/codersdk.BuildReason"
}
]
},
"resource_id": {
"type": "string",
"format": "uuid"
},
"resource_type": {
"enum": [
"template",
"template_version",
"user",
"workspace",
"workspace_build",
"git_ssh_key",
"auditable_group"
],
"allOf": [
{
"$ref": "#/definitions/codersdk.ResourceType"
}
]
},
"time": {
"type": "string",
"format": "date-time"
}
}
},
"codersdk.CreateTokenRequest": {
"type": "object",
"properties": {
"lifetime": {
"type": "integer"
},
"scope": {
"enum": [
"all",
"application_connect"
],
"allOf": [
{
"$ref": "#/definitions/codersdk.APIKeyScope"
}
]
}
}
},
"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.DeploymentDAUsResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.DAUEntry"
}
}
}
},
"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.Experiment": {
"type": "string",
"enum": [
"authz_querier"
],
"x-enum-varnames": [
"ExperimentAuthzQuerier"
]
},
"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.PostWorkspaceAgentLifecycleRequest": {
"type": "object",
"properties": {
"state": {
"$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle"
}
}
},
"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": [
"template",
"template_version",
"user",
"workspace",
"workspace_build",
"git_ssh_key",
"api_key",
"group"
],
"x-enum-varnames": [
"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"
}
},
"lifecycle_state": {
"$ref": "#/definitions/codersdk.WorkspaceAgentLifecycle"
},
"login_before_ready": {
"description": "LoginBeforeReady if true, the agent will delay logins until it is ready (e.g. executing startup script has ended).",
"type": "boolean"
},
"name": {
"type": "string"
},
"operating_system": {
"type": "string"
},
"resource_id": {
"type": "string",
"format": "uuid"
},
"startup_script": {
"type": "string"
},
"startup_script_timeout_seconds": {
"description": "StartupScriptTimeoutSeconds is the number of seconds to wait for the startup script to complete. If the script does not complete within this time, the agent lifecycle will be marked as start_timeout.",
"type": "integer"
},
"status": {
"$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.WorkspaceAgentLifecycle": {
"type": "string",
"enum": [
"created",
"starting",
"start_timeout",
"start_error",
"ready"
],
"x-enum-varnames": [
"WorkspaceAgentLifecycleCreated",
"WorkspaceAgentLifecycleStarting",
"WorkspaceAgentLifecycleStartTimeout",
"WorkspaceAgentLifecycleStartError",
"WorkspaceAgentLifecycleReady"
]
},
"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"
},
"startup_script_timeout": {
"type": "integer"
},
"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)
}