---
title: "Upsert deployment variable"
method: PUT
path: "/v1/workspaces/{workspaceId}/deployment-variables/{variableId}"
---

# Upsert deployment variable

`PUT /v1/workspaces/{workspaceId}/deployment-variables/{variableId}`

Creates or updates a deployment variable by ID.

## Path parameters

- `workspaceId` string, required
- `variableId` string, required

## Request body

- UpsertDeploymentVariableRequest
  - `deploymentId` string, required
  - `description` string
  - `key` string, required

## Response `202`

Accepted response

- DeploymentVariableRequestAccepted
  - `id` string, required
  - `message` string, required

## Other responses

- `400` — Invalid request
- `404` — Resource not found

## Changes

- **2026-04-23** `4d1982997771` — 1 warning
  - removed the request property `defaultValue`
- **2026-02-19** `4107c747f3f1` — 1 info
  - endpoint added
- **2026-02-19** `e61389fc98ac` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api/changes/v1/workspaces/:workspaceId/deployment-variables/:variableId/put.md)

---

[API](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api.md) · [All operations](https://skmtc.dev/ctrlplanedev/apis/ctrlplane-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ctrlplanedev/ctrlplane-api/revisions/156e0d264995/schema)
