---
title: How to Update an Instance Template
url: https://docs.vultr.com/products/compute/clusters/instance-templates/how-to-update-an-instance-template
description: Update a Vultr instance template to change its plan, OS, SSH keys, label, or VPC associations. Existing instances created from the template are unaffected.
publish_date: 2026-04-17T14:11:21.359355Z
last_updated: 2026-04-23T16:45:52.431752Z
---

Updating an instance template changes its configuration such as the plan, OS, SSH keys, label, or VPC associations. At least one field must be provided in the request. Updated templates apply to new instances created from the template — existing instances are not affected.

This guide explains how to update an instance template using the Vultr API.

1. Send a `GET` request to the [**List Instance Templates** endpoint](https://www.vultr.com/api/#tag/instance-templates/operation/list-instance-templates) to retrieve all templates.

    ```console
    $ curl "https://api.vultr.com/v2/instances/templates" \
        -X GET \
        -H "Authorization: Bearer ${VULTR_API_KEY}"
    ```

    Note the `id` of the template you want to update.

1. Send a `PUT` request to the [**Update Instance Template** endpoint](https://www.vultr.com/api/#tag/instance-templates/operation/update-instance-template) to update the template. Replace `{template-id}` with the template id. Include only the fields you want to change.

    ```console
    $ curl "https://api.vultr.com/v2/instances/templates/{template-id}" \
        -X PUT \
        -H "Authorization: Bearer ${VULTR_API_KEY}" \
        -H "Content-Type: application/json" \
        -d '{
            "label": "NEW-TEMPLATE-LABEL",
            "os_id": OS-ID,
            "ssh_key_ids": [
                "SSH-KEY-ID"
            ],
            "vpc_ids": [
                "VPC-ID"
            ]
        }'
    ```

    A successful update returns an HTTP `202 Accepted` response.

1. Send a `GET` request to the [**Get Instance Template** endpoint](https://www.vultr.com/api/#tag/instance-templates/operation/get-instance-template) to retrieve the updated template details.

    ```console
    $ curl "https://api.vultr.com/v2/instances/templates/{template-id}" \
        -X GET \
        -H "Authorization: Bearer ${VULTR_API_KEY}"
    ```

    Verify that the template details reflect the new values.
