agentsdk.AWSInstanceIdentityToken
{
"document": "string",
"signature": "string"
}
Properties
Name Type Required Restrictions Description documentstring true signaturestring true
agentsdk.AgentMetric
{
"labels": [
{
"name": "string",
"value": "string"
}
],
"name": "string",
"type": "counter",
"value": 0
}
Properties
Enumerated Values
Property Value typecountertypegauge
agentsdk.AgentMetricLabel
{
"name": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description namestring true valuestring true
agentsdk.AgentMetricType
Properties
Enumerated Values
agentsdk.AuthenticateResponse
{
"session_token": "string"
}
Properties
Name Type Required Restrictions Description session_tokenstring false
agentsdk.AzureInstanceIdentityToken
{
"encoding": "string",
"signature": "string"
}
Properties
Name Type Required Restrictions Description encodingstring true signaturestring true
agentsdk.ExternalAuthResponse
{
"access_token": "string",
"password": "string",
"token_extra": {},
"type": "string",
"url": "string",
"username": "string"
}
Properties
Name Type Required Restrictions Description access_tokenstring false passwordstring false token_extraobject false typestring false urlstring false usernamestring false Deprecated: Only supported on /workspaceagents/me/gitauth for backwards compatibility.
agentsdk.GitSSHKey
{
"private_key": "string",
"public_key": "string"
}
Properties
Name Type Required Restrictions Description private_keystring false public_keystring false
agentsdk.GoogleInstanceIdentityToken
{
"json_web_token": "string"
}
Properties
Name Type Required Restrictions Description json_web_tokenstring true
agentsdk.Log
{
"created_at": "string",
"level": "trace",
"output": "string"
}
Properties
Name Type Required Restrictions Description created_atstring false levelcodersdk.LogLevel false outputstring false
agentsdk.Manifest
{
"agent_id": "string",
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
],
"derp_force_websockets": true,
"derpmap": {
"homeParams": {
"regionScore": {
"property1": 0,
"property2": 0
}
},
"omitDefaultRegions": true,
"regions": {
"property1": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
},
"property2": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
},
"directory": "string",
"disable_direct_connections": true,
"environment_variables": {
"property1": "string",
"property2": "string"
},
"git_auth_configs": 0,
"metadata": [
{
"display_name": "string",
"interval": 0,
"key": "string",
"script": "string",
"timeout": 0
}
],
"motd_file": "string",
"scripts": [
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
],
"vscode_port_proxy_uri": "string"
}
Properties
Name Type Required Restrictions Description agent_idstring false appsarray of codersdk.WorkspaceApp false derp_force_websocketsboolean false derpmaptailcfg.DERPMap false directorystring false disable_direct_connectionsboolean false environment_variablesobject false » [any property] string false git_auth_configsinteger false Git auth configs stores the number of Git configurations the Coder deployment has. If this number is >0, we set up special configuration in the workspace. metadataarray of codersdk.WorkspaceAgentMetadataDescription false motd_filestring false scriptsarray of codersdk.WorkspaceAgentScript false vscode_port_proxy_uristring false
{
"age": 0,
"collected_at": "2019-08-24T14:15:22Z",
"error": "string",
"key": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description ageinteger false Age is the number of seconds since the metadata was collected. It is provided in addition to CollectedAt to protect against clock skew. collected_atstring false errorstring false keystring false valuestring false
agentsdk.PatchLogs
{
"log_source_id": "string",
"logs": [
{
"created_at": "string",
"level": "trace",
"output": "string"
}
]
}
Properties
Name Type Required Restrictions Description log_source_idstring false logsarray of agentsdk.Log false
agentsdk.PostAppHealthsRequest
{
"healths": {
"property1": "disabled",
"property2": "disabled"
}
}
Properties
Name Type Required Restrictions Description healthsobject false Healths is a map of the workspace app name and the health of the app. » [any property] codersdk.WorkspaceAppHealth false
agentsdk.PostLifecycleRequest
{
"changed_at": "string",
"state": "created"
}
Properties
agentsdk.PostMetadataRequest
{
"metadata": [
{
"age": 0,
"collected_at": "2019-08-24T14:15:22Z",
"error": "string",
"key": "string",
"value": "string"
}
]
}
Properties
agentsdk.PostMetadataRequestDeprecated
{
"age": 0,
"collected_at": "2019-08-24T14:15:22Z",
"error": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description ageinteger false Age is the number of seconds since the metadata was collected. It is provided in addition to CollectedAt to protect against clock skew. collected_atstring false errorstring false valuestring false
agentsdk.PostStartupRequest
{
"expanded_directory": "string",
"subsystems": ["envbox"],
"version": "string"
}
Properties
Name Type Required Restrictions Description expanded_directorystring false subsystemsarray of codersdk.AgentSubsystem false versionstring false
agentsdk.Stats
{
"connection_count": 0,
"connection_median_latency_ms": 0,
"connections_by_proto": {
"property1": 0,
"property2": 0
},
"metrics": [
{
"labels": [
{
"name": "string",
"value": "string"
}
],
"name": "string",
"type": "counter",
"value": 0
}
],
"rx_bytes": 0,
"rx_packets": 0,
"session_count_jetbrains": 0,
"session_count_reconnecting_pty": 0,
"session_count_ssh": 0,
"session_count_vscode": 0,
"tx_bytes": 0,
"tx_packets": 0
}
Properties
Name Type Required Restrictions Description connection_countinteger false Connection count is the number of connections received by an agent. connection_median_latency_msnumber false Connection median latency ms is the median latency of all connections in milliseconds. connections_by_protoobject false Connections by proto is a count of connections by protocol. » [any property] integer false metricsarray of agentsdk.AgentMetric false Metrics collected by the agent rx_bytesinteger false Rx bytes is the number of received bytes. rx_packetsinteger false Rx packets is the number of received packets. session_count_jetbrainsinteger false Session count jetbrains is the number of connections received by an agent that are from our JetBrains extension. session_count_reconnecting_ptyinteger false Session count reconnecting pty is the number of connections received by an agent that are from the reconnecting web terminal. session_count_sshinteger false Session count ssh is the number of connections received by an agent that are normal, non-tagged SSH sessions. session_count_vscodeinteger false Session count vscode is the number of connections received by an agent that are from our VS Code extension. tx_bytesinteger false Tx bytes is the number of transmitted bytes. tx_packetsinteger false Tx packets is the number of transmitted bytes.
agentsdk.StatsResponse
Properties
Name Type Required Restrictions Description report_intervalinteger false Report interval is the duration after which the agent should send stats again.
clibase.Annotations
{
"property1": "string",
"property2": "string"
}
Properties
Name Type Required Restrictions Description [any property]string false
clibase.Group
{
"description": "string",
"name": "string",
"parent": {
"description": "string",
"name": "string",
"parent": {},
"yaml": "string"
},
"yaml": "string"
}
Properties
Name Type Required Restrictions Description descriptionstring false namestring false parentclibase.Group false yamlstring false
clibase.HostPort
{
"host": "string",
"port": "string"
}
Properties
Name Type Required Restrictions Description hoststring false portstring false
clibase.Option
{
"annotations": {
"property1": "string",
"property2": "string"
},
"default": "string",
"description": "string",
"env": "string",
"flag": "string",
"flag_shorthand": "string",
"group": {
"description": "string",
"name": "string",
"parent": {
"description": "string",
"name": "string",
"parent": {},
"yaml": "string"
},
"yaml": "string"
},
"hidden": true,
"name": "string",
"required": true,
"use_instead": [
{
"annotations": {
"property1": "string",
"property2": "string"
},
"default": "string",
"description": "string",
"env": "string",
"flag": "string",
"flag_shorthand": "string",
"group": {
"description": "string",
"name": "string",
"parent": {
"description": "string",
"name": "string",
"parent": {},
"yaml": "string"
},
"yaml": "string"
},
"hidden": true,
"name": "string",
"required": true,
"use_instead": [],
"value": null,
"value_source": "",
"yaml": "string"
}
],
"value": null,
"value_source": "",
"yaml": "string"
}
Properties
Name Type Required Restrictions Description annotationsclibase.Annotations false Annotations enable extensions to clibase higher up in the stack. It's useful for help formatting and documentation generation. defaultstring false Default is parsed into Value if set. descriptionstring false envstring false Env is the environment variable used to configure this option. If unset, environment configuring is disabled. flagstring false Flag is the long name of the flag used to configure this option. If unset, flag configuring is disabled. flag_shorthandstring false Flag shorthand is the one-character shorthand for the flag. If unset, no shorthand is used. groupclibase.Group false Group is a group hierarchy that helps organize this option in help, configs and other documentation. hiddenboolean false namestring false requiredboolean false Required means this value must be set by some means. It requires ValueSource != ValueSourceNone If Default is set, then Required is ignored. use_insteadarray of clibase.Option false Use instead is a list of options that should be used instead of this one. The field is used to generate a deprecation warning. valueany false Value includes the types listed in values.go. value_sourceclibase.ValueSource false yamlstring false Yaml is the YAML key used to configure this option. If unset, YAML configuring is disabled.
clibase.Regexp
Properties
None
clibase.Struct-array_codersdk_ExternalAuthConfig
{
"value": [
{
"app_install_url": "string",
"app_installations_url": "string",
"auth_url": "string",
"client_id": "string",
"device_code_url": "string",
"device_flow": true,
"display_icon": "string",
"display_name": "string",
"extra_token_keys": ["string"],
"id": "string",
"no_refresh": true,
"regex": "string",
"scopes": ["string"],
"token_url": "string",
"type": "string",
"validate_url": "string"
}
]
}
Properties
clibase.Struct-array_codersdk_LinkConfig
{
"value": [
{
"icon": "string",
"name": "string",
"target": "string"
}
]
}
Properties
clibase.URL
{
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
}
Properties
Name Type Required Restrictions Description forceQueryboolean false append a query ('?') even if RawQuery is empty fragmentstring false fragment for references, without '#' hoststring false host or host:port omitHostboolean false do not emit empty host (authority) opaquestring false encoded opaque data pathstring false path (relative paths may omit leading slash) rawFragmentstring false encoded fragment hint (see EscapedFragment method) rawPathstring false encoded path hint (see EscapedPath method) rawQuerystring false encoded query values, without '?' schemestring false userurl.Userinfo false username and password information
clibase.ValueSource
Properties
Enumerated Values
Value `` flagenvyamldefault
coderd.SCIMUser
{
"active": true,
"emails": [
{
"display": "string",
"primary": true,
"type": "string",
"value": "[email protected] "
}
],
"groups": [null],
"id": "string",
"meta": {
"resourceType": "string"
},
"name": {
"familyName": "string",
"givenName": "string"
},
"schemas": ["string"],
"userName": "string"
}
Properties
Name Type Required Restrictions Description activeboolean false emailsarray of object false » displaystring false » primaryboolean false » typestring false » valuestring false groupsarray of undefined false idstring false metaobject false » resourceTypestring false nameobject false » familyNamestring false » givenNamestring false schemasarray of string false userNamestring false
coderd.cspViolation
Properties
Name Type Required Restrictions Description csp-reportobject false
codersdk.ACLAvailable
{
"groups": [
{
"avatar_url": "string",
"display_name": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"members": [
{
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
],
"name": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"quota_allowance": 0,
"source": "user"
}
],
"users": [
{
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
]
}
Properties
codersdk.APIKey
{
"created_at": "2019-08-24T14:15:22Z",
"expires_at": "2019-08-24T14:15:22Z",
"id": "string",
"last_used": "2019-08-24T14:15:22Z",
"lifetime_seconds": 0,
"login_type": "password",
"scope": "all",
"token_name": "string",
"updated_at": "2019-08-24T14:15:22Z",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Properties
Name Type Required Restrictions Description created_atstring true expires_atstring true idstring true last_usedstring true lifetime_secondsinteger true login_typecodersdk.LoginType true scopecodersdk.APIKeyScope true token_namestring true updated_atstring true user_idstring true
Enumerated Values
Property Value login_typepasswordlogin_typegithublogin_typeoidclogin_typetokenscopeallscopeapplication_connect
codersdk.APIKeyScope
Properties
Enumerated Values
Value allapplication_connect
codersdk.AddLicenseRequest
Properties
Name Type Required Restrictions Description licensestring true
codersdk.AgentSubsystem
Properties
Enumerated Values
Value envboxenvbuilderexectrace
codersdk.AppHostResponse
Properties
Name Type Required Restrictions Description hoststring false Host is the externally accessible URL for the Coder instance.
codersdk.AppearanceConfig
{
"application_name": "string",
"logo_url": "string",
"service_banner": {
"background_color": "string",
"enabled": true,
"message": "string"
},
"support_links": [
{
"icon": "string",
"name": "string",
"target": "string"
}
]
}
Properties
codersdk.ArchiveTemplateVersionsRequest
Properties
Name Type Required Restrictions Description allboolean false By default, only failed versions are archived. Set this to true to archive all unused versions regardless of job status.
codersdk.AssignableRoles
{
"assignable": true,
"display_name": "string",
"name": "string"
}
Properties
Name Type Required Restrictions Description assignableboolean false display_namestring false namestring false
codersdk.AuditAction
Properties
Enumerated Values
Value createwritedeletestartstoploginlogoutregister
codersdk.AuditDiff
{
"property1": {
"new": null,
"old": null,
"secret": true
},
"property2": {
"new": null,
"old": null,
"secret": true
}
}
Properties
codersdk.AuditDiffField
{
"new": null,
"old": null,
"secret": true
}
Properties
Name Type Required Restrictions Description newany false oldany false secretboolean false
codersdk.AuditLog
{
"action": "create",
"additional_fields": [0],
"description": "string",
"diff": {
"property1": {
"new": null,
"old": null,
"secret": true
},
"property2": {
"new": null,
"old": null,
"secret": true
}
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"ip": "string",
"is_deleted": true,
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
"resource_icon": "string",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"resource_link": "string",
"resource_target": "string",
"resource_type": "template",
"status_code": 0,
"time": "2019-08-24T14:15:22Z",
"user": {
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
},
"user_agent": "string"
}
Properties
Name Type Required Restrictions Description actioncodersdk.AuditAction false additional_fieldsarray of integer false descriptionstring false diffcodersdk.AuditDiff false idstring false ipstring false is_deletedboolean false organization_idstring false request_idstring false resource_iconstring false resource_idstring false resource_linkstring false resource_targetstring false Resource target is the name of the resource. resource_typecodersdk.ResourceType false status_codeinteger false timestring false usercodersdk.User false user_agentstring false
codersdk.AuditLogResponse
{
"audit_logs": [
{
"action": "create",
"additional_fields": [0],
"description": "string",
"diff": {
"property1": {
"new": null,
"old": null,
"secret": true
},
"property2": {
"new": null,
"old": null,
"secret": true
}
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"ip": "string",
"is_deleted": true,
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"request_id": "266ea41d-adf5-480b-af50-15b940c2b846",
"resource_icon": "string",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"resource_link": "string",
"resource_target": "string",
"resource_type": "template",
"status_code": 0,
"time": "2019-08-24T14:15:22Z",
"user": {
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
},
"user_agent": "string"
}
],
"count": 0
}
Properties
Name Type Required Restrictions Description audit_logsarray of codersdk.AuditLog false countinteger false
codersdk.AuthMethod
Properties
Name Type Required Restrictions Description enabledboolean false
codersdk.AuthMethods
{
"github": {
"enabled": true
},
"oidc": {
"enabled": true,
"iconUrl": "string",
"signInText": "string"
},
"password": {
"enabled": true
}
}
Properties
codersdk.AuthorizationCheck
{
"action": "create",
"object": {
"organization_id": "string",
"owner_id": "string",
"resource_id": "string",
"resource_type": "workspace"
}
}
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.
Properties
Name Type Required Restrictions Description actionstring false objectcodersdk.AuthorizationObject false Object can represent a "set" of objects, such as: all workspaces in an organization, all workspaces owned by me, and all workspaces across the entire product. When defining an object, use the most specific language when possible to produce the smallest set. Meaning to set as many fields on 'Object' as you can. Example, if you want to check if you can update all workspaces owned by 'me', try to also add an 'OrganizationID' to the settings. Omitting the 'OrganizationID' could produce the incorrect value, as workspaces have both user and organization owners.
Enumerated Values
Property Value actioncreateactionreadactionupdateactiondelete
codersdk.AuthorizationObject
{
"organization_id": "string",
"owner_id": "string",
"resource_id": "string",
"resource_type": "workspace"
}
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.
Properties
Name Type Required Restrictions Description organization_idstring false Organization ID (optional) adds the set constraint to all resources owned by a given organization. owner_idstring false Owner ID (optional) adds the set constraint to all resources owned by a given user. resource_idstring false Resource ID (optional) reduces the set to a singular resource. This assigns a resource ID to the resource type, eg: a single workspace. The rbac library will not fetch the resource from the database, so if you are using this option, you should also set the owner ID and organization ID if possible. Be as specific as possible using all the fields relevant. resource_typecodersdk.RBACResource false Resource type is the name of the resource. ./coderd/rbac/object.go has the list of valid resource types.
codersdk.AuthorizationRequest
{
"checks": {
"property1": {
"action": "create",
"object": {
"organization_id": "string",
"owner_id": "string",
"resource_id": "string",
"resource_type": "workspace"
}
},
"property2": {
"action": "create",
"object": {
"organization_id": "string",
"owner_id": "string",
"resource_id": "string",
"resource_type": "workspace"
}
}
}
}
Properties
Name Type Required Restrictions Description checksobject false Checks is a map keyed with an arbitrary string to a permission check. The key can be any string that is helpful to the caller, and allows multiple permission checks to be run in a single request. The key ensures that each permission check has the same key in the response. » [any property] codersdk.AuthorizationCheck false It is used to check if the currently authenticated user (or the specified user) can do a given action to a given set of objects.
codersdk.AuthorizationResponse
{
"property1": true,
"property2": true
}
Properties
Name Type Required Restrictions Description [any property]boolean false
codersdk.AutomaticUpdates
Properties
Enumerated Values
codersdk.BuildInfoResponse
{
"dashboard_url": "string",
"external_url": "string",
"version": "string",
"workspace_proxy": true
}
Properties
Name Type Required Restrictions Description dashboard_urlstring false Dashboard URL is the URL to hit the deployment's dashboard. For external workspace proxies, this is the coderd they are connected to. external_urlstring false External URL references the current Coder version. For production builds, this will link directly to a release. For development builds, this will link to a commit. versionstring false Version returns the semantic version of the build. workspace_proxyboolean false
codersdk.BuildReason
Properties
Enumerated Values
Value initiatorautostartautostop
codersdk.ConnectionLatency
{
"p50": 31.312,
"p95": 119.832
}
Properties
Name Type Required Restrictions Description p50number false p95number false
codersdk.ConvertLoginRequest
{
"password": "string",
"to_type": ""
}
Properties
Name Type Required Restrictions Description passwordstring true to_typecodersdk.LoginType true To type is the login type to convert to.
codersdk.CreateFirstUserRequest
{
"email": "string",
"password": "string",
"trial": true,
"username": "string"
}
Properties
Name Type Required Restrictions Description emailstring true passwordstring true trialboolean false usernamestring true
codersdk.CreateFirstUserResponse
{
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Properties
Name Type Required Restrictions Description organization_idstring false user_idstring false
codersdk.CreateGroupRequest
{
"avatar_url": "string",
"display_name": "string",
"name": "string",
"quota_allowance": 0
}
Properties
Name Type Required Restrictions Description avatar_urlstring false display_namestring false namestring false quota_allowanceinteger false
codersdk.CreateOrganizationRequest
Properties
Name Type Required Restrictions Description namestring true
codersdk.CreateTemplateRequest
{
"allow_user_autostart": true,
"allow_user_autostop": true,
"allow_user_cancel_workspace_jobs": true,
"autostart_requirement": {
"days_of_week": ["monday"]
},
"autostop_requirement": {
"days_of_week": ["monday"],
"weeks": 0
},
"default_ttl_ms": 0,
"delete_ttl_ms": 0,
"description": "string",
"disable_everyone_group_access": true,
"display_name": "string",
"dormant_ttl_ms": 0,
"failure_ttl_ms": 0,
"icon": "string",
"max_ttl_ms": 0,
"name": "string",
"require_active_version": true,
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1"
}
Properties
Name Type Required Restrictions Description allow_user_autostartboolean false Allow user autostart allows users to set a schedule for autostarting their workspace. By default this is true. This can only be disabled when using an enterprise license. allow_user_autostopboolean false Allow user autostop allows users to set a custom workspace TTL to use in place of the template's DefaultTTL field. By default this is true. If false, the DefaultTTL will always be used. This can only be disabled when using an enterprise license. allow_user_cancel_workspace_jobsboolean false Allow users to cancel in-progress workspace jobs. *bool as the default value is "true". autostart_requirementcodersdk.TemplateAutostartRequirement false Autostart requirement allows optionally specifying the autostart allowed days for workspaces created from this template. This is an enterprise feature. autostop_requirementcodersdk.TemplateAutostopRequirement false Autostop requirement allows optionally specifying the autostop requirement for workspaces created from this template. This is an enterprise feature. default_ttl_msinteger false Default ttl ms allows optionally specifying the default TTL for all workspaces created from this template. delete_ttl_msinteger false Delete ttl ms allows optionally specifying the max lifetime before Coder permanently deletes dormant workspaces created from this template. descriptionstring false Description is a description of what the template contains. It must be less than 128 bytes. disable_everyone_group_accessboolean false Disable everyone group access allows optionally disabling the default behavior of granting the 'everyone' group access to use the template. If this is set to true, the template will not be available to all users, and must be explicitly granted to users or groups in the permissions settings of the template. display_namestring false Display name is the displayed name of the template. dormant_ttl_msinteger false Dormant ttl ms allows optionally specifying the max lifetime before Coder locks inactive workspaces created from this template. failure_ttl_msinteger false Failure ttl ms allows optionally specifying the max lifetime before Coder stops all resources for failed workspaces created from this template. iconstring false Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. max_ttl_msinteger false Max ttl ms remove max_ttl once autostop_requirement is matured namestring true Name is the name of the template. require_active_versionboolean false Require active version mandates that workspaces are built with the active template version. template_version_idstring true Template version ID is an in-progress or completed job to use as an initial version of the template. This is required on creation to enable a user-flow of validating a template works. There is no reason the data-model cannot support empty templates, but it doesn't make sense for users.
codersdk.CreateTemplateVersionDryRunRequest
{
"rich_parameter_values": [
{
"name": "string",
"value": "string"
}
],
"user_variable_values": [
{
"name": "string",
"value": "string"
}
],
"workspace_name": "string"
}
Properties
codersdk.CreateTemplateVersionRequest
{
"example_id": "string",
"file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
"message": "string",
"name": "string",
"provisioner": "terraform",
"storage_method": "file",
"tags": {
"property1": "string",
"property2": "string"
},
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"user_variable_values": [
{
"name": "string",
"value": "string"
}
]
}
Properties
Name Type Required Restrictions Description example_idstring false file_idstring false messagestring false namestring false provisionerstring true storage_methodcodersdk.ProvisionerStorageMethod true tagsobject false » [any property] string false template_idstring false Template ID optionally associates a version with a template. user_variable_valuesarray of codersdk.VariableValue false
Enumerated Values
Property Value provisionerterraformprovisionerechostorage_methodfile
codersdk.CreateTestAuditLogRequest
{
"action": "create",
"additional_fields": [0],
"build_reason": "autostart",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"resource_type": "template",
"time": "2019-08-24T14:15:22Z"
}
Properties
Enumerated Values
Property Value actioncreateactionwriteactiondeleteactionstartactionstopbuild_reasonautostartbuild_reasonautostopbuild_reasoninitiatorresource_typetemplateresource_typetemplate_versionresource_typeuserresource_typeworkspaceresource_typeworkspace_buildresource_typegit_ssh_keyresource_typeauditable_group
codersdk.CreateTokenRequest
{
"lifetime": 0,
"scope": "all",
"token_name": "string"
}
Properties
Name Type Required Restrictions Description lifetimeinteger false scopecodersdk.APIKeyScope false token_namestring false
Enumerated Values
Property Value scopeallscopeapplication_connect
codersdk.CreateUserRequest
{
"disable_login": true,
"email": "[email protected] ",
"login_type": "",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"password": "string",
"username": "string"
}
Properties
Name Type Required Restrictions Description disable_loginboolean false Disable login sets the user's login type to 'none'. This prevents the user from being able to use a password or any other authentication method to login. Deprecated: Set UserLoginType=LoginTypeDisabled instead. emailstring true login_typecodersdk.LoginType false Login type defaults to LoginTypePassword. organization_idstring false passwordstring false usernamestring true
codersdk.CreateWorkspaceBuildRequest
{
"dry_run": true,
"log_level": "debug",
"orphan": true,
"rich_parameter_values": [
{
"name": "string",
"value": "string"
}
],
"state": [0],
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"transition": "create"
}
Properties
Name Type Required Restrictions Description dry_runboolean false log_levelcodersdk.ProvisionerLogLevel false Log level changes the default logging verbosity of a provider ("info" if empty). orphanboolean false Orphan may be set for the Destroy transition. rich_parameter_valuesarray of codersdk.WorkspaceBuildParameter false Rich parameter values are optional. It will write params to the 'workspace' scope. This will overwrite any existing parameters with the same name. This will not delete old params not included in this list. statearray of integer false template_version_idstring false transitioncodersdk.WorkspaceTransition true
Enumerated Values
Property Value log_leveldebugtransitioncreatetransitionstarttransitionstoptransitiondelete
codersdk.CreateWorkspaceProxyRequest
{
"display_name": "string",
"icon": "string",
"name": "string"
}
Properties
Name Type Required Restrictions Description display_namestring false iconstring false namestring true
codersdk.CreateWorkspaceRequest
{
"automatic_updates": "always",
"autostart_schedule": "string",
"name": "string",
"rich_parameter_values": [
{
"name": "string",
"value": "string"
}
],
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"ttl_ms": 0
}
Properties
Name Type Required Restrictions Description automatic_updatescodersdk.AutomaticUpdates false autostart_schedulestring false namestring true rich_parameter_valuesarray of codersdk.WorkspaceBuildParameter false Rich parameter values allows for additional parameters to be provided during the initial provision. template_idstring false Template ID specifies which template should be used for creating the workspace. template_version_idstring false Template version ID can be used to specify a specific version of a template for creating the workspace. ttl_msinteger false
codersdk.DAUEntry
{
"amount": 0,
"date": "2019-08-24T14:15:22Z"
}
Properties
Name Type Required Restrictions Description amountinteger false datestring false
codersdk.DAUsResponse
{
"entries": [
{
"amount": 0,
"date": "2019-08-24T14:15:22Z"
}
],
"tz_hour_offset": 0
}
Properties
Name Type Required Restrictions Description entriesarray of codersdk.DAUEntry false tz_hour_offsetinteger false
codersdk.DERP
{
"config": {
"block_direct": true,
"force_websockets": true,
"path": "string",
"url": "string"
},
"server": {
"enable": true,
"region_code": "string",
"region_id": 0,
"region_name": "string",
"relay_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"stun_addresses": ["string"]
}
}
Properties
codersdk.DERPConfig
{
"block_direct": true,
"force_websockets": true,
"path": "string",
"url": "string"
}
Properties
Name Type Required Restrictions Description block_directboolean false force_websocketsboolean false pathstring false urlstring false
codersdk.DERPRegion
{
"latency_ms": 0,
"preferred": true
}
Properties
Name Type Required Restrictions Description latency_msnumber false preferredboolean false
codersdk.DERPServerConfig
{
"enable": true,
"region_code": "string",
"region_id": 0,
"region_name": "string",
"relay_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"stun_addresses": ["string"]
}
Properties
Name Type Required Restrictions Description enableboolean false region_codestring false region_idinteger false region_namestring false relay_urlclibase.URL false stun_addressesarray of string false
codersdk.DangerousConfig
{
"allow_all_cors": true,
"allow_path_app_sharing": true,
"allow_path_app_site_owner_access": true
}
Properties
Name Type Required Restrictions Description allow_all_corsboolean false allow_path_app_sharingboolean false allow_path_app_site_owner_accessboolean false
codersdk.DeploymentConfig
{
"config": {
"access_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"address": {
"host": "string",
"port": "string"
},
"agent_fallback_troubleshooting_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"agent_stat_refresh_interval": 0,
"autobuild_poll_interval": 0,
"browser_only": true,
"cache_directory": "string",
"config": "string",
"config_ssh": {
"deploymentName": "string",
"sshconfigOptions": ["string"]
},
"dangerous": {
"allow_all_cors": true,
"allow_path_app_sharing": true,
"allow_path_app_site_owner_access": true
},
"derp": {
"config": {
"block_direct": true,
"force_websockets": true,
"path": "string",
"url": "string"
},
"server": {
"enable": true,
"region_code": "string",
"region_id": 0,
"region_name": "string",
"relay_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"stun_addresses": ["string"]
}
},
"disable_owner_workspace_exec": true,
"disable_password_auth": true,
"disable_path_apps": true,
"disable_session_expiry_refresh": true,
"docs_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"enable_terraform_debug_mode": true,
"experiments": ["string"],
"external_auth": {
"value": [
{
"app_install_url": "string",
"app_installations_url": "string",
"auth_url": "string",
"client_id": "string",
"device_code_url": "string",
"device_flow": true,
"display_icon": "string",
"display_name": "string",
"extra_token_keys": ["string"],
"id": "string",
"no_refresh": true,
"regex": "string",
"scopes": ["string"],
"token_url": "string",
"type": "string",
"validate_url": "string"
}
]
},
"external_token_encryption_keys": ["string"],
"http_address": "string",
"in_memory_database": true,
"job_hang_detector_interval": 0,
"logging": {
"human": "string",
"json": "string",
"log_filter": ["string"],
"stackdriver": "string"
},
"max_session_expiry": 0,
"max_token_lifetime": 0,
"metrics_cache_refresh_interval": 0,
"oauth2": {
"github": {
"allow_everyone": true,
"allow_signups": true,
"allowed_orgs": ["string"],
"allowed_teams": ["string"],
"client_id": "string",
"client_secret": "string",
"enterprise_base_url": "string"
}
},
"oidc": {
"allow_signups": true,
"auth_url_params": {},
"client_cert_file": "string",
"client_id": "string",
"client_key_file": "string",
"client_secret": "string",
"email_domain": ["string"],
"email_field": "string",
"group_auto_create": true,
"group_mapping": {},
"group_regex_filter": {},
"groups_field": "string",
"icon_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"ignore_email_verified": true,
"ignore_user_info": true,
"issuer_url": "string",
"scopes": ["string"],
"sign_in_text": "string",
"user_role_field": "string",
"user_role_mapping": {},
"user_roles_default": ["string"],
"username_field": "string"
},
"pg_connection_url": "string",
"pprof": {
"address": {
"host": "string",
"port": "string"
},
"enable": true
},
"prometheus": {
"address": {
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"collect_db_metrics": true,
"enable": true
},
"provisioner": {
"daemon_poll_interval": 0,
"daemon_poll_jitter": 0,
"daemon_psk": "string",
"daemons": 0,
"daemons_echo": true,
"force_cancel_interval": 0
},
"proxy_health_status_interval": 0,
"proxy_trusted_headers": ["string"],
"proxy_trusted_origins": ["string"],
"rate_limit": {
"api": 0,
"disable_all": true
},
"redirect_to_access_url": true,
"scim_api_key": "string",
"secure_auth_cookie": true,
"ssh_keygen_algorithm": "string",
"strict_transport_security": 0,
"strict_transport_security_options": ["string"],
"support": {
"links": {
"value": [
{
"icon": "string",
"name": "string",
"target": "string"
}
]
}
},
"swagger": {
"enable": true
},
"telemetry": {
"enable": true,
"trace": true,
"url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
}
},
"tls": {
"address": {
"host": "string",
"port": "string"
},
"cert_file": ["string"],
"client_auth": "string",
"client_ca_file": "string",
"client_cert_file": "string",
"client_key_file": "string",
"enable": true,
"key_file": ["string"],
"min_version": "string",
"redirect_http": true
},
"trace": {
"capture_logs": true,
"data_dog": true,
"enable": true,
"honeycomb_api_key": "string"
},
"update_check": true,
"user_quiet_hours_schedule": {
"default_schedule": "string"
},
"verbose": true,
"web_terminal_renderer": "string",
"wgtunnel_host": "string",
"wildcard_access_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"write_config": true
},
"options": [
{
"annotations": {
"property1": "string",
"property2": "string"
},
"default": "string",
"description": "string",
"env": "string",
"flag": "string",
"flag_shorthand": "string",
"group": {
"description": "string",
"name": "string",
"parent": {
"description": "string",
"name": "string",
"parent": {},
"yaml": "string"
},
"yaml": "string"
},
"hidden": true,
"name": "string",
"required": true,
"use_instead": [{}],
"value": null,
"value_source": "",
"yaml": "string"
}
]
}
Properties
codersdk.DeploymentStats
{
"aggregated_from": "2019-08-24T14:15:22Z",
"collected_at": "2019-08-24T14:15:22Z",
"next_update_at": "2019-08-24T14:15:22Z",
"session_count": {
"jetbrains": 0,
"reconnecting_pty": 0,
"ssh": 0,
"vscode": 0
},
"workspaces": {
"building": 0,
"connection_latency_ms": {
"p50": 0,
"p95": 0
},
"failed": 0,
"pending": 0,
"running": 0,
"rx_bytes": 0,
"stopped": 0,
"tx_bytes": 0
}
}
Properties
Name Type Required Restrictions Description aggregated_fromstring false Aggregated from is the time in which stats are aggregated from. This might be back in time a specific duration or interval. collected_atstring false Collected at is the time in which stats are collected at. next_update_atstring false Next update at is the time when the next batch of stats will be updated. session_countcodersdk.SessionCountDeploymentStats false workspacescodersdk.WorkspaceDeploymentStats false
codersdk.DeploymentValues
{
"access_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"address": {
"host": "string",
"port": "string"
},
"agent_fallback_troubleshooting_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"agent_stat_refresh_interval": 0,
"autobuild_poll_interval": 0,
"browser_only": true,
"cache_directory": "string",
"config": "string",
"config_ssh": {
"deploymentName": "string",
"sshconfigOptions": ["string"]
},
"dangerous": {
"allow_all_cors": true,
"allow_path_app_sharing": true,
"allow_path_app_site_owner_access": true
},
"derp": {
"config": {
"block_direct": true,
"force_websockets": true,
"path": "string",
"url": "string"
},
"server": {
"enable": true,
"region_code": "string",
"region_id": 0,
"region_name": "string",
"relay_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"stun_addresses": ["string"]
}
},
"disable_owner_workspace_exec": true,
"disable_password_auth": true,
"disable_path_apps": true,
"disable_session_expiry_refresh": true,
"docs_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"enable_terraform_debug_mode": true,
"experiments": ["string"],
"external_auth": {
"value": [
{
"app_install_url": "string",
"app_installations_url": "string",
"auth_url": "string",
"client_id": "string",
"device_code_url": "string",
"device_flow": true,
"display_icon": "string",
"display_name": "string",
"extra_token_keys": ["string"],
"id": "string",
"no_refresh": true,
"regex": "string",
"scopes": ["string"],
"token_url": "string",
"type": "string",
"validate_url": "string"
}
]
},
"external_token_encryption_keys": ["string"],
"http_address": "string",
"in_memory_database": true,
"job_hang_detector_interval": 0,
"logging": {
"human": "string",
"json": "string",
"log_filter": ["string"],
"stackdriver": "string"
},
"max_session_expiry": 0,
"max_token_lifetime": 0,
"metrics_cache_refresh_interval": 0,
"oauth2": {
"github": {
"allow_everyone": true,
"allow_signups": true,
"allowed_orgs": ["string"],
"allowed_teams": ["string"],
"client_id": "string",
"client_secret": "string",
"enterprise_base_url": "string"
}
},
"oidc": {
"allow_signups": true,
"auth_url_params": {},
"client_cert_file": "string",
"client_id": "string",
"client_key_file": "string",
"client_secret": "string",
"email_domain": ["string"],
"email_field": "string",
"group_auto_create": true,
"group_mapping": {},
"group_regex_filter": {},
"groups_field": "string",
"icon_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"ignore_email_verified": true,
"ignore_user_info": true,
"issuer_url": "string",
"scopes": ["string"],
"sign_in_text": "string",
"user_role_field": "string",
"user_role_mapping": {},
"user_roles_default": ["string"],
"username_field": "string"
},
"pg_connection_url": "string",
"pprof": {
"address": {
"host": "string",
"port": "string"
},
"enable": true
},
"prometheus": {
"address": {
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"collect_db_metrics": true,
"enable": true
},
"provisioner": {
"daemon_poll_interval": 0,
"daemon_poll_jitter": 0,
"daemon_psk": "string",
"daemons": 0,
"daemons_echo": true,
"force_cancel_interval": 0
},
"proxy_health_status_interval": 0,
"proxy_trusted_headers": ["string"],
"proxy_trusted_origins": ["string"],
"rate_limit": {
"api": 0,
"disable_all": true
},
"redirect_to_access_url": true,
"scim_api_key": "string",
"secure_auth_cookie": true,
"ssh_keygen_algorithm": "string",
"strict_transport_security": 0,
"strict_transport_security_options": ["string"],
"support": {
"links": {
"value": [
{
"icon": "string",
"name": "string",
"target": "string"
}
]
}
},
"swagger": {
"enable": true
},
"telemetry": {
"enable": true,
"trace": true,
"url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
}
},
"tls": {
"address": {
"host": "string",
"port": "string"
},
"cert_file": ["string"],
"client_auth": "string",
"client_ca_file": "string",
"client_cert_file": "string",
"client_key_file": "string",
"enable": true,
"key_file": ["string"],
"min_version": "string",
"redirect_http": true
},
"trace": {
"capture_logs": true,
"data_dog": true,
"enable": true,
"honeycomb_api_key": "string"
},
"update_check": true,
"user_quiet_hours_schedule": {
"default_schedule": "string"
},
"verbose": true,
"web_terminal_renderer": "string",
"wgtunnel_host": "string",
"wildcard_access_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"write_config": true
}
Properties
codersdk.DisplayApp
Properties
Enumerated Values
Value vscodevscode_insidersweb_terminalport_forwarding_helperssh_helper
codersdk.Entitlement
Properties
Enumerated Values
Value entitledgrace_periodnot_entitled
codersdk.Entitlements
{
"errors": ["string"],
"features": {
"property1": {
"actual": 0,
"enabled": true,
"entitlement": "entitled",
"limit": 0
},
"property2": {
"actual": 0,
"enabled": true,
"entitlement": "entitled",
"limit": 0
}
},
"has_license": true,
"refreshed_at": "2019-08-24T14:15:22Z",
"require_telemetry": true,
"trial": true,
"warnings": ["string"]
}
Properties
Name Type Required Restrictions Description errorsarray of string false featuresobject false » [any property] codersdk.Feature false has_licenseboolean false refreshed_atstring false require_telemetryboolean false trialboolean false warningsarray of string false
codersdk.Experiment
Properties
Enumerated Values
Value moonsworkspace_actionstailnet_pg_coordinatorsingle_tailnettemplate_autostop_requirementdeployment_health_pagedashboard_themetemplate_update_policies
codersdk.ExternalAuth
{
"app_install_url": "string",
"app_installable": true,
"authenticated": true,
"device": true,
"display_name": "string",
"installations": [
{
"account": {
"avatar_url": "string",
"login": "string",
"name": "string",
"profile_url": "string"
},
"configure_url": "string",
"id": 0
}
],
"user": {
"avatar_url": "string",
"login": "string",
"name": "string",
"profile_url": "string"
}
}
Properties
Name Type Required Restrictions Description app_install_urlstring false App install URL is the URL to install the app. app_installableboolean false App installable is true if the request for app installs was successful. authenticatedboolean false deviceboolean false display_namestring false installationsarray of codersdk.ExternalAuthAppInstallation false Installations are the installations that the user has access to. usercodersdk.ExternalAuthUser false User is the user that authenticated with the provider.
codersdk.ExternalAuthAppInstallation
{
"account": {
"avatar_url": "string",
"login": "string",
"name": "string",
"profile_url": "string"
},
"configure_url": "string",
"id": 0
}
Properties
codersdk.ExternalAuthConfig
{
"app_install_url": "string",
"app_installations_url": "string",
"auth_url": "string",
"client_id": "string",
"device_code_url": "string",
"device_flow": true,
"display_icon": "string",
"display_name": "string",
"extra_token_keys": ["string"],
"id": "string",
"no_refresh": true,
"regex": "string",
"scopes": ["string"],
"token_url": "string",
"type": "string",
"validate_url": "string"
}
Properties
Name Type Required Restrictions Description app_install_urlstring false app_installations_urlstring false auth_urlstring false client_idstring false device_code_urlstring false device_flowboolean false display_iconstring false Display icon is a URL to an icon to display in the UI. display_namestring false Display name is shown in the UI to identify the auth config. extra_token_keysarray of string false idstring false ID is a unique identifier for the auth config. It defaults to type when not provided. no_refreshboolean false regexstring false Regex allows API requesters to match an auth config by a string (e.g. coder.com) instead of by it's type. Git clone makes use of this by parsing the URL from: 'Username for "https://github.com ":' And sending it to the Coder server to match against the Regex. scopesarray of string false token_urlstring false typestring false Type is the type of external auth config. validate_urlstring false
codersdk.ExternalAuthDevice
{
"device_code": "string",
"expires_in": 0,
"interval": 0,
"user_code": "string",
"verification_uri": "string"
}
Properties
Name Type Required Restrictions Description device_codestring false expires_ininteger false intervalinteger false user_codestring false verification_uristring false
codersdk.ExternalAuthUser
{
"avatar_url": "string",
"login": "string",
"name": "string",
"profile_url": "string"
}
Properties
Name Type Required Restrictions Description avatar_urlstring false loginstring false namestring false profile_urlstring false
codersdk.Feature
{
"actual": 0,
"enabled": true,
"entitlement": "entitled",
"limit": 0
}
Properties
Name Type Required Restrictions Description actualinteger false enabledboolean false entitlementcodersdk.Entitlement false limitinteger false
codersdk.GenerateAPIKeyResponse
Properties
Name Type Required Restrictions Description keystring false
codersdk.GetUsersResponse
{
"count": 0,
"users": [
{
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
]
}
Properties
Name Type Required Restrictions Description countinteger false usersarray of codersdk.User false
codersdk.GitSSHKey
{
"created_at": "2019-08-24T14:15:22Z",
"public_key": "string",
"updated_at": "2019-08-24T14:15:22Z",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Properties
Name Type Required Restrictions Description created_atstring false public_keystring false updated_atstring false user_idstring false
codersdk.Group
{
"avatar_url": "string",
"display_name": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"members": [
{
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
],
"name": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"quota_allowance": 0,
"source": "user"
}
Properties
Name Type Required Restrictions Description avatar_urlstring false display_namestring false idstring false membersarray of codersdk.User false namestring false organization_idstring false quota_allowanceinteger false sourcecodersdk.GroupSource false
codersdk.GroupSource
Properties
Enumerated Values
codersdk.Healthcheck
{
"interval": 0,
"threshold": 0,
"url": "string"
}
Properties
Name Type Required Restrictions Description intervalinteger false Interval specifies the seconds between each health check. thresholdinteger false Threshold specifies the number of consecutive failed health checks before returning "unhealthy". urlstring false URL specifies the endpoint to check for the app health.
codersdk.InsightsReportInterval
Properties
Enumerated Values
codersdk.IssueReconnectingPTYSignedTokenRequest
{
"agentID": "bc282582-04f9-45ce-b904-3e3bfab66958",
"url": "string"
}
Properties
Name Type Required Restrictions Description agentIDstring true urlstring true URL is the URL of the reconnecting-pty endpoint you are connecting to.
codersdk.IssueReconnectingPTYSignedTokenResponse
{
"signed_token": "string"
}
Properties
Name Type Required Restrictions Description signed_tokenstring false
codersdk.JobErrorCode
"REQUIRED_TEMPLATE_VARIABLES"
Properties
Enumerated Values
Value REQUIRED_TEMPLATE_VARIABLES
codersdk.License
{
"claims": {},
"id": 0,
"uploaded_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}
Properties
Name Type Required Restrictions Description claimsobject false Claims are the JWT claims asserted by the license. Here we use a generic string map to ensure that all data from the server is parsed verbatim, not just the fields this version of Coder understands. idinteger false uploaded_atstring false uuidstring false
codersdk.LinkConfig
{
"icon": "string",
"name": "string",
"target": "string"
}
Properties
Name Type Required Restrictions Description iconstring false namestring false targetstring false
codersdk.LogLevel
Properties
Enumerated Values
Value tracedebuginfowarnerror
codersdk.LogSource
Properties
Enumerated Values
Value provisioner_daemonprovisioner
codersdk.LoggingConfig
{
"human": "string",
"json": "string",
"log_filter": ["string"],
"stackdriver": "string"
}
Properties
Name Type Required Restrictions Description humanstring false jsonstring false log_filterarray of string false stackdriverstring false
codersdk.LoginType
Properties
Enumerated Values
Value `` passwordgithuboidctokennone
codersdk.LoginWithPasswordRequest
Properties
Name Type Required Restrictions Description emailstring true passwordstring true
codersdk.LoginWithPasswordResponse
{
"session_token": "string"
}
Properties
Name Type Required Restrictions Description session_tokenstring true
codersdk.MinimalUser
{
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"username": "string"
}
Properties
Name Type Required Restrictions Description avatar_urlstring false idstring true usernamestring true
codersdk.OAuth2Config
{
"github": {
"allow_everyone": true,
"allow_signups": true,
"allowed_orgs": ["string"],
"allowed_teams": ["string"],
"client_id": "string",
"client_secret": "string",
"enterprise_base_url": "string"
}
}
Properties
codersdk.OAuth2GithubConfig
{
"allow_everyone": true,
"allow_signups": true,
"allowed_orgs": ["string"],
"allowed_teams": ["string"],
"client_id": "string",
"client_secret": "string",
"enterprise_base_url": "string"
}
Properties
Name Type Required Restrictions Description allow_everyoneboolean false allow_signupsboolean false allowed_orgsarray of string false allowed_teamsarray of string false client_idstring false client_secretstring false enterprise_base_urlstring false
codersdk.OAuthConversionResponse
{
"expires_at": "2019-08-24T14:15:22Z",
"state_string": "string",
"to_type": "",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Properties
Name Type Required Restrictions Description expires_atstring false state_stringstring false to_typecodersdk.LoginType false user_idstring false
codersdk.OIDCAuthMethod
{
"enabled": true,
"iconUrl": "string",
"signInText": "string"
}
Properties
Name Type Required Restrictions Description enabledboolean false iconUrlstring false signInTextstring false
codersdk.OIDCConfig
{
"allow_signups": true,
"auth_url_params": {},
"client_cert_file": "string",
"client_id": "string",
"client_key_file": "string",
"client_secret": "string",
"email_domain": ["string"],
"email_field": "string",
"group_auto_create": true,
"group_mapping": {},
"group_regex_filter": {},
"groups_field": "string",
"icon_url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
},
"ignore_email_verified": true,
"ignore_user_info": true,
"issuer_url": "string",
"scopes": ["string"],
"sign_in_text": "string",
"user_role_field": "string",
"user_role_mapping": {},
"user_roles_default": ["string"],
"username_field": "string"
}
Properties
Name Type Required Restrictions Description allow_signupsboolean false auth_url_paramsobject false client_cert_filestring false client_idstring false client_key_filestring false Client key file & ClientCertFile are used in place of ClientSecret for PKI auth. client_secretstring false email_domainarray of string false email_fieldstring false group_auto_createboolean false group_mappingobject false group_regex_filterclibase.Regexp false groups_fieldstring false icon_urlclibase.URL false ignore_email_verifiedboolean false ignore_user_infoboolean false issuer_urlstring false scopesarray of string false sign_in_textstring false user_role_fieldstring false user_role_mappingobject false user_roles_defaultarray of string false username_fieldstring false
codersdk.Organization
{
"created_at": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"updated_at": "2019-08-24T14:15:22Z"
}
Properties
Name Type Required Restrictions Description created_atstring true idstring true namestring true updated_atstring true
codersdk.OrganizationMember
{
"created_at": "2019-08-24T14:15:22Z",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"updated_at": "2019-08-24T14:15:22Z",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Properties
Name Type Required Restrictions Description created_atstring false organization_idstring false rolesarray of codersdk.Role false updated_atstring false user_idstring false
codersdk.PatchGroupRequest
{
"add_users": ["string"],
"avatar_url": "string",
"display_name": "string",
"name": "string",
"quota_allowance": 0,
"remove_users": ["string"]
}
Properties
Name Type Required Restrictions Description add_usersarray of string false avatar_urlstring false display_namestring false namestring false quota_allowanceinteger false remove_usersarray of string false
codersdk.PatchTemplateVersionRequest
{
"message": "string",
"name": "string"
}
Properties
Name Type Required Restrictions Description messagestring false namestring false
codersdk.PatchWorkspaceProxy
{
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"regenerate_token": true
}
Properties
Name Type Required Restrictions Description display_namestring true iconstring true idstring true namestring true regenerate_tokenboolean false
codersdk.PprofConfig
{
"address": {
"host": "string",
"port": "string"
},
"enable": true
}
Properties
Name Type Required Restrictions Description addressclibase.HostPort false enableboolean false
codersdk.PrometheusConfig
{
"address": {
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"collect_db_metrics": true,
"enable": true
}
Properties
Name Type Required Restrictions Description addressclibase.HostPort false collect_agent_statsboolean false collect_db_metricsboolean false enableboolean false
codersdk.ProvisionerConfig
{
"daemon_poll_interval": 0,
"daemon_poll_jitter": 0,
"daemon_psk": "string",
"daemons": 0,
"daemons_echo": true,
"force_cancel_interval": 0
}
Properties
Name Type Required Restrictions Description daemon_poll_intervalinteger false daemon_poll_jitterinteger false daemon_pskstring false daemonsinteger false daemons_echoboolean false force_cancel_intervalinteger false
codersdk.ProvisionerDaemon
{
"created_at": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"provisioners": ["string"],
"tags": {
"property1": "string",
"property2": "string"
},
"updated_at": {
"time": "string",
"valid": true
}
}
Properties
Name Type Required Restrictions Description created_atstring false idstring false namestring false provisionersarray of string false tagsobject false » [any property] string false updated_atsql.NullTime false
codersdk.ProvisionerJob
{
"canceled_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"error": "string",
"error_code": "REQUIRED_TEMPLATE_VARIABLES",
"file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
}
Properties
Name Type Required Restrictions Description canceled_atstring false completed_atstring false created_atstring false errorstring false error_codecodersdk.JobErrorCode false file_idstring false idstring false queue_positioninteger false queue_sizeinteger false started_atstring false statuscodersdk.ProvisionerJobStatus false tagsobject false » [any property] string false worker_idstring false
Enumerated Values
Property Value error_codeREQUIRED_TEMPLATE_VARIABLESstatuspendingstatusrunningstatussucceededstatuscancelingstatuscanceledstatusfailed
codersdk.ProvisionerJobLog
{
"created_at": "2019-08-24T14:15:22Z",
"id": 0,
"log_level": "trace",
"log_source": "provisioner_daemon",
"output": "string",
"stage": "string"
}
Properties
Enumerated Values
Property Value log_leveltracelog_leveldebuglog_levelinfolog_levelwarnlog_levelerror
codersdk.ProvisionerJobStatus
Properties
Enumerated Values
Value pendingrunningsucceededcancelingcanceledfailedunknown
codersdk.ProvisionerLogLevel
Properties
Enumerated Values
codersdk.ProvisionerStorageMethod
Properties
Enumerated Values
codersdk.ProxyHealthReport
{
"errors": ["string"],
"warnings": ["string"]
}
Properties
Name Type Required Restrictions Description errorsarray of string false Errors are problems that prevent the workspace proxy from being healthy warningsarray of string false Warnings do not prevent the workspace proxy from being healthy, but should be addressed.
codersdk.ProxyHealthStatus
Properties
Enumerated Values
Value okunreachableunhealthyunregistered
codersdk.PutExtendWorkspaceRequest
{
"deadline": "2019-08-24T14:15:22Z"
}
Properties
Name Type Required Restrictions Description deadlinestring true
codersdk.RBACResource
Properties
Enumerated Values
Value workspaceworkspace_proxyworkspace_executionapplication_connectaudit_logtemplategroupfileprovisioner_daemonorganizationassign_roleassign_org_roleapi_keyuseruser_dataorganization_memberlicensedeployment_configdeployment_statsreplicasdebug_infosystem
codersdk.RateLimitConfig
{
"api": 0,
"disable_all": true
}
Properties
Name Type Required Restrictions Description apiinteger false disable_allboolean false
codersdk.Region
{
"display_name": "string",
"healthy": true,
"icon_url": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"path_app_url": "string",
"wildcard_hostname": "string"
}
Properties
Name Type Required Restrictions Description display_namestring false healthyboolean false icon_urlstring false idstring false namestring false path_app_urlstring false Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com wildcard_hostnamestring false Wildcard hostname is the wildcard hostname for subdomain apps. E.g. _.us.example.com E.g. _--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL.
codersdk.RegionsResponse-codersdk_Region
{
"regions": [
{
"display_name": "string",
"healthy": true,
"icon_url": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"path_app_url": "string",
"wildcard_hostname": "string"
}
]
}
Properties
Name Type Required Restrictions Description regionsarray of codersdk.Region false
codersdk.RegionsResponse-codersdk_WorkspaceProxy
{
"regions": [
{
"created_at": "2019-08-24T14:15:22Z",
"deleted": true,
"derp_enabled": true,
"derp_only": true,
"display_name": "string",
"healthy": true,
"icon_url": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"path_app_url": "string",
"status": {
"checked_at": "2019-08-24T14:15:22Z",
"report": {
"errors": ["string"],
"warnings": ["string"]
},
"status": "ok"
},
"updated_at": "2019-08-24T14:15:22Z",
"wildcard_hostname": "string"
}
]
}
Properties
codersdk.Replica
{
"created_at": "2019-08-24T14:15:22Z",
"database_latency": 0,
"error": "string",
"hostname": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"region_id": 0,
"relay_address": "string"
}
Properties
Name Type Required Restrictions Description created_atstring false Created at is the timestamp when the replica was first seen. database_latencyinteger false Database latency is the latency in microseconds to the database. errorstring false Error is the replica error. hostnamestring false Hostname is the hostname of the replica. idstring false ID is the unique identifier for the replica. region_idinteger false Region ID is the region of the replica. relay_addressstring false Relay address is the accessible address to relay DERP connections.
codersdk.ResourceType
Properties
Enumerated Values
Value templatetemplate_versionuserworkspaceworkspace_buildgit_ssh_keyapi_keygrouplicenseconvert_loginworkspace_proxyorganization
codersdk.Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Properties
Name Type Required Restrictions Description detailstring false Detail is a debug message that provides further insight into why the action failed. This information can be technical and a regular golang err.Error() text. - "database: too many open connections" - "stat: too many open files" messagestring false Message is an actionable message that depicts actions the request took. These messages should be fully formed sentences with proper punctuation. Examples: - "A user has been created." - "Failed to create a user." validationsarray of codersdk.ValidationError false Validations are form field-specific friendly error messages. They will be shown on a form field in the UI. These can also be used to add additional context if there is a set of errors in the primary 'Message'.
codersdk.Role
{
"display_name": "string",
"name": "string"
}
Properties
Name Type Required Restrictions Description display_namestring false namestring false
codersdk.SSHConfig
{
"deploymentName": "string",
"sshconfigOptions": ["string"]
}
Properties
Name Type Required Restrictions Description deploymentNamestring false Deploymentname is the config-ssh Hostname prefix sshconfigOptionsarray of string false Sshconfigoptions are additional options to add to the ssh config file. This will override defaults.
codersdk.SSHConfigResponse
{
"hostname_prefix": "string",
"ssh_config_options": {
"property1": "string",
"property2": "string"
}
}
Properties
Name Type Required Restrictions Description hostname_prefixstring false ssh_config_optionsobject false » [any property] string false
codersdk.ServiceBannerConfig
{
"background_color": "string",
"enabled": true,
"message": "string"
}
Properties
Name Type Required Restrictions Description background_colorstring false enabledboolean false messagestring false
codersdk.SessionCountDeploymentStats
{
"jetbrains": 0,
"reconnecting_pty": 0,
"ssh": 0,
"vscode": 0
}
Properties
Name Type Required Restrictions Description jetbrainsinteger false reconnecting_ptyinteger false sshinteger false vscodeinteger false
codersdk.SupportConfig
{
"links": {
"value": [
{
"icon": "string",
"name": "string",
"target": "string"
}
]
}
}
Properties
codersdk.SwaggerConfig
Properties
Name Type Required Restrictions Description enableboolean false
codersdk.TLSConfig
{
"address": {
"host": "string",
"port": "string"
},
"cert_file": ["string"],
"client_auth": "string",
"client_ca_file": "string",
"client_cert_file": "string",
"client_key_file": "string",
"enable": true,
"key_file": ["string"],
"min_version": "string",
"redirect_http": true
}
Properties
Name Type Required Restrictions Description addressclibase.HostPort false cert_filearray of string false client_authstring false client_ca_filestring false client_cert_filestring false client_key_filestring false enableboolean false key_filearray of string false min_versionstring false redirect_httpboolean false
codersdk.TelemetryConfig
{
"enable": true,
"trace": true,
"url": {
"forceQuery": true,
"fragment": "string",
"host": "string",
"omitHost": true,
"opaque": "string",
"path": "string",
"rawFragment": "string",
"rawPath": "string",
"rawQuery": "string",
"scheme": "string",
"user": {}
}
}
Properties
Name Type Required Restrictions Description enableboolean false traceboolean false urlclibase.URL false
codersdk.Template
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"allow_user_autostart": true,
"allow_user_autostop": true,
"allow_user_cancel_workspace_jobs": true,
"autostart_requirement": {
"days_of_week": ["monday"]
},
"autostop_requirement": {
"days_of_week": ["monday"],
"weeks": 0
},
"build_time_stats": {
"property1": {
"p50": 123,
"p95": 146
},
"property2": {
"p50": 123,
"p95": 146
}
},
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"description": "string",
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_ttl_ms": 0,
"name": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"provisioner": "terraform",
"require_active_version": true,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z"
}
Properties
Name Type Required Restrictions Description active_user_countinteger false Active user count is set to -1 when loading. active_version_idstring false allow_user_autostartboolean false Allow user autostart and AllowUserAutostop are enterprise-only. Their values are only used if your license is entitled to use the advanced template scheduling feature. allow_user_autostopboolean false allow_user_cancel_workspace_jobsboolean false autostart_requirementcodersdk.TemplateAutostartRequirement false autostop_requirementcodersdk.TemplateAutostopRequirement false Autostop requirement and AutostartRequirement are enterprise features. Its value is only used if your license is entitled to use the advanced template scheduling feature. build_time_statscodersdk.TemplateBuildTimeStats false created_atstring false created_by_idstring false created_by_namestring false default_ttl_msinteger false descriptionstring false display_namestring false failure_ttl_msinteger false Failure ttl ms TimeTilDormantMillis, and TimeTilDormantAutoDeleteMillis are enterprise-only. Their values are used if your license is entitled to use the advanced template scheduling feature. iconstring false idstring false max_ttl_msinteger false Max ttl ms remove max_ttl once autostop_requirement is matured namestring false organization_idstring false provisionerstring false require_active_versionboolean false Require active version mandates that workspaces are built with the active template version. time_til_dormant_autodelete_msinteger false time_til_dormant_msinteger false updated_atstring false
Enumerated Values
Property Value provisionerterraform
codersdk.TemplateAppUsage
{
"display_name": "Visual Studio Code",
"icon": "string",
"seconds": 80500,
"slug": "vscode",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"type": "builtin"
}
Properties
Name Type Required Restrictions Description display_namestring false iconstring false secondsinteger false slugstring false template_idsarray of string false typecodersdk.TemplateAppsType false
codersdk.TemplateAppsType
Properties
Enumerated Values
codersdk.TemplateAutostartRequirement
{
"days_of_week": ["monday"]
}
Properties
Name Type Required Restrictions Description days_of_weekarray of string false Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed.
codersdk.TemplateAutostopRequirement
{
"days_of_week": ["monday"],
"weeks": 0
}
Properties
Name Type Required Restrictions Description days_of_weekarray of string false Days of week is a list of days of the week on which restarts are required. Restarts happen within the user's quiet hours (in their configured timezone). If no days are specified, restarts are not required. Weekdays cannot be specified twice. Restarts will only happen on weekdays in this list on weeks which line up with Weeks. weeksinteger false Weeks is the number of weeks between required restarts. Weeks are synced across all workspaces (and Coder deployments) using modulo math on a hardcoded epoch week of January 2nd, 2023 (the first Monday of 2023). Values of 0 or 1 indicate weekly restarts. Values of 2 indicate fortnightly restarts, etc.
codersdk.TemplateBuildTimeStats
{
"property1": {
"p50": 123,
"p95": 146
},
"property2": {
"p50": 123,
"p95": 146
}
}
Properties
codersdk.TemplateExample
{
"description": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"markdown": "string",
"name": "string",
"tags": ["string"],
"url": "string"
}
Properties
Name Type Required Restrictions Description descriptionstring false iconstring false idstring false markdownstring false namestring false tagsarray of string false urlstring false
codersdk.TemplateInsightsIntervalReport
{
"active_users": 14,
"end_time": "2019-08-24T14:15:22Z",
"interval": "week",
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
}
Properties
Name Type Required Restrictions Description active_usersinteger false end_timestring false intervalcodersdk.InsightsReportInterval false start_timestring false template_idsarray of string false
codersdk.TemplateInsightsReport
{
"active_users": 22,
"apps_usage": [
{
"display_name": "Visual Studio Code",
"icon": "string",
"seconds": 80500,
"slug": "vscode",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"type": "builtin"
}
],
"end_time": "2019-08-24T14:15:22Z",
"parameters_usage": [
{
"description": "string",
"display_name": "string",
"name": "string",
"options": [
{
"description": "string",
"icon": "string",
"name": "string",
"value": "string"
}
],
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"type": "string",
"values": [
{
"count": 0,
"value": "string"
}
]
}
],
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
}
Properties
codersdk.TemplateInsightsResponse
{
"interval_reports": [
{
"active_users": 14,
"end_time": "2019-08-24T14:15:22Z",
"interval": "week",
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
}
],
"report": {
"active_users": 22,
"apps_usage": [
{
"display_name": "Visual Studio Code",
"icon": "string",
"seconds": 80500,
"slug": "vscode",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"type": "builtin"
}
],
"end_time": "2019-08-24T14:15:22Z",
"parameters_usage": [
{
"description": "string",
"display_name": "string",
"name": "string",
"options": [
{
"description": "string",
"icon": "string",
"name": "string",
"value": "string"
}
],
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"type": "string",
"values": [
{
"count": 0,
"value": "string"
}
]
}
],
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"]
}
}
Properties
codersdk.TemplateParameterUsage
{
"description": "string",
"display_name": "string",
"name": "string",
"options": [
{
"description": "string",
"icon": "string",
"name": "string",
"value": "string"
}
],
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"type": "string",
"values": [
{
"count": 0,
"value": "string"
}
]
}
Properties
codersdk.TemplateParameterValue
{
"count": 0,
"value": "string"
}
Properties
Name Type Required Restrictions Description countinteger false valuestring false
codersdk.TemplateRole
Properties
Enumerated Values
codersdk.TemplateUser
{
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"role": "admin",
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
Properties
Enumerated Values
Property Value roleadminroleusestatusactivestatussuspended
codersdk.TemplateVersion
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"username": "string"
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"canceled_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"error": "string",
"error_code": "REQUIRED_TEMPLATE_VARIABLES",
"file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
},
"message": "string",
"name": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"readme": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"updated_at": "2019-08-24T14:15:22Z",
"warnings": ["UNSUPPORTED_WORKSPACES"]
}
Properties
codersdk.TemplateVersionExternalAuth
{
"authenticate_url": "string",
"authenticated": true,
"display_icon": "string",
"display_name": "string",
"id": "string",
"type": "string"
}
Properties
Name Type Required Restrictions Description authenticate_urlstring false authenticatedboolean false display_iconstring false display_namestring false idstring false typestring false
codersdk.TemplateVersionParameter
{
"default_value": "string",
"description": "string",
"description_plaintext": "string",
"display_name": "string",
"ephemeral": true,
"icon": "string",
"mutable": true,
"name": "string",
"options": [
{
"description": "string",
"icon": "string",
"name": "string",
"value": "string"
}
],
"required": true,
"type": "string",
"validation_error": "string",
"validation_max": 0,
"validation_min": 0,
"validation_monotonic": "increasing",
"validation_regex": "string"
}
Properties
Name Type Required Restrictions Description default_valuestring false descriptionstring false description_plaintextstring false display_namestring false ephemeralboolean false iconstring false mutableboolean false namestring false optionsarray of codersdk.TemplateVersionParameterOption false requiredboolean false typestring false validation_errorstring false validation_maxinteger false validation_mininteger false validation_monotoniccodersdk.ValidationMonotonicOrder false validation_regexstring false
Enumerated Values
Property Value typestringtypenumbertypebooltypelist(string)validation_monotonicincreasingvalidation_monotonicdecreasing
codersdk.TemplateVersionParameterOption
{
"description": "string",
"icon": "string",
"name": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description descriptionstring false iconstring false namestring false valuestring false
codersdk.TemplateVersionVariable
{
"default_value": "string",
"description": "string",
"name": "string",
"required": true,
"sensitive": true,
"type": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description default_valuestring false descriptionstring false namestring false requiredboolean false sensitiveboolean false typestring false valuestring false
Enumerated Values
Property Value typestringtypenumbertypebool
codersdk.TemplateVersionWarning
Properties
Enumerated Values
Value UNSUPPORTED_WORKSPACES
codersdk.TokenConfig
{
"max_token_lifetime": 0
}
Properties
Name Type Required Restrictions Description max_token_lifetimeinteger false
codersdk.TraceConfig
{
"capture_logs": true,
"data_dog": true,
"enable": true,
"honeycomb_api_key": "string"
}
Properties
Name Type Required Restrictions Description capture_logsboolean false data_dogboolean false enableboolean false honeycomb_api_keystring false
codersdk.TransitionStats
{
"p50": 123,
"p95": 146
}
Properties
Name Type Required Restrictions Description p50integer false p95integer false
codersdk.UpdateActiveTemplateVersion
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Properties
Name Type Required Restrictions Description idstring true
codersdk.UpdateAppearanceConfig
{
"application_name": "string",
"logo_url": "string",
"service_banner": {
"background_color": "string",
"enabled": true,
"message": "string"
}
}
Properties
codersdk.UpdateCheckResponse
{
"current": true,
"url": "string",
"version": "string"
}
Properties
Name Type Required Restrictions Description currentboolean false Current indicates whether the server version is the same as the latest. urlstring false URL to download the latest release of Coder. versionstring false Version is the semantic version for the latest release of Coder.
codersdk.UpdateRoles
Properties
Name Type Required Restrictions Description rolesarray of string false
codersdk.UpdateTemplateACL
{
"group_perms": {
"8bd26b20-f3e8-48be-a903-46bb920cf671": "use",
"<user_id>>": "admin"
},
"user_perms": {
"4df59e74-c027-470b-ab4d-cbba8963a5e9": "use",
"<group_id>": "admin"
}
}
Properties
Name Type Required Restrictions Description group_permsobject false Group perms should be a mapping of group ID to role. » [any property] codersdk.TemplateRole false user_permsobject false User perms should be a mapping of user ID to role. The user ID must be the uuid of the user, not a username or email address. » [any property] codersdk.TemplateRole false
codersdk.UpdateUserPasswordRequest
{
"old_password": "string",
"password": "string"
}
Properties
Name Type Required Restrictions Description old_passwordstring false passwordstring true
codersdk.UpdateUserProfileRequest
Properties
Name Type Required Restrictions Description usernamestring true
Properties
Name Type Required Restrictions Description schedulestring true Schedule is a cron expression that defines when the user's quiet hours window is. Schedule must not be empty. For new users, the schedule is set to 2am in their browser or computer's timezone. The schedule denotes the beginning of a 4 hour window where the workspace is allowed to automatically stop or restart due to maintenance or template max TTL.
The schedule must be daily with a single time, and should have a timezone specified via a CRON_TZ prefix (otherwise UTC will be used).
If the schedule is empty, the user will be updated to use the default schedule.|
codersdk.UpdateWorkspaceAutomaticUpdatesRequest
{
"automatic_updates": "always"
}
Properties
codersdk.UpdateWorkspaceAutostartRequest
Properties
Name Type Required Restrictions Description schedulestring false
codersdk.UpdateWorkspaceDormancy
Properties
Name Type Required Restrictions Description dormantboolean false
codersdk.UpdateWorkspaceRequest
Properties
Name Type Required Restrictions Description namestring false
codersdk.UpdateWorkspaceTTLRequest
Properties
Name Type Required Restrictions Description ttl_msinteger false
codersdk.UploadResponse
{
"hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd"
}
Properties
Name Type Required Restrictions Description hashstring false
codersdk.User
{
"avatar_url": "http://example.com",
"created_at": "2019-08-24T14:15:22Z",
"email": "[email protected] ",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_seen_at": "2019-08-24T14:15:22Z",
"login_type": "",
"organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"roles": [
{
"display_name": "string",
"name": "string"
}
],
"status": "active",
"username": "string"
}
Properties
Name Type Required Restrictions Description avatar_urlstring false created_atstring true emailstring true idstring true last_seen_atstring false login_typecodersdk.LoginType false organization_idsarray of string false rolesarray of codersdk.Role false statuscodersdk.UserStatus false usernamestring true
Enumerated Values
Property Value statusactivestatussuspended
codersdk.UserActivity
{
"avatar_url": "http://example.com",
"seconds": 80500,
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"username": "string"
}
Properties
Name Type Required Restrictions Description avatar_urlstring false secondsinteger false template_idsarray of string false user_idstring false usernamestring false
codersdk.UserActivityInsightsReport
{
"end_time": "2019-08-24T14:15:22Z",
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"users": [
{
"avatar_url": "http://example.com",
"seconds": 80500,
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"username": "string"
}
]
}
Properties
Name Type Required Restrictions Description end_timestring false start_timestring false template_idsarray of string false usersarray of codersdk.UserActivity false
codersdk.UserActivityInsightsResponse
{
"report": {
"end_time": "2019-08-24T14:15:22Z",
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"users": [
{
"avatar_url": "http://example.com",
"seconds": 80500,
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"username": "string"
}
]
}
}
Properties
codersdk.UserLatency
{
"avatar_url": "http://example.com",
"latency_ms": {
"p50": 31.312,
"p95": 119.832
},
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"username": "string"
}
Properties
Name Type Required Restrictions Description avatar_urlstring false latency_mscodersdk.ConnectionLatency false template_idsarray of string false user_idstring false usernamestring false
codersdk.UserLatencyInsightsReport
{
"end_time": "2019-08-24T14:15:22Z",
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"users": [
{
"avatar_url": "http://example.com",
"latency_ms": {
"p50": 31.312,
"p95": 119.832
},
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"username": "string"
}
]
}
Properties
Name Type Required Restrictions Description end_timestring false start_timestring false template_idsarray of string false usersarray of codersdk.UserLatency false
codersdk.UserLatencyInsightsResponse
{
"report": {
"end_time": "2019-08-24T14:15:22Z",
"start_time": "2019-08-24T14:15:22Z",
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"users": [
{
"avatar_url": "http://example.com",
"latency_ms": {
"p50": 31.312,
"p95": 119.832
},
"template_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"username": "string"
}
]
}
}
Properties
codersdk.UserLoginType
Properties
{
"default_schedule": "string"
}
Properties
Name Type Required Restrictions Description default_schedulestring false
{
"next": "2019-08-24T14:15:22Z",
"raw_schedule": "string",
"time": "string",
"timezone": "string",
"user_set": true
}
Properties
Name Type Required Restrictions Description nextstring false Next is the next time that the quiet hours window will start. raw_schedulestring false timestring false Time is the time of day that the quiet hours window starts in the given Timezone each day. timezonestring false raw format from the cron expression, UTC if unspecified user_setboolean false User set is true if the user has set their own quiet hours schedule. If false, the user is using the default schedule.
codersdk.UserStatus
Properties
Enumerated Values
Value activedormantsuspended
codersdk.ValidationError
{
"detail": "string",
"field": "string"
}
Properties
Name Type Required Restrictions Description detailstring true fieldstring true
codersdk.ValidationMonotonicOrder
Properties
Enumerated Values
Value increasingdecreasing
codersdk.VariableValue
{
"name": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description namestring false valuestring false
codersdk.Workspace
{
"automatic_updates": "always",
"autostart_schedule": "string",
"created_at": "2019-08-24T14:15:22Z",
"deleting_at": "2019-08-24T14:15:22Z",
"dormant_at": "2019-08-24T14:15:22Z",
"health": {
"failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"healthy": false
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_used_at": "2019-08-24T14:15:22Z",
"latest_build": {
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"deadline": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"initiator_name": "string",
"job": {
"canceled_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"error": "string",
"error_code": "REQUIRED_TEMPLATE_VARIABLES",
"file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
},
"max_deadline": "2019-08-24T14:15:22Z",
"reason": "initiator",
"resources": [
{
"agents": [
{
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
],
"architecture": "string",
"connection_timeout_seconds": 0,
"created_at": "2019-08-24T14:15:22Z",
"directory": "string",
"disconnected_at": "2019-08-24T14:15:22Z",
"display_apps": ["vscode"],
"environment_variables": {
"property1": "string",
"property2": "string"
},
"expanded_directory": "string",
"first_connected_at": "2019-08-24T14:15:22Z",
"health": {
"healthy": false,
"reason": "agent has lost connection"
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"instance_id": "string",
"last_connected_at": "2019-08-24T14:15:22Z",
"latency": {
"property1": {
"latency_ms": 0,
"preferred": true
},
"property2": {
"latency_ms": 0,
"preferred": true
}
},
"lifecycle_state": "created",
"log_sources": [
{
"created_at": "2019-08-24T14:15:22Z",
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
],
"logs_length": 0,
"logs_overflowed": true,
"name": "string",
"operating_system": "string",
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
],
"started_at": "2019-08-24T14:15:22Z",
"startup_script_behavior": "blocking",
"status": "connecting",
"subsystems": ["envbox"],
"troubleshooting_url": "string",
"updated_at": "2019-08-24T14:15:22Z",
"version": "string"
}
],
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"hide": true,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
"metadata": [
{
"key": "string",
"sensitive": true,
"value": "string"
}
],
"name": "string",
"type": "string",
"workspace_transition": "start"
}
],
"status": "pending",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"template_version_name": "string",
"transition": "start",
"updated_at": "2019-08-24T14:15:22Z",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string",
"workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
"workspace_owner_name": "string"
},
"name": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_require_active_version": true,
"ttl_ms": 0,
"updated_at": "2019-08-24T14:15:22Z"
}
Properties
Name Type Required Restrictions Description automatic_updatescodersdk.AutomaticUpdates false autostart_schedulestring false created_atstring false deleting_atstring false Deleting at indicates the time at which the workspace will be permanently deleted. A workspace is eligible for deletion if it is dormant (a non-nil dormant_at value) and a value has been specified for time_til_dormant_autodelete on its template. dormant_atstring false Dormant at being non-nil indicates a workspace that is dormant. A dormant workspace is no longer accessible must be activated. It is subject to deletion if it breaches the duration of the timetil field on its template. healthcodersdk.WorkspaceHealth false Health shows the health of the workspace and information about what is causing an unhealthy status. idstring false last_used_atstring false latest_buildcodersdk.WorkspaceBuild false namestring false organization_idstring false outdatedboolean false owner_idstring false owner_namestring false template_active_version_idstring false template_allow_user_cancel_workspace_jobsboolean false template_display_namestring false template_iconstring false template_idstring false template_namestring false template_require_active_versionboolean false ttl_msinteger false updated_atstring false
Enumerated Values
Property Value automatic_updatesalwaysautomatic_updatesnever
codersdk.WorkspaceAgent
{
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
],
"architecture": "string",
"connection_timeout_seconds": 0,
"created_at": "2019-08-24T14:15:22Z",
"directory": "string",
"disconnected_at": "2019-08-24T14:15:22Z",
"display_apps": ["vscode"],
"environment_variables": {
"property1": "string",
"property2": "string"
},
"expanded_directory": "string",
"first_connected_at": "2019-08-24T14:15:22Z",
"health": {
"healthy": false,
"reason": "agent has lost connection"
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"instance_id": "string",
"last_connected_at": "2019-08-24T14:15:22Z",
"latency": {
"property1": {
"latency_ms": 0,
"preferred": true
},
"property2": {
"latency_ms": 0,
"preferred": true
}
},
"lifecycle_state": "created",
"log_sources": [
{
"created_at": "2019-08-24T14:15:22Z",
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
],
"logs_length": 0,
"logs_overflowed": true,
"name": "string",
"operating_system": "string",
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
],
"started_at": "2019-08-24T14:15:22Z",
"startup_script_behavior": "blocking",
"status": "connecting",
"subsystems": ["envbox"],
"troubleshooting_url": "string",
"updated_at": "2019-08-24T14:15:22Z",
"version": "string"
}
Properties
codersdk.WorkspaceAgentConnectionInfo
{
"derp_force_websockets": true,
"derp_map": {
"homeParams": {
"regionScore": {
"property1": 0,
"property2": 0
}
},
"omitDefaultRegions": true,
"regions": {
"property1": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
},
"property2": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
},
"disable_direct_connections": true
}
Properties
Name Type Required Restrictions Description derp_force_websocketsboolean false derp_maptailcfg.DERPMap false disable_direct_connectionsboolean false
codersdk.WorkspaceAgentHealth
{
"healthy": false,
"reason": "agent has lost connection"
}
Properties
Name Type Required Restrictions Description healthyboolean false Healthy is true if the agent is healthy. reasonstring false Reason is a human-readable explanation of the agent's health. It is empty if Healthy is true.
codersdk.WorkspaceAgentLifecycle
Properties
Enumerated Values
Value createdstartingstart_timeoutstart_errorreadyshutting_downshutdown_timeoutshutdown_erroroff
codersdk.WorkspaceAgentListeningPort
{
"network": "string",
"port": 0,
"process_name": "string"
}
Properties
Name Type Required Restrictions Description networkstring false only "tcp" at the moment portinteger false process_namestring false may be empty
codersdk.WorkspaceAgentListeningPortsResponse
{
"ports": [
{
"network": "string",
"port": 0,
"process_name": "string"
}
]
}
Properties
Name Type Required Restrictions Description portsarray of codersdk.WorkspaceAgentListeningPort false If there are no ports in the list, nothing should be displayed in the UI. There must not be a "no ports available" message or anything similar, as there will always be no ports displayed on platforms where our port detection logic is unsupported.
codersdk.WorkspaceAgentLog
{
"created_at": "2019-08-24T14:15:22Z",
"id": 0,
"level": "trace",
"output": "string",
"source_id": "ae50a35c-df42-4eff-ba26-f8bc28d2af81"
}
Properties
Name Type Required Restrictions Description created_atstring false idinteger false levelcodersdk.LogLevel false outputstring false source_idstring false
codersdk.WorkspaceAgentLogSource
{
"created_at": "2019-08-24T14:15:22Z",
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
Properties
Name Type Required Restrictions Description created_atstring false display_namestring false iconstring false idstring false workspace_agent_idstring false
{
"display_name": "string",
"interval": 0,
"key": "string",
"script": "string",
"timeout": 0
}
Properties
Name Type Required Restrictions Description display_namestring false intervalinteger false keystring false scriptstring false timeoutinteger false
codersdk.WorkspaceAgentScript
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
Properties
Name Type Required Restrictions Description cronstring false log_pathstring false log_source_idstring false run_on_startboolean false run_on_stopboolean false scriptstring false start_blocks_loginboolean false timeoutinteger false
codersdk.WorkspaceAgentStartupScriptBehavior
Properties
Enumerated Values
Value blockingnon-blocking
codersdk.WorkspaceAgentStatus
Properties
Enumerated Values
Value connectingconnecteddisconnectedtimeout
codersdk.WorkspaceApp
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
Properties
Name Type Required Restrictions Description commandstring false display_namestring false Display name is a friendly name for the app. externalboolean false External specifies whether the URL should be opened externally on the client or not. healthcodersdk.WorkspaceAppHealth false healthcheckcodersdk.Healthcheck false Healthcheck specifies the configuration for checking app health. iconstring false Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. idstring false sharing_levelcodersdk.WorkspaceAppSharingLevel false slugstring false Slug is a unique identifier within the agent. subdomainboolean false Subdomain denotes whether the app should be accessed via a path on the coder server or via a hostname-based dev URL. If this is set to true and there is no app wildcard configured on the server, the app will not be accessible in the UI. subdomain_namestring false Subdomain name is the application domain exposed on the coder server. urlstring false URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client.
Enumerated Values
Property Value sharing_levelownersharing_levelauthenticatedsharing_levelpublic
codersdk.WorkspaceAppHealth
Properties
Enumerated Values
Value disabledinitializinghealthyunhealthy
codersdk.WorkspaceAppSharingLevel
Properties
Enumerated Values
Value ownerauthenticatedpublic
codersdk.WorkspaceBuild
{
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"deadline": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"initiator_name": "string",
"job": {
"canceled_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"error": "string",
"error_code": "REQUIRED_TEMPLATE_VARIABLES",
"file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
},
"max_deadline": "2019-08-24T14:15:22Z",
"reason": "initiator",
"resources": [
{
"agents": [
{
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
],
"architecture": "string",
"connection_timeout_seconds": 0,
"created_at": "2019-08-24T14:15:22Z",
"directory": "string",
"disconnected_at": "2019-08-24T14:15:22Z",
"display_apps": ["vscode"],
"environment_variables": {
"property1": "string",
"property2": "string"
},
"expanded_directory": "string",
"first_connected_at": "2019-08-24T14:15:22Z",
"health": {
"healthy": false,
"reason": "agent has lost connection"
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"instance_id": "string",
"last_connected_at": "2019-08-24T14:15:22Z",
"latency": {
"property1": {
"latency_ms": 0,
"preferred": true
},
"property2": {
"latency_ms": 0,
"preferred": true
}
},
"lifecycle_state": "created",
"log_sources": [
{
"created_at": "2019-08-24T14:15:22Z",
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
],
"logs_length": 0,
"logs_overflowed": true,
"name": "string",
"operating_system": "string",
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
],
"started_at": "2019-08-24T14:15:22Z",
"startup_script_behavior": "blocking",
"status": "connecting",
"subsystems": ["envbox"],
"troubleshooting_url": "string",
"updated_at": "2019-08-24T14:15:22Z",
"version": "string"
}
],
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"hide": true,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
"metadata": [
{
"key": "string",
"sensitive": true,
"value": "string"
}
],
"name": "string",
"type": "string",
"workspace_transition": "start"
}
],
"status": "pending",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"template_version_name": "string",
"transition": "start",
"updated_at": "2019-08-24T14:15:22Z",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string",
"workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
"workspace_owner_name": "string"
}
Properties
Enumerated Values
Property Value reasoninitiatorreasonautostartreasonautostopstatuspendingstatusstartingstatusrunningstatusstoppingstatusstoppedstatusfailedstatuscancelingstatuscanceledstatusdeletingstatusdeletedtransitionstarttransitionstoptransitiondelete
codersdk.WorkspaceBuildParameter
{
"name": "string",
"value": "string"
}
Properties
Name Type Required Restrictions Description namestring false valuestring false
codersdk.WorkspaceConnectionLatencyMS
Properties
Name Type Required Restrictions Description p50number false p95number false
codersdk.WorkspaceDeploymentStats
{
"building": 0,
"connection_latency_ms": {
"p50": 0,
"p95": 0
},
"failed": 0,
"pending": 0,
"running": 0,
"rx_bytes": 0,
"stopped": 0,
"tx_bytes": 0
}
Properties
Name Type Required Restrictions Description buildinginteger false connection_latency_mscodersdk.WorkspaceConnectionLatencyMS false failedinteger false pendinginteger false runninginteger false rx_bytesinteger false stoppedinteger false tx_bytesinteger false
codersdk.WorkspaceHealth
{
"failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"healthy": false
}
Properties
Name Type Required Restrictions Description failing_agentsarray of string false Failing agents lists the IDs of the agents that are failing, if any. healthyboolean false Healthy is true if the workspace is healthy.
codersdk.WorkspaceProxy
{
"created_at": "2019-08-24T14:15:22Z",
"deleted": true,
"derp_enabled": true,
"derp_only": true,
"display_name": "string",
"healthy": true,
"icon_url": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"path_app_url": "string",
"status": {
"checked_at": "2019-08-24T14:15:22Z",
"report": {
"errors": ["string"],
"warnings": ["string"]
},
"status": "ok"
},
"updated_at": "2019-08-24T14:15:22Z",
"wildcard_hostname": "string"
}
Properties
Name Type Required Restrictions Description created_atstring false deletedboolean false derp_enabledboolean false derp_onlyboolean false display_namestring false healthyboolean false icon_urlstring false idstring false namestring false path_app_urlstring false Path app URL is the URL to the base path for path apps. Optional unless wildcard_hostname is set. E.g. https://us.example.com statuscodersdk.WorkspaceProxyStatus false Status is the latest status check of the proxy. This will be empty for deleted proxies. This value can be used to determine if a workspace proxy is healthy and ready to use. updated_atstring false wildcard_hostnamestring false Wildcard hostname is the wildcard hostname for subdomain apps. E.g. _.us.example.com E.g. _--suffix.au.example.com Optional. Does not need to be on the same domain as PathAppURL.
codersdk.WorkspaceProxyStatus
{
"checked_at": "2019-08-24T14:15:22Z",
"report": {
"errors": ["string"],
"warnings": ["string"]
},
"status": "ok"
}
Properties
codersdk.WorkspaceQuota
{
"budget": 0,
"credits_consumed": 0
}
Properties
Name Type Required Restrictions Description budgetinteger false credits_consumedinteger false
codersdk.WorkspaceResource
{
"agents": [
{
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
],
"architecture": "string",
"connection_timeout_seconds": 0,
"created_at": "2019-08-24T14:15:22Z",
"directory": "string",
"disconnected_at": "2019-08-24T14:15:22Z",
"display_apps": ["vscode"],
"environment_variables": {
"property1": "string",
"property2": "string"
},
"expanded_directory": "string",
"first_connected_at": "2019-08-24T14:15:22Z",
"health": {
"healthy": false,
"reason": "agent has lost connection"
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"instance_id": "string",
"last_connected_at": "2019-08-24T14:15:22Z",
"latency": {
"property1": {
"latency_ms": 0,
"preferred": true
},
"property2": {
"latency_ms": 0,
"preferred": true
}
},
"lifecycle_state": "created",
"log_sources": [
{
"created_at": "2019-08-24T14:15:22Z",
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
],
"logs_length": 0,
"logs_overflowed": true,
"name": "string",
"operating_system": "string",
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
],
"started_at": "2019-08-24T14:15:22Z",
"startup_script_behavior": "blocking",
"status": "connecting",
"subsystems": ["envbox"],
"troubleshooting_url": "string",
"updated_at": "2019-08-24T14:15:22Z",
"version": "string"
}
],
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"hide": true,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
"metadata": [
{
"key": "string",
"sensitive": true,
"value": "string"
}
],
"name": "string",
"type": "string",
"workspace_transition": "start"
}
Properties
Enumerated Values
Property Value workspace_transitionstartworkspace_transitionstopworkspace_transitiondelete
{
"key": "string",
"sensitive": true,
"value": "string"
}
Properties
Name Type Required Restrictions Description keystring false sensitiveboolean false valuestring false
codersdk.WorkspaceStatus
Properties
Enumerated Values
Value pendingstartingrunningstoppingstoppedfailedcancelingcanceleddeletingdeleted
codersdk.WorkspaceTransition
Properties
Enumerated Values
codersdk.WorkspacesResponse
{
"count": 0,
"workspaces": [
{
"automatic_updates": "always",
"autostart_schedule": "string",
"created_at": "2019-08-24T14:15:22Z",
"deleting_at": "2019-08-24T14:15:22Z",
"dormant_at": "2019-08-24T14:15:22Z",
"health": {
"failing_agents": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
"healthy": false
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"last_used_at": "2019-08-24T14:15:22Z",
"latest_build": {
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"deadline": "2019-08-24T14:15:22Z",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"initiator_name": "string",
"job": {
"canceled_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"error": "string",
"error_code": "REQUIRED_TEMPLATE_VARIABLES",
"file_id": "8a0cfb4f-ddc9-436d-91bb-75133c583767",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b"
},
"max_deadline": "2019-08-24T14:15:22Z",
"reason": "initiator",
"resources": [
{
"agents": [
{
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"health": "disabled",
"healthcheck": {},
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sharing_level": "owner",
"slug": "string",
"subdomain": true,
"subdomain_name": "string",
"url": "string"
}
],
"architecture": "string",
"connection_timeout_seconds": 0,
"created_at": "2019-08-24T14:15:22Z",
"directory": "string",
"disconnected_at": "2019-08-24T14:15:22Z",
"display_apps": ["vscode"],
"environment_variables": {
"property1": "string",
"property2": "string"
},
"expanded_directory": "string",
"first_connected_at": "2019-08-24T14:15:22Z",
"health": {
"healthy": false,
"reason": "agent has lost connection"
},
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"instance_id": "string",
"last_connected_at": "2019-08-24T14:15:22Z",
"latency": {
"property1": {
"latency_ms": 0,
"preferred": true
},
"property2": {
"latency_ms": 0,
"preferred": true
}
},
"lifecycle_state": "created",
"log_sources": [
{
"created_at": "2019-08-24T14:15:22Z",
"display_name": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workspace_agent_id": "7ad2e618-fea7-4c1a-b70a-f501566a72f1"
}
],
"logs_length": 0,
"logs_overflowed": true,
"name": "string",
"operating_system": "string",
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"log_path": "string",
"log_source_id": "4197ab25-95cf-4b91-9c78-f7f2af5d353a",
"run_on_start": true,
"run_on_stop": true,
"script": "string",
"start_blocks_login": true,
"timeout": 0
}
],
"started_at": "2019-08-24T14:15:22Z",
"startup_script_behavior": "blocking",
"status": "connecting",
"subsystems": ["envbox"],
"troubleshooting_url": "string",
"updated_at": "2019-08-24T14:15:22Z",
"version": "string"
}
],
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
"hide": true,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
"metadata": [
{
"key": "string",
"sensitive": true,
"value": "string"
}
],
"name": "string",
"type": "string",
"workspace_transition": "start"
}
],
"status": "pending",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"template_version_name": "string",
"transition": "start",
"updated_at": "2019-08-24T14:15:22Z",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string",
"workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7",
"workspace_owner_name": "string"
},
"name": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_require_active_version": true,
"ttl_ms": 0,
"updated_at": "2019-08-24T14:15:22Z"
}
]
}
Properties
Name Type Required Restrictions Description countinteger false workspacesarray of codersdk.Workspace false
derp.ServerInfoMessage
{
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
}
Properties
Name Type Required Restrictions Description tokenBucketBytesBurstinteger false Tokenbucketbytesburst is how many bytes the server will allow to burst, temporarily violating TokenBucketBytesPerSecond. Zero means unspecified. There might be a limit, but the client need not try to respect it. tokenBucketBytesPerSecondinteger false Tokenbucketbytespersecond is how many bytes per second the server says it will accept, including all framing bytes. Zero means unspecified. There might be a limit, but the client need not try to respect it.
derphealth.NodeReport
{
"can_exchange_messages": true,
"client_errs": [["string"]],
"client_logs": [["string"]],
"error": "string",
"healthy": true,
"node": {
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
},
"node_info": {
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
},
"round_trip_ping": "string",
"round_trip_ping_ms": 0,
"stun": {
"canSTUN": true,
"enabled": true,
"error": "string"
},
"uses_websocket": true
}
Properties
Name Type Required Restrictions Description can_exchange_messagesboolean false client_errsarray of array false client_logsarray of array false errorstring false healthyboolean false nodetailcfg.DERPNode false node_infoderp.ServerInfoMessage false round_trip_pingstring false round_trip_ping_msinteger false stunderphealth.StunReport false uses_websocketboolean false
derphealth.RegionReport
{
"error": "string",
"healthy": true,
"node_reports": [
{
"can_exchange_messages": true,
"client_errs": [["string"]],
"client_logs": [["string"]],
"error": "string",
"healthy": true,
"node": {
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
},
"node_info": {
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
},
"round_trip_ping": "string",
"round_trip_ping_ms": 0,
"stun": {
"canSTUN": true,
"enabled": true,
"error": "string"
},
"uses_websocket": true
}
],
"region": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
Properties
derphealth.Report
{
"error": "string",
"healthy": true,
"netcheck": {
"captivePortal": "string",
"globalV4": "string",
"globalV6": "string",
"hairPinning": "string",
"icmpv4": true,
"ipv4": true,
"ipv4CanSend": true,
"ipv6": true,
"ipv6CanSend": true,
"mappingVariesByDestIP": "string",
"oshasIPv6": true,
"pcp": "string",
"pmp": "string",
"preferredDERP": 0,
"regionLatency": {
"property1": 0,
"property2": 0
},
"regionV4Latency": {
"property1": 0,
"property2": 0
},
"regionV6Latency": {
"property1": 0,
"property2": 0
},
"udp": true,
"upnP": "string"
},
"netcheck_err": "string",
"netcheck_logs": ["string"],
"regions": {
"property1": {
"error": "string",
"healthy": true,
"node_reports": [
{
"can_exchange_messages": true,
"client_errs": [["string"]],
"client_logs": [["string"]],
"error": "string",
"healthy": true,
"node": {
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
},
"node_info": {
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
},
"round_trip_ping": "string",
"round_trip_ping_ms": 0,
"stun": {
"canSTUN": true,
"enabled": true,
"error": "string"
},
"uses_websocket": true
}
],
"region": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
},
"property2": {
"error": "string",
"healthy": true,
"node_reports": [
{
"can_exchange_messages": true,
"client_errs": [["string"]],
"client_logs": [["string"]],
"error": "string",
"healthy": true,
"node": {
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
},
"node_info": {
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
},
"round_trip_ping": "string",
"round_trip_ping_ms": 0,
"stun": {
"canSTUN": true,
"enabled": true,
"error": "string"
},
"uses_websocket": true
}
],
"region": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
}
}
Properties
Name Type Required Restrictions Description errorstring false healthyboolean false netchecknetcheck.Report false netcheck_errstring false netcheck_logsarray of string false regionsobject false » [any property] derphealth.RegionReport false
derphealth.StunReport
{
"canSTUN": true,
"enabled": true,
"error": "string"
}
Properties
Name Type Required Restrictions Description canSTUNboolean false enabledboolean false errorstring false
healthcheck.AccessURLReport
{
"access_url": "string",
"error": "string",
"healthy": true,
"healthz_response": "string",
"reachable": true,
"status_code": 0
}
Properties
Name Type Required Restrictions Description access_urlstring false errorstring false healthyboolean false healthz_responsestring false reachableboolean false status_codeinteger false
healthcheck.DatabaseReport
{
"error": "string",
"healthy": true,
"latency": "string",
"latency_ms": 0,
"reachable": true
}
Properties
Name Type Required Restrictions Description errorstring false healthyboolean false latencystring false latency_msinteger false reachableboolean false
healthcheck.Report
{
"access_url": {
"access_url": "string",
"error": "string",
"healthy": true,
"healthz_response": "string",
"reachable": true,
"status_code": 0
},
"coder_version": "string",
"database": {
"error": "string",
"healthy": true,
"latency": "string",
"latency_ms": 0,
"reachable": true
},
"derp": {
"error": "string",
"healthy": true,
"netcheck": {
"captivePortal": "string",
"globalV4": "string",
"globalV6": "string",
"hairPinning": "string",
"icmpv4": true,
"ipv4": true,
"ipv4CanSend": true,
"ipv6": true,
"ipv6CanSend": true,
"mappingVariesByDestIP": "string",
"oshasIPv6": true,
"pcp": "string",
"pmp": "string",
"preferredDERP": 0,
"regionLatency": {
"property1": 0,
"property2": 0
},
"regionV4Latency": {
"property1": 0,
"property2": 0
},
"regionV6Latency": {
"property1": 0,
"property2": 0
},
"udp": true,
"upnP": "string"
},
"netcheck_err": "string",
"netcheck_logs": ["string"],
"regions": {
"property1": {
"error": "string",
"healthy": true,
"node_reports": [
{
"can_exchange_messages": true,
"client_errs": [["string"]],
"client_logs": [["string"]],
"error": "string",
"healthy": true,
"node": {
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
},
"node_info": {
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
},
"round_trip_ping": "string",
"round_trip_ping_ms": 0,
"stun": {
"canSTUN": true,
"enabled": true,
"error": "string"
},
"uses_websocket": true
}
],
"region": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
},
"property2": {
"error": "string",
"healthy": true,
"node_reports": [
{
"can_exchange_messages": true,
"client_errs": [["string"]],
"client_logs": [["string"]],
"error": "string",
"healthy": true,
"node": {
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
},
"node_info": {
"tokenBucketBytesBurst": 0,
"tokenBucketBytesPerSecond": 0
},
"round_trip_ping": "string",
"round_trip_ping_ms": 0,
"stun": {
"canSTUN": true,
"enabled": true,
"error": "string"
},
"uses_websocket": true
}
],
"region": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
}
},
"failing_sections": ["string"],
"healthy": true,
"time": "string",
"websocket": {
"body": "string",
"code": 0,
"error": "string",
"healthy": true
}
}
Properties
Name Type Required Restrictions Description access_urlhealthcheck.AccessURLReport false coder_versionstring false The Coder version of the server that the report was generated on. databasehealthcheck.DatabaseReport false derpderphealth.Report false failing_sectionsarray of string false Failing sections is a list of sections that have failed their healthcheck. healthyboolean false Healthy is true if the report returns no errors. timestring false Time is the time the report was generated at. websockethealthcheck.WebsocketReport false
healthcheck.WebsocketReport
{
"body": "string",
"code": 0,
"error": "string",
"healthy": true
}
Properties
Name Type Required Restrictions Description bodystring false codeinteger false errorstring false healthyboolean false
netcheck.Report
{
"captivePortal": "string",
"globalV4": "string",
"globalV6": "string",
"hairPinning": "string",
"icmpv4": true,
"ipv4": true,
"ipv4CanSend": true,
"ipv6": true,
"ipv6CanSend": true,
"mappingVariesByDestIP": "string",
"oshasIPv6": true,
"pcp": "string",
"pmp": "string",
"preferredDERP": 0,
"regionLatency": {
"property1": 0,
"property2": 0
},
"regionV4Latency": {
"property1": 0,
"property2": 0
},
"regionV6Latency": {
"property1": 0,
"property2": 0
},
"udp": true,
"upnP": "string"
}
Properties
Name Type Required Restrictions Description captivePortalstring false Captiveportal is set when we think there's a captive portal that is intercepting HTTP traffic. globalV4string false ip:port of global IPv4 globalV6string false [ip]:port of global IPv6 hairPinningstring false Hairpinning is whether the router supports communicating between two local devices through the NATted public IP address (on IPv4). icmpv4boolean false an ICMPv4 round trip completed ipv4boolean false an IPv4 STUN round trip completed ipv4CanSendboolean false an IPv4 packet was able to be sent ipv6boolean false an IPv6 STUN round trip completed ipv6CanSendboolean false an IPv6 packet was able to be sent mappingVariesByDestIPstring false Mappingvariesbydestip is whether STUN results depend which STUN server you're talking to (on IPv4). oshasIPv6boolean false could bind a socket to ::1 pcpstring false Pcp is whether PCP appears present on the LAN. Empty means not checked. pmpstring false Pmp is whether NAT-PMP appears present on the LAN. Empty means not checked. preferredDERPinteger false or 0 for unknown regionLatencyobject false keyed by DERP Region ID » [any property] integer false regionV4Latencyobject false keyed by DERP Region ID » [any property] integer false regionV6Latencyobject false keyed by DERP Region ID » [any property] integer false udpboolean false a UDP STUN round trip completed upnPstring false Upnp is whether UPnP appears present on the LAN. Empty means not checked.
sql.NullTime
{
"time": "string",
"valid": true
}
Properties
Name Type Required Restrictions Description timestring false validboolean false Valid is true if Time is not NULL
tailcfg.DERPHomeParams
{
"regionScore": {
"property1": 0,
"property2": 0
}
}
Properties
Name Type Required Restrictions Description regionScoreobject false Regionscore scales latencies of DERP regions by a given scaling factor when determining which region to use as the home ("preferred") DERP. Scores in the range (0, 1) will cause this region to be proportionally more preferred, and scores in the range (1, ∞) will penalize a region.
If a region is not present in this map, it is treated as having a score of 1.0.
Scores should not be 0 or negative; such scores will be ignored.
A nil map means no change from the previous value (if any); an empty non-nil map can be sent to reset all scores back to 1.0.|
|» [any property]|number|false|||
tailcfg.DERPMap
{
"homeParams": {
"regionScore": {
"property1": 0,
"property2": 0
}
},
"omitDefaultRegions": true,
"regions": {
"property1": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
},
"property2": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
}
Properties
Name Type Required Restrictions Description homeParamstailcfg.DERPHomeParams false Homeparams if non-nil, is a change in home parameters. The rest of the DEPRMap fields, if zero, means unchanged. omitDefaultRegionsboolean false Omitdefaultregions specifies to not use Tailscale's DERP servers, and only use those specified in this DERPMap. If there are none set outside of the defaults, this is a noop. This field is only meaningful if the Regions map is non-nil (indicating a change). regionsobject false Regions is the set of geographic regions running DERP node(s).
It's keyed by the DERPRegion.RegionID.
The numbers are not necessarily contiguous.|
|» [any property]|tailcfg.DERPRegion |false|||
tailcfg.DERPNode
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
Properties
Name Type Required Restrictions Description canPort80boolean false Canport80 specifies whether this DERP node is accessible over HTTP on port 80 specifically. This is used for captive portal checks. certNamestring false Certname optionally specifies the expected TLS cert common name. If empty, HostName is used. If CertName is non-empty, HostName is only used for the TCP dial (if IPv4/IPv6 are not present) + TLS ClientHello. derpportinteger false Derpport optionally provides an alternate TLS port number for the DERP HTTPS server. If zero, 443 is used. forceHTTPboolean false Forcehttp is used by unit tests to force HTTP. It should not be set by users. hostNamestring false Hostname is the DERP node's hostname. It is required but need not be unique; multiple nodes may have the same HostName but vary in configuration otherwise. insecureForTestsboolean false Insecurefortests is used by unit tests to disable TLS verification. It should not be set by users. ipv4string false Ipv4 optionally forces an IPv4 address to use, instead of using DNS. If empty, A record(s) from DNS lookups of HostName are used. If the string is not an IPv4 address, IPv4 is not used; the conventional string to disable IPv4 (and not use DNS) is "none". ipv6string false Ipv6 optionally forces an IPv6 address to use, instead of using DNS. If empty, AAAA record(s) from DNS lookups of HostName are used. If the string is not an IPv6 address, IPv6 is not used; the conventional string to disable IPv6 (and not use DNS) is "none". namestring false Name is a unique node name (across all regions). It is not a host name. It's typically of the form "1b", "2a", "3b", etc. (region ID + suffix within that region) regionIDinteger false Regionid is the RegionID of the DERPRegion that this node is running in. stunonlyboolean false Stunonly marks a node as only a STUN server and not a DERP server. stunportinteger false Port optionally specifies a STUN port to use. Zero means 3478. To disable STUN on this node, use -1. stuntestIPstring false Stuntestip is used in tests to override the STUN server's IP. If empty, it's assumed to be the same as the DERP server.
tailcfg.DERPRegion
{
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
Properties
Name Type Required Restrictions Description avoidboolean false Avoid is whether the client should avoid picking this as its home region. The region should only be used if a peer is there. Clients already using this region as their home should migrate away to a new region without Avoid set. embeddedRelayboolean false Embeddedrelay is true when the region is bundled with the Coder control plane. nodesarray of tailcfg.DERPNode false Nodes are the DERP nodes running in this region, in priority order for the current client. Client TLS connections should ideally only go to the first entry (falling back to the second if necessary). STUN packets should go to the first 1 or 2. If nodes within a region route packets amongst themselves, but not to other regions. That said, each user/domain should get a the same preferred node order, so if all nodes for a user/network pick the first one (as they should, when things are healthy), the inter-cluster routing is minimal to zero. regionCodestring false Regioncode is a short name for the region. It's usually a popular city or airport code in the region: "nyc", "sf", "sin", "fra", etc. regionIDinteger false Regionid is a unique integer for a geographic region.
It corresponds to the legacy derpN.tailscale.com hostnames used by older clients. (Older clients will continue to resolve derpN.tailscale.com when contacting peers, rather than use the server-provided DERPMap)
RegionIDs must be non-zero, positive, and guaranteed to fit in a JavaScript number.
RegionIDs in range 900-999 are reserved for end users to run their own DERP nodes.|
|regionName|string|false||Regionname is a long English name for the region: "New York City", "San Francisco", "Singapore", "Frankfurt", etc.|
url.Userinfo
Properties
None
workspaceapps.AccessMethod
Properties
Enumerated Values
Value pathsubdomainterminal
workspaceapps.IssueTokenRequest
{
"app_hostname": "string",
"app_path": "string",
"app_query": "string",
"app_request": {
"access_method": "path",
"agent_name_or_id": "string",
"app_prefix": "string",
"app_slug_or_port": "string",
"base_path": "string",
"username_or_id": "string",
"workspace_name_or_id": "string"
},
"path_app_base_url": "string",
"session_token": "string"
}
Properties
Name Type Required Restrictions Description app_hostnamestring false App hostname is the optional hostname for subdomain apps on the external proxy. It must start with an asterisk. app_pathstring false App path is the path of the user underneath the app base path. app_querystring false App query is the query parameters the user provided in the app request. app_requestworkspaceapps.Request false path_app_base_urlstring false Path app base URL is required. session_tokenstring false Session token is the session token provided by the user.
workspaceapps.Request
{
"access_method": "path",
"agent_name_or_id": "string",
"app_prefix": "string",
"app_slug_or_port": "string",
"base_path": "string",
"username_or_id": "string",
"workspace_name_or_id": "string"
}
Properties
Name Type Required Restrictions Description access_methodworkspaceapps.AccessMethod false agent_name_or_idstring false Agent name or ID is not required if the workspace has only one agent. app_prefixstring false Prefix is the prefix of the subdomain app URL. Prefix should have a trailing "---" if set. app_slug_or_portstring false base_pathstring false Base path of the app. For path apps, this is the path prefix in the router for this particular app. For subdomain apps, this should be "/". This is used for setting the cookie path. username_or_idstring false For the following fields, if the AccessMethod is AccessMethodTerminal, then only AgentNameOrID may be set and it must be a UUID. The other fields must be left blank. workspace_name_or_idstring false
workspaceapps.StatsReport
{
"access_method": "path",
"agent_id": "string",
"requests": 0,
"session_ended_at": "string",
"session_id": "string",
"session_started_at": "string",
"slug_or_port": "string",
"user_id": "string",
"workspace_id": "string"
}
Properties
Name Type Required Restrictions Description access_methodworkspaceapps.AccessMethod false agent_idstring false requestsinteger false session_ended_atstring false Updated periodically while app is in use active and when the last connection is closed. session_idstring false session_started_atstring false slug_or_portstring false user_idstring false workspace_idstring false
wsproxysdk.AgentIsLegacyResponse
{
"found": true,
"legacy": true
}
Properties
Name Type Required Restrictions Description foundboolean false legacyboolean false
wsproxysdk.DeregisterWorkspaceProxyRequest
{
"replica_id": "string"
}
Properties
Name Type Required Restrictions Description replica_idstring false Replica ID is a unique identifier for the replica of the proxy that is deregistering. It should be generated by the client on startup and should've already been passed to the register endpoint.
wsproxysdk.IssueSignedAppTokenResponse
{
"signed_token_str": "string"
}
Properties
Name Type Required Restrictions Description signed_token_strstring false Signed token str should be set as a cookie on the response.
wsproxysdk.RegisterWorkspaceProxyRequest
{
"access_url": "string",
"derp_enabled": true,
"derp_only": true,
"hostname": "string",
"replica_error": "string",
"replica_id": "string",
"replica_relay_address": "string",
"version": "string",
"wildcard_hostname": "string"
}
Properties
Name Type Required Restrictions Description access_urlstring false Access URL that hits the workspace proxy api. derp_enabledboolean false Derp enabled indicates whether the proxy should be included in the DERP map or not. derp_onlyboolean false Derp only indicates whether the proxy should only be included in the DERP map and should not be used for serving apps. hostnamestring false Hostname is the OS hostname of the machine that the proxy is running on. This is only used for tracking purposes in the replicas table. replica_errorstring false Replica error is the error that the replica encountered when trying to dial it's peers. This is stored in the replicas table for debugging purposes but does not affect the proxy's ability to register. This value is only stored on subsequent requests to the register endpoint, not the first request. replica_idstring false Replica ID is a unique identifier for the replica of the proxy that is registering. It should be generated by the client on startup and persisted (in memory only) until the process is restarted. replica_relay_addressstring false Replica relay address is the DERP address of the replica that other replicas may use to connect internally for DERP meshing. versionstring false Version is the Coder version of the proxy. wildcard_hostnamestring false Wildcard hostname that the workspace proxy api is serving for subdomain apps.
wsproxysdk.RegisterWorkspaceProxyResponse
{
"app_security_key": "string",
"derp_force_websockets": true,
"derp_map": {
"homeParams": {
"regionScore": {
"property1": 0,
"property2": 0
}
},
"omitDefaultRegions": true,
"regions": {
"property1": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
},
"property2": {
"avoid": true,
"embeddedRelay": true,
"nodes": [
{
"canPort80": true,
"certName": "string",
"derpport": 0,
"forceHTTP": true,
"hostName": "string",
"insecureForTests": true,
"ipv4": "string",
"ipv6": "string",
"name": "string",
"regionID": 0,
"stunonly": true,
"stunport": 0,
"stuntestIP": "string"
}
],
"regionCode": "string",
"regionID": 0,
"regionName": "string"
}
}
},
"derp_mesh_key": "string",
"derp_region_id": 0,
"sibling_replicas": [
{
"created_at": "2019-08-24T14:15:22Z",
"database_latency": 0,
"error": "string",
"hostname": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"region_id": 0,
"relay_address": "string"
}
]
}
Properties
Name Type Required Restrictions Description app_security_keystring false derp_force_websocketsboolean false derp_maptailcfg.DERPMap false derp_mesh_keystring false derp_region_idinteger false sibling_replicasarray of codersdk.Replica false Sibling replicas is a list of all other replicas of the proxy that have not timed out.
wsproxysdk.ReportAppStatsRequest
{
"stats": [
{
"access_method": "path",
"agent_id": "string",
"requests": 0,
"session_ended_at": "string",
"session_id": "string",
"session_started_at": "string",
"slug_or_port": "string",
"user_id": "string",
"workspace_id": "string"
}
]
}
Properties