---
title: "Returns details for a single instance template in the project."
method: GET
path: "/projects/{project_id}/compute/instance-templates/{instance_template_id}"
tags: ["Instance Templates"]
---

# Returns details for a single instance template in the project.

`GET /projects/{project_id}/compute/instance-templates/{instance_template_id}`

## Path parameters

- `instance_template_id` string, required
- `project_id` string, required

## Response `200`

- InstanceTemplate
  - `created_at` string, required — Creation timestamp of the instance template, in RFC3339 format.
  - `custom_image_name` string — Custom image to use for all VMs created from this instance template.
  - `disks` DiskTemplate[] — Disks attached to all VMs created from this instance template.
    - `size` string, required — Size of the disk, including a unit suffix.
    - `type` 'persistent-ssd' | 'shared-volume', required — Type of disk to create: persistent-ssd or shared-volume.
  - `ib_partition_id` string, required
  - `id` string, required — ID of the instance template.
  - `image_name` string, required — OS Image to use for all VMs created from this instance template.
  - `location` string, required — Location to use for all VMs created from this instance template. May be empty if we do not want to bind this template to a location.
  - `maintenance_policy` 'manual' | 'stop-vm' | 'unspecified', required — Host maintenance policy controlling how VMs created from this instance template behave during host maintenance: manual, stop-vm, or unspecified.
  - `name` string, required — Name of the instance template. (This is not the name of the VMs created from this instance template.)
  - `nvlink_domain_id` string — NVLink domain assigned to all VMs created from this instance template.
  - `placement_policy` 'spread' | 'unspecified', required — Placement policy controlling how VMs created from this instance template are distributed across hosts: spread or unspecified.
  - `project_id` string, required — ID of the project this instance template belongs to.
  - `public_ip_address_type` string, required — Public IP address type to use for all VMs created from this instance template. Must either be "static" or "dynamic".
  - `reservation_id` string — Reservation used for all VMs created from this instance template.
  - `shutdown_script` string, required — Shutdown script to use for all VMs created from this instance template.
  - `ssh_public_key` string, required — SSH public key to use for all VMs created from this instance template.
  - `startup_script` string, required — Startup script to use for all VMs created from this instance template.
  - `subnet_id` string, required — SubnetID to use for all VMs created from this instance template. Only used if template has a location.
  - `transport_partition_id` string, required — IB or RoCE partition to use for all VMs created from this instance template. Only used for transport-enabled VM types. Empty if template has no location.
  - `type` string, required — Product name of the VM type we want to create from this instance template.
  - `virtualization_features` VirtualizationFeatures
    - `nested_virtualization` boolean — Whether nested virtualization is enabled, allowing a VM to run inside this VM.

## Other responses

- `400` — Error Bad Request
- `401` — Error Authentication Failed
- `404` — Error Not Found
- `500` — Error Internal Server

---

[API](https://skmtc.dev/crusoecloud/apis/crusoe-cloud-api-gateway.md) · [All operations](https://skmtc.dev/crusoecloud/apis/crusoe-cloud-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/crusoecloud/crusoe-cloud-api-gateway/revisions/a3fd2dedc72b/schema)
