Get templates by organization
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templates \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/organizations/{organization}/templates
Returns a list of templates for the specified organization.
By default, only non-deprecated templates are returned.
To include deprecated templates, specify deprecated:true in the search query.
Parameters
Name In Type Required Description organizationpath string(uuid) true Organization ID
Example responses
200 Response
[
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"activity_bump_ms": 0,
"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
}
},
"cors_behavior": "simple",
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"deleted": true,
"deprecated": true,
"deprecation_message": "string",
"description": "string",
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_port_share_level": "owner",
"name": "string",
"organization_display_name": "string",
"organization_icon": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"organization_name": "string",
"provisioner": "terraform",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z",
"use_classic_parameter_flow": true
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » active_user_countinteger false Active user count is set to -1 when loading. » active_version_idstring(uuid) false » activity_bump_msinteger 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 »» days_of_weekarray false Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. » autostop_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. »» days_of_weekarray 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. » build_time_statscodersdk.TemplateBuildTimeStats false »» [any property]codersdk.TransitionStats false »»» p50integer false »»» p95integer false » cors_behaviorcodersdk.CORSBehavior false » created_atstring(date-time) false » created_by_idstring(uuid) false » created_by_namestring false » default_ttl_msinteger false » deletedboolean false » deprecatedboolean false » deprecation_messagestring false » descriptionstring false » disable_module_cacheboolean false Disable module cache disables the use of cached Terraform modules during provisioning. » 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(uuid) false » max_port_share_levelcodersdk.WorkspaceAgentPortShareLevel false » namestring false » organization_display_namestring false » organization_iconstring false » organization_idstring(uuid) false » organization_namestring(url) false » provisionerstring false » require_active_versionboolean false Require active version mandates that workspaces are built with the active template version. » time_til_autostop_notify_msinteger false Time til autostop notify ms is the duration before the workspace's autostop deadline at which a reminder notification is sent. 0 disables the notification. » time_til_dormant_autodelete_msinteger false » time_til_dormant_msinteger false » updated_atstring(date-time) false » use_classic_parameter_flowboolean false
Enumerated Values
Property Value(s) cors_behaviorpassthru, simplemax_port_share_levelauthenticated, organization, owner, publicprovisionerterraform
To perform this operation, you must be authenticated. Learn more .
Create template by organization
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templates \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/organizations/{organization}/templates
Body parameter
{
"activity_bump_ms": 0,
"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
},
"cors_behavior": "simple",
"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_port_share_level": "owner",
"name": "string",
"require_active_version": true,
"template_use_classic_parameter_flow": true,
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"time_til_autostop_notify_ms": 0
}
Parameters
Example responses
200 Response
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"activity_bump_ms": 0,
"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
}
},
"cors_behavior": "simple",
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"deleted": true,
"deprecated": true,
"deprecation_message": "string",
"description": "string",
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_port_share_level": "owner",
"name": "string",
"organization_display_name": "string",
"organization_icon": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"organization_name": "string",
"provisioner": "terraform",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z",
"use_classic_parameter_flow": true
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template examples by organization
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templates/examples \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/organizations/{organization}/templates/examples
Parameters
Name In Type Required Description organizationpath string(uuid) true Organization ID
Example responses
200 Response
[
{
"description": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"markdown": "string",
"name": "string",
"tags": [
"string"
],
"url": "string"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » descriptionstring false » iconstring false » idstring(uuid) false » markdownstring false » namestring false » tagsarray false » urlstring false
To perform this operation, you must be authenticated. Learn more .
Get templates by organization and template name
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templates/{templatename} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/organizations/{organization}/templates/{templatename}
Parameters
Name In Type Required Description organizationpath string(uuid) true Organization ID templatenamepath string true Template name
Example responses
200 Response
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"activity_bump_ms": 0,
"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
}
},
"cors_behavior": "simple",
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"deleted": true,
"deprecated": true,
"deprecation_message": "string",
"description": "string",
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_port_share_level": "owner",
"name": "string",
"organization_display_name": "string",
"organization_icon": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"organization_name": "string",
"provisioner": "terraform",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z",
"use_classic_parameter_flow": true
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template version by organization, template, and name
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templates/{templatename}/versions/{templateversionname} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/organizations/{organization}/templates/{templatename}/versions/{templateversionname}
Parameters
Name In Type Required Description organizationpath string(uuid) true Organization ID templatenamepath string true Template name templateversionnamepath string true Template version name
Example responses
200 Response
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get previous template version by organization, template, and name
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/templates/{templatename}/versions/{templateversionname}/previous \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/organizations/{organization}/templates/{templatename}/versions/{templateversionname}/previous
Parameters
Name In Type Required Description organizationpath string(uuid) true Organization ID templatenamepath string true Template name templateversionnamepath string true Template version name
Example responses
200 Response
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Create template version by organization
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/templateversions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/organizations/{organization}/templateversions
Body parameter
{
"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"
}
]
}
Parameters
Example responses
201 Response
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get all templates
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templates \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templates
Returns a list of templates.
By default, only non-deprecated templates are returned.
To include deprecated templates, specify deprecated:true in the search query.
Example responses
200 Response
[
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"activity_bump_ms": 0,
"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
}
},
"cors_behavior": "simple",
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"deleted": true,
"deprecated": true,
"deprecation_message": "string",
"description": "string",
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_port_share_level": "owner",
"name": "string",
"organization_display_name": "string",
"organization_icon": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"organization_name": "string",
"provisioner": "terraform",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z",
"use_classic_parameter_flow": true
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » active_user_countinteger false Active user count is set to -1 when loading. » active_version_idstring(uuid) false » activity_bump_msinteger 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 »» days_of_weekarray false Days of week is a list of days of the week in which autostart is allowed to happen. If no days are specified, autostart is not allowed. » autostop_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. »» days_of_weekarray 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. » build_time_statscodersdk.TemplateBuildTimeStats false »» [any property]codersdk.TransitionStats false »»» p50integer false »»» p95integer false » cors_behaviorcodersdk.CORSBehavior false » created_atstring(date-time) false » created_by_idstring(uuid) false » created_by_namestring false » default_ttl_msinteger false » deletedboolean false » deprecatedboolean false » deprecation_messagestring false » descriptionstring false » disable_module_cacheboolean false Disable module cache disables the use of cached Terraform modules during provisioning. » 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(uuid) false » max_port_share_levelcodersdk.WorkspaceAgentPortShareLevel false » namestring false » organization_display_namestring false » organization_iconstring false » organization_idstring(uuid) false » organization_namestring(url) false » provisionerstring false » require_active_versionboolean false Require active version mandates that workspaces are built with the active template version. » time_til_autostop_notify_msinteger false Time til autostop notify ms is the duration before the workspace's autostop deadline at which a reminder notification is sent. 0 disables the notification. » time_til_dormant_autodelete_msinteger false » time_til_dormant_msinteger false » updated_atstring(date-time) false » use_classic_parameter_flowboolean false
Enumerated Values
Property Value(s) cors_behaviorpassthru, simplemax_port_share_levelauthenticated, organization, owner, publicprovisionerterraform
To perform this operation, you must be authenticated. Learn more .
Get template examples
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templates/examples \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templates/examples
Example responses
200 Response
[
{
"description": "string",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"markdown": "string",
"name": "string",
"tags": [
"string"
],
"url": "string"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » descriptionstring false » iconstring false » idstring(uuid) false » markdownstring false » namestring false » tagsarray false » urlstring false
To perform this operation, you must be authenticated. Learn more .
Get template settings by ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templates/{template} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templates/{template}
Parameters
Name In Type Required Description templatepath string(uuid) true Template ID
Example responses
200 Response
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"activity_bump_ms": 0,
"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
}
},
"cors_behavior": "simple",
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"deleted": true,
"deprecated": true,
"deprecation_message": "string",
"description": "string",
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_port_share_level": "owner",
"name": "string",
"organization_display_name": "string",
"organization_icon": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"organization_name": "string",
"provisioner": "terraform",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z",
"use_classic_parameter_flow": true
}
Responses
To perform this operation, you must be authenticated. Learn more .
Delete template by ID
Code samples
# Example request using curl
curl -X DELETE http://coder-server:8080/api/v2/templates/{template} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
DELETE /api/v2/templates/{template}
Parameters
Name In Type Required Description templatepath string(uuid) true Template ID
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Update template settings by ID
Code samples
# Example request using curl
curl -X PATCH http://coder-server:8080/api/v2/templates/{template} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PATCH /api/v2/templates/{template}
Body parameter
{
"activity_bump_ms": 0,
"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
},
"cors_behavior": "simple",
"default_ttl_ms": 0,
"deprecation_message": "string",
"description": "string",
"disable_everyone_group_access": true,
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"max_port_share_level": "owner",
"name": "string",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"update_workspace_dormant_at": true,
"update_workspace_last_used_at": true,
"use_classic_parameter_flow": true
}
Parameters
Name In Type Required Description templatepath string(uuid) true Template ID bodybody codersdk.UpdateTemplateMeta true Patch template settings request
Example responses
200 Response
{
"active_user_count": 0,
"active_version_id": "eae64611-bd53-4a80-bb77-df1e432c0fbc",
"activity_bump_ms": 0,
"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
}
},
"cors_behavior": "simple",
"created_at": "2019-08-24T14:15:22Z",
"created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
"created_by_name": "string",
"default_ttl_ms": 0,
"deleted": true,
"deprecated": true,
"deprecation_message": "string",
"description": "string",
"disable_module_cache": true,
"display_name": "string",
"failure_ttl_ms": 0,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"max_port_share_level": "owner",
"name": "string",
"organization_display_name": "string",
"organization_icon": "string",
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"organization_name": "string",
"provisioner": "terraform",
"require_active_version": true,
"time_til_autostop_notify_ms": 0,
"time_til_dormant_autodelete_ms": 0,
"time_til_dormant_ms": 0,
"updated_at": "2019-08-24T14:15:22Z",
"use_classic_parameter_flow": true
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template DAUs by ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templates/{template}/daus \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templates/{template}/daus
Parameters
Name In Type Required Description templatepath string(uuid) true Template ID
Example responses
200 Response
{
"entries": [
{
"amount": 0,
"date": "string"
}
],
"tz_hour_offset": 0
}
Responses
To perform this operation, you must be authenticated. Learn more .
List template versions by template ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templates/{template}/versions
Parameters
Name In Type Required Description templatepath string(uuid) true Template ID after_idquery string(uuid) false After ID include_archivedquery boolean false Include archived versions in the list limitquery integer false Page limit offsetquery integer false Page offset
Example responses
200 Response
[
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » archivedboolean false » created_atstring(date-time) false » created_bycodersdk.MinimalUser false »» avatar_urlstring(uri) false »» idstring(uuid) true »» namestring false »» usernamestring true » has_external_agentboolean false » idstring(uuid) false » jobcodersdk.ProvisionerJob false »» available_workersarray false »» canceled_atstring(date-time) false »» completed_atstring(date-time) false »» created_atstring(date-time) false »» errorstring false »» error_codecodersdk.JobErrorCode false »» file_idstring(uuid) false »» idstring(uuid) false »» initiator_idstring(uuid) false »» inputcodersdk.ProvisionerJobInput false »»» errorstring false »»» template_version_idstring(uuid) false »»» workspace_build_idstring(uuid) false »» logs_overflowedboolean false »» metadatacodersdk.ProvisionerJobMetadata false »»» template_display_namestring false »»» template_iconstring false »»» template_idstring(uuid) false »»» template_namestring false »»» template_version_namestring false »»» workspace_build_transitioncodersdk.WorkspaceTransition false »»» workspace_idstring(uuid) false »»» workspace_namestring false »» organization_idstring(uuid) false »» queue_positioninteger false »» queue_sizeinteger false »» started_atstring(date-time) false »» statuscodersdk.ProvisionerJobStatus false »» tagsobject false »»» [any property]string false »» typecodersdk.ProvisionerJobType false »» worker_idstring(uuid) false »» worker_namestring false » matched_provisionerscodersdk.MatchedProvisioners false »» availableinteger false Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. »» countinteger false Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. »» most_recently_seenstring(date-time) false Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. » messagestring false » namestring false » organization_idstring(uuid) false » readmestring false » template_idstring(uuid) false » updated_atstring(date-time) false » warningsarray false
Enumerated Values
Property Value(s) error_codeINSUFFICIENT_QUOTA, REQUIRED_TEMPLATE_VARIABLESworkspace_build_transitiondelete, start, stopstatuscanceled, canceling, failed, pending, running, succeededtypetemplate_version_dry_run, template_version_import, workspace_build
To perform this operation, you must be authenticated. Learn more .
Update active template version by template ID
Code samples
# Example request using curl
curl -X PATCH http://coder-server:8080/api/v2/templates/{template}/versions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PATCH /api/v2/templates/{template}/versions
Body parameter
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Parameters
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Archive template unused versions by template id
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/templates/{template}/versions/archive \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/templates/{template}/versions/archive
Body parameter
Parameters
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template version by template ID and name
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templates/{template}/versions/{templateversionname} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templates/{template}/versions/{templateversionname}
Parameters
Name In Type Required Description templatepath string(uuid) true Template ID templateversionnamepath string true Template version name
Example responses
200 Response
[
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » archivedboolean false » created_atstring(date-time) false » created_bycodersdk.MinimalUser false »» avatar_urlstring(uri) false »» idstring(uuid) true »» namestring false »» usernamestring true » has_external_agentboolean false » idstring(uuid) false » jobcodersdk.ProvisionerJob false »» available_workersarray false »» canceled_atstring(date-time) false »» completed_atstring(date-time) false »» created_atstring(date-time) false »» errorstring false »» error_codecodersdk.JobErrorCode false »» file_idstring(uuid) false »» idstring(uuid) false »» initiator_idstring(uuid) false »» inputcodersdk.ProvisionerJobInput false »»» errorstring false »»» template_version_idstring(uuid) false »»» workspace_build_idstring(uuid) false »» logs_overflowedboolean false »» metadatacodersdk.ProvisionerJobMetadata false »»» template_display_namestring false »»» template_iconstring false »»» template_idstring(uuid) false »»» template_namestring false »»» template_version_namestring false »»» workspace_build_transitioncodersdk.WorkspaceTransition false »»» workspace_idstring(uuid) false »»» workspace_namestring false »» organization_idstring(uuid) false »» queue_positioninteger false »» queue_sizeinteger false »» started_atstring(date-time) false »» statuscodersdk.ProvisionerJobStatus false »» tagsobject false »»» [any property]string false »» typecodersdk.ProvisionerJobType false »» worker_idstring(uuid) false »» worker_namestring false » matched_provisionerscodersdk.MatchedProvisioners false »» availableinteger false Available is the number of provisioner daemons that are available to take jobs. This may be less than the count if some provisioners are busy or have been stopped. »» countinteger false Count is the number of provisioner daemons that matched the given tags. If the count is 0, it means no provisioner daemons matched the requested tags. »» most_recently_seenstring(date-time) false Most recently seen is the most recently seen time of the set of matched provisioners. If no provisioners matched, this field will be null. » messagestring false » namestring false » organization_idstring(uuid) false » readmestring false » template_idstring(uuid) false » updated_atstring(date-time) false » warningsarray false
Enumerated Values
Property Value(s) error_codeINSUFFICIENT_QUOTA, REQUIRED_TEMPLATE_VARIABLESworkspace_build_transitiondelete, start, stopstatuscanceled, canceling, failed, pending, running, succeededtypetemplate_version_dry_run, template_version_import, workspace_build
To perform this operation, you must be authenticated. Learn more .
Get template version by ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Patch template version by ID
Code samples
# Example request using curl
curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PATCH /api/v2/templateversions/{templateversion}
Body parameter
{
"message": "string",
"name": "string"
}
Parameters
Example responses
200 Response
{
"archived": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"avatar_url": "http://example.com",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"username": "string"
},
"has_external_agent": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"job": {
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
},
"matched_provisioners": {
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
},
"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"
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Archive template version
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/archive \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/templateversions/{templateversion}/archive
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Cancel template version by ID
Code samples
# Example request using curl
curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}/cancel \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PATCH /api/v2/templateversions/{templateversion}/cancel
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Create template version dry-run
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/templateversions/{templateversion}/dry-run
Body parameter
{
"rich_parameter_values": [
{
"name": "string",
"value": "string"
}
],
"user_variable_values": [
{
"name": "string",
"value": "string"
}
],
"workspace_name": "string"
}
Parameters
Example responses
201 Response
{
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template version dry-run by job ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run/{jobID} \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/dry-run/{jobID}
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID jobIDpath string(uuid) true Job ID
Example responses
200 Response
{
"available_workers": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"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",
"initiator_id": "06588898-9a84-4b35-ba8f-f9cbd64946f3",
"input": {
"error": "string",
"template_version_id": "0ba39c92-1f1b-4c32-aa3e-9925d7713eb1",
"workspace_build_id": "badaf2eb-96c5-4050-9f1d-db2d39ca5478"
},
"logs_overflowed": true,
"metadata": {
"template_display_name": "string",
"template_icon": "string",
"template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
"template_name": "string",
"template_version_name": "string",
"workspace_build_transition": "start",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",
"workspace_name": "string"
},
"organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
"queue_position": 0,
"queue_size": 0,
"started_at": "2019-08-24T14:15:22Z",
"status": "pending",
"tags": {
"property1": "string",
"property2": "string"
},
"type": "template_version_import",
"worker_id": "ae5fa6f7-c55b-40c1-b40a-b36ac467652b",
"worker_name": "string"
}
Responses
To perform this operation, you must be authenticated. Learn more .
Cancel template version dry-run by job ID
Code samples
# Example request using curl
curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run/{jobID}/cancel \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
PATCH /api/v2/templateversions/{templateversion}/dry-run/{jobID}/cancel
Parameters
Name In Type Required Description jobIDpath string(uuid) true Job ID templateversionpath string(uuid) true Template version ID
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template version dry-run logs by job ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run/{jobID}/logs \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/dry-run/{jobID}/logs
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID jobIDpath string(uuid) true Job ID beforequery integer false Before Unix timestamp afterquery integer false After Unix timestamp followquery boolean false Follow log stream formatquery string false Log output format. Accepted: 'json' (default), 'text' (plain text with RFC3339 timestamps and ANSI colors). Not supported with follow=true.
Enumerated Values
Parameter Value(s) formatjson, text
Example responses
200 Response
[
{
"created_at": "2019-08-24T14:15:22Z",
"id": 0,
"log_level": "trace",
"log_source": "provisioner_daemon",
"output": "string",
"stage": "string"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » created_atstring(date-time) false » idinteger false » log_levelcodersdk.LogLevel false » log_sourcecodersdk.LogSource false » outputstring false » stagestring false
Enumerated Values
Property Value(s) log_leveldebug, error, info, trace, warnlog_sourceprovisioner, provisioner_daemon
To perform this operation, you must be authenticated. Learn more .
Get template version dry-run matched provisioners
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run/{jobID}/matched-provisioners \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/dry-run/{jobID}/matched-provisioners
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID jobIDpath string(uuid) true Job ID
Example responses
200 Response
{
"available": 0,
"count": 0,
"most_recently_seen": "2019-08-24T14:15:22Z"
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template version dry-run resources by job ID
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/dry-run/{jobID}/resources \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/dry-run/{jobID}/resources
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID jobIDpath string(uuid) true Job ID
Example responses
200 Response
[
{
"agents": [
{
"api_version": "string",
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"group": "string",
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"hidden": true,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"open_in": "slim-window",
"sharing_level": "owner",
"slug": "string",
"statuses": [
{
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
"app_id": "affd1d10-9538-4fc8-9e0b-4594a28c1335",
"created_at": "2019-08-24T14:15:22Z",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"message": "string",
"needs_user_attention": true,
"state": "working",
"uri": "string",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
],
"subdomain": true,
"subdomain_name": "string",
"tooltip": "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",
"parent_id": {
"uuid": "string",
"valid": true
},
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"display_name": "string",
"exit_code": 0,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"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,
"status": "ok",
"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"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » agentsarray false »» api_versionstring false »» appsarray false »»» 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. »»» groupstring false »»» healthcodersdk.WorkspaceAppHealth false »»» healthcheckcodersdk.Healthcheck false Healthcheck specifies the configuration for checking app health. »»»» 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. »»» hiddenboolean false »»» iconstring false Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. »»» idstring(uuid) false »»» open_incodersdk.WorkspaceAppOpenIn false »»» sharing_levelcodersdk.WorkspaceAppSharingLevel false »»» slugstring false Slug is a unique identifier within the agent. »»» statusesarray false Statuses is a list of statuses for the app. »»»» agent_idstring(uuid) false »»»» app_idstring(uuid) false »»»» created_atstring(date-time) false »»»» iconstring false Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. »»»» idstring(uuid) false »»»» messagestring false »»»» needs_user_attentionboolean false Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. »»»» statecodersdk.WorkspaceAppStatusState false »»»» uristring false Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file »»»» workspace_idstring(uuid) false »»» 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. »»» tooltipstring false Tooltip is an optional markdown supported field that is displayed when hovering over workspace apps in the UI. »»» urlstring false URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. »» architecturestring false »» connection_timeout_secondsinteger false »» created_atstring(date-time) false »» directorystring false »» disconnected_atstring(date-time) false »» display_appsarray false »» environment_variablesobject false »»» [any property]string false »» expanded_directorystring false »» first_connected_atstring(date-time) false »» healthcodersdk.WorkspaceAgentHealth false Health reports the health of the agent. »»» 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. »» idstring(uuid) false »» instance_idstring false »» last_connected_atstring(date-time) false »» latencyobject false Latency is mapped by region name (e.g. "New York City", "Seattle"). »»» [any property]codersdk.DERPRegion false »»»» latency_msnumber false »»»» preferredboolean false »» lifecycle_statecodersdk.WorkspaceAgentLifecycle false »» log_sourcesarray false »»» created_atstring(date-time) false »»» display_namestring false »»» iconstring false »»» idstring(uuid) false »»» workspace_agent_idstring(uuid) false »» logs_lengthinteger false »» logs_overflowedboolean false »» namestring false »» operating_systemstring false »» parent_iduuid.NullUUID false »»» uuidstring false »»» validboolean false Valid is true if UUID is not NULL »» ready_atstring(date-time) false »» resource_idstring(uuid) false »» scriptsarray false »»» cronstring false »»» display_namestring false »»» exit_codeinteger false »»» idstring(uuid) false »»» log_pathstring false »»» log_source_idstring(uuid) false »»» run_on_startboolean false »»» run_on_stopboolean false »»» scriptstring false »»» start_blocks_loginboolean false »»» statuscodersdk.WorkspaceAgentScriptStatus false »»» timeoutinteger false »» started_atstring(date-time) false »» startup_script_behaviorcodersdk.WorkspaceAgentStartupScriptBehavior false Startup script behavior is a legacy field that is deprecated in favor of the coder_script resource. It's only referenced by old clients. Deprecated: Remove in the future! »» statuscodersdk.WorkspaceAgentStatus false »» subsystemsarray false »» troubleshooting_urlstring false »» updated_atstring(date-time) false »» versionstring false » created_atstring(date-time) false » daily_costinteger false » hideboolean false » iconstring false » idstring(uuid) false » job_idstring(uuid) false » metadataarray false »» keystring false »» sensitiveboolean false »» valuestring false » namestring false » typestring false » workspace_transitioncodersdk.WorkspaceTransition false
Enumerated Values
Property Value(s) healthdisabled, healthy, initializing, unhealthyopen_inslim-window, tabsharing_levelauthenticated, organization, owner, publicstatecomplete, failure, idle, workinglifecycle_statecreated, off, ready, shutdown_error, shutdown_timeout, shutting_down, start_error, start_timeout, startingstatusconnected, connecting, disconnected, exit_failure, ok, pipes_left_open, timed_out, timeoutstartup_script_behaviorblocking, non-blockingworkspace_transitiondelete, start, stop
To perform this operation, you must be authenticated. Learn more .
Open dynamic parameters WebSocket by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/dynamic-parameters \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/dynamic-parameters
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Responses
To perform this operation, you must be authenticated. Learn more .
Evaluate dynamic parameters for template version
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/dynamic-parameters/evaluate \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/templateversions/{templateversion}/dynamic-parameters/evaluate
Body parameter
{
"id": 0,
"inputs": {
"property1": "string",
"property2": "string"
},
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05"
}
Parameters
Example responses
200 Response
{
"diagnostics": [
{
"detail": "string",
"extra": {
"code": "string"
},
"severity": "error",
"summary": "string"
}
],
"id": 0,
"parameters": [
{
"default_value": {
"valid": true,
"value": "string"
},
"description": "string",
"diagnostics": [
{
"detail": "string",
"extra": {
"code": "string"
},
"severity": "error",
"summary": "string"
}
],
"display_name": "string",
"ephemeral": true,
"form_type": "",
"icon": "string",
"mutable": true,
"name": "string",
"options": [
{
"description": "string",
"icon": "string",
"name": "string",
"value": {
"valid": true,
"value": "string"
}
}
],
"order": 0,
"required": true,
"styling": {
"disabled": true,
"label": "string",
"mask_input": true,
"placeholder": "string"
},
"type": "string",
"validations": [
{
"validation_error": "string",
"validation_max": 0,
"validation_min": 0,
"validation_monotonic": "string",
"validation_regex": "string"
}
],
"value": {
"valid": true,
"value": "string"
}
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get external auth by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/external-auth \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/external-auth
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID user_idquery string(uuid) false Owner to report external auth state for. Defaults to the requesting user.
Example responses
200 Response
[
{
"authenticate_url": "string",
"authenticated": true,
"display_icon": "string",
"display_name": "string",
"id": "string",
"optional": true,
"type": "string"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » authenticate_urlstring false » authenticatedboolean false » display_iconstring false » display_namestring false » idstring false » optionalboolean false » typestring false
To perform this operation, you must be authenticated. Learn more .
Get logs by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/logs \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/logs
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID beforequery integer false Before log id afterquery integer false After log id followquery boolean false Follow log stream formatquery string false Log output format. Accepted: 'json' (default), 'text' (plain text with RFC3339 timestamps and ANSI colors). Not supported with follow=true.
Enumerated Values
Parameter Value(s) formatjson, text
Example responses
200 Response
[
{
"created_at": "2019-08-24T14:15:22Z",
"id": 0,
"log_level": "trace",
"log_source": "provisioner_daemon",
"output": "string",
"stage": "string"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » created_atstring(date-time) false » idinteger false » log_levelcodersdk.LogLevel false » log_sourcecodersdk.LogSource false » outputstring false » stagestring false
Enumerated Values
Property Value(s) log_leveldebug, error, info, trace, warnlog_sourceprovisioner, provisioner_daemon
To perform this operation, you must be authenticated. Learn more .
Removed: Get parameters by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/parameters \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/parameters
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Responses
Status Meaning Description Schema 200 OK OK
To perform this operation, you must be authenticated. Learn more .
Get template version presets
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/presets \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/presets
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
[
{
"default": true,
"description": "string",
"desiredPrebuildInstances": 0,
"icon": "string",
"id": "string",
"name": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
]
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » defaultboolean false » descriptionstring false » desiredPrebuildInstancesinteger false » iconstring false » idstring false » namestring false » parametersarray false »» namestring false »» valuestring false
To perform this operation, you must be authenticated. Learn more .
Get resources by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/resources \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/resources
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
[
{
"agents": [
{
"api_version": "string",
"apps": [
{
"command": "string",
"display_name": "string",
"external": true,
"group": "string",
"health": "disabled",
"healthcheck": {
"interval": 0,
"threshold": 0,
"url": "string"
},
"hidden": true,
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"open_in": "slim-window",
"sharing_level": "owner",
"slug": "string",
"statuses": [
{
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
"app_id": "affd1d10-9538-4fc8-9e0b-4594a28c1335",
"created_at": "2019-08-24T14:15:22Z",
"icon": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"message": "string",
"needs_user_attention": true,
"state": "working",
"uri": "string",
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
}
],
"subdomain": true,
"subdomain_name": "string",
"tooltip": "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",
"parent_id": {
"uuid": "string",
"valid": true
},
"ready_at": "2019-08-24T14:15:22Z",
"resource_id": "4d5215ed-38bb-48ed-879a-fdb9ca58522f",
"scripts": [
{
"cron": "string",
"display_name": "string",
"exit_code": 0,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"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,
"status": "ok",
"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"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » agentsarray false »» api_versionstring false »» appsarray false »»» 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. »»» groupstring false »»» healthcodersdk.WorkspaceAppHealth false »»» healthcheckcodersdk.Healthcheck false Healthcheck specifies the configuration for checking app health. »»»» 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. »»» hiddenboolean false »»» iconstring false Icon is a relative path or external URL that specifies an icon to be displayed in the dashboard. »»» idstring(uuid) false »»» open_incodersdk.WorkspaceAppOpenIn false »»» sharing_levelcodersdk.WorkspaceAppSharingLevel false »»» slugstring false Slug is a unique identifier within the agent. »»» statusesarray false Statuses is a list of statuses for the app. »»»» agent_idstring(uuid) false »»»» app_idstring(uuid) false »»»» created_atstring(date-time) false »»»» iconstring false Deprecated: This field is unused and will be removed in a future version. Icon is an external URL to an icon that will be rendered in the UI. »»»» idstring(uuid) false »»»» messagestring false »»»» needs_user_attentionboolean false Deprecated: This field is unused and will be removed in a future version. NeedsUserAttention specifies whether the status needs user attention. »»»» statecodersdk.WorkspaceAppStatusState false »»»» uristring false Uri is the URI of the resource that the status is for. e.g. https://github.com/org/repo/pull/123 e.g. file:///path/to/file »»»» workspace_idstring(uuid) false »»» 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. »»» tooltipstring false Tooltip is an optional markdown supported field that is displayed when hovering over workspace apps in the UI. »»» urlstring false URL is the address being proxied to inside the workspace. If external is specified, this will be opened on the client. »» architecturestring false »» connection_timeout_secondsinteger false »» created_atstring(date-time) false »» directorystring false »» disconnected_atstring(date-time) false »» display_appsarray false »» environment_variablesobject false »»» [any property]string false »» expanded_directorystring false »» first_connected_atstring(date-time) false »» healthcodersdk.WorkspaceAgentHealth false Health reports the health of the agent. »»» 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. »» idstring(uuid) false »» instance_idstring false »» last_connected_atstring(date-time) false »» latencyobject false Latency is mapped by region name (e.g. "New York City", "Seattle"). »»» [any property]codersdk.DERPRegion false »»»» latency_msnumber false »»»» preferredboolean false »» lifecycle_statecodersdk.WorkspaceAgentLifecycle false »» log_sourcesarray false »»» created_atstring(date-time) false »»» display_namestring false »»» iconstring false »»» idstring(uuid) false »»» workspace_agent_idstring(uuid) false »» logs_lengthinteger false »» logs_overflowedboolean false »» namestring false »» operating_systemstring false »» parent_iduuid.NullUUID false »»» uuidstring false »»» validboolean false Valid is true if UUID is not NULL »» ready_atstring(date-time) false »» resource_idstring(uuid) false »» scriptsarray false »»» cronstring false »»» display_namestring false »»» exit_codeinteger false »»» idstring(uuid) false »»» log_pathstring false »»» log_source_idstring(uuid) false »»» run_on_startboolean false »»» run_on_stopboolean false »»» scriptstring false »»» start_blocks_loginboolean false »»» statuscodersdk.WorkspaceAgentScriptStatus false »»» timeoutinteger false »» started_atstring(date-time) false »» startup_script_behaviorcodersdk.WorkspaceAgentStartupScriptBehavior false Startup script behavior is a legacy field that is deprecated in favor of the coder_script resource. It's only referenced by old clients. Deprecated: Remove in the future! »» statuscodersdk.WorkspaceAgentStatus false »» subsystemsarray false »» troubleshooting_urlstring false »» updated_atstring(date-time) false »» versionstring false » created_atstring(date-time) false » daily_costinteger false » hideboolean false » iconstring false » idstring(uuid) false » job_idstring(uuid) false » metadataarray false »» keystring false »» sensitiveboolean false »» valuestring false » namestring false » typestring false » workspace_transitioncodersdk.WorkspaceTransition false
Enumerated Values
Property Value(s) healthdisabled, healthy, initializing, unhealthyopen_inslim-window, tabsharing_levelauthenticated, organization, owner, publicstatecomplete, failure, idle, workinglifecycle_statecreated, off, ready, shutdown_error, shutdown_timeout, shutting_down, start_error, start_timeout, startingstatusconnected, connecting, disconnected, exit_failure, ok, pipes_left_open, timed_out, timeoutstartup_script_behaviorblocking, non-blockingworkspace_transitiondelete, start, stop
To perform this operation, you must be authenticated. Learn more .
Get rich parameters by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/rich-parameters \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/rich-parameters
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
[
{
"default_value": "string",
"description": "string",
"description_plaintext": "string",
"display_name": "string",
"ephemeral": true,
"form_type": "",
"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"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » default_valuestring false » descriptionstring false » description_plaintextstring false » display_namestring false » ephemeralboolean false » form_typestring false Form type has an enum value of empty string, "". Keep the leading comma in the enums struct tag. » iconstring false » mutableboolean false » namestring false » optionsarray false »» descriptionstring false »» iconstring false »» namestring false »» valuestring 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(s) form_type``, checkbox, dropdown, error, input, multi-select, radio, slider, switch, tag-select, textarea typebool, list(string), number, stringvalidation_monotonicdecreasing, increasing
To perform this operation, you must be authenticated. Learn more .
Removed: Get schema by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/schema \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/schema
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Responses
Status Meaning Description Schema 200 OK OK
To perform this operation, you must be authenticated. Learn more .
Unarchive template version
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/templateversions/{templateversion}/unarchive \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
POST /api/v2/templateversions/{templateversion}/unarchive
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
{
"detail": "string",
"message": "string",
"validations": [
{
"detail": "string",
"field": "string"
}
]
}
Responses
To perform this operation, you must be authenticated. Learn more .
Get template variables by template version
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/templateversions/{templateversion}/variables \
-H 'Accept: application/json' \
-H 'Coder-Session-Token: API_KEY'
GET /api/v2/templateversions/{templateversion}/variables
Parameters
Name In Type Required Description templateversionpath string(uuid) true Template version ID
Example responses
200 Response
[
{
"default_value": "string",
"description": "string",
"name": "string",
"required": true,
"sensitive": true,
"type": "string",
"value": "string"
}
]
Responses
Response Schema
Status Code 200
Name Type Required Restrictions Description [array item]array false » default_valuestring false » descriptionstring false » namestring false » requiredboolean false » sensitiveboolean false » typestring false » valuestring false
Enumerated Values
Property Value(s) typebool, number, string
To perform this operation, you must be authenticated. Learn more .