---
title: "Actualiza la variable del workspace"
method: PUT
path: "/variables/{id}"
tags: ["Variables"]
---

# Actualiza la variable del workspace

`PUT /variables/{id}`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/variables/{id}`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Cambia el valor de la variable. El cambio aplica desde la siguiente resolución: lo que ya se mandó con el valor viejo no se reescribe.

## Path parameters

- `id` number, required

## Request body

- UpdateVariableDto
  - `description` string
  - `is_encrypted` boolean
  - `name` string
  - `type` 'text' | 'number' | 'boolean' | 'date' | 'datetime' | 'json' | 'prompt'
  - `value` object: Variable value (stored as JSONB)

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` WorkspaceVariableDto, required
    - `created_at` string, required
    - `description` string, nullable, required: Para qué sirve la variable. Lo ve quien la elige en el autocompletar.
    - `has_value` boolean: Solo en las variables secretas: si tienen un valor guardado. Es lo único que se puede saber de él sin reemplazarlo.
    - `id` number, required
    - `is_encrypted` boolean, required: Marca de "esto es un secreto". Una variable secreta es de **solo escritura**: esta API la devuelve con `value: null` y `has_value`, no viaja en una plantilla exportada, no entra al prompt del Met y `POST /variables/resolve` deja su token sin resolver. Los flujos y las Funciones HTTP la siguen usando.
    - `name` string, required: Nombre sin el prefijo: se usa en las plantillas como `$workspace.<name>`.
    - `type` 'text' | 'number' | 'boolean' | 'date' | 'datetime' | 'json' | 'prompt', required: Cómo se interpreta `value` al resolver la variable.
    - `updated_at` string, required
    - `value` union, required: El valor, guardado como JSON. Su forma depende de `type`: un `text` es un string, un `json` puede ser cualquier objeto o arreglo.
      - string
      - number
      - boolean
      - object
      - unknown[]
        - unknown
    - `workspace_id` number, required: Workspace dueño de la variable.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `409`: La operación entra en conflicto con el estado actual o con un Idempotency-Key en uso. No reintentes con el mismo key y un body distinto.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
