---
title: "Purchase a commitment for a virtual machine"
method: POST
path: "/v1/projects/{projectId}/vm/{id}/commit"
tags: ["Virtual machines"]
---

# Purchase a commitment for a virtual machine

`POST /v1/projects/{projectId}/vm/{id}/commit`

Commits a virtual machine to a longer-term plan in exchange for a lower hourly rate. The virtual machine must not already be in a committed term.

## Path parameters

- `projectId` string, required
- `id` string, required

## Request body

- CommitVMBody
  - `commitmentTerm` 'COMMITMENT_TERM_NONE' | 'COMMITMENT_TERM_1_MONTH' | 'COMMITMENT_TERM_3_MONTHS' | 'COMMITMENT_TERM_6_MONTHS' | 'COMMITMENT_TERM_12_MONTHS' | 'COMMITMENT_TERM_24_MONTHS' | 'COMMITMENT_TERM_36_MONTHS' | 'COMMITMENT_TERM_60_MONTHS'

## Response `200`

A successful response.

- object

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/cudocompute/apis/cudo-compute-service.md) · [All operations](https://skmtc.net/cudocompute/apis/cudo-compute-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cudocompute/cudo-compute-service/versions/93dc40dababc/schema)
