# Update a project variable

Source: https://www.jawsdeploy.net/rest-api/project-variable-update | Section: Project Variables

Update a project variable's name, description, or type.

`PUT /api/project/variable`

Updates the variable definition (not its values). Pass only the fields to change.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `variableId` | body | string | yes | ID of the variable. |
| `name` | body | string | no | New name. |
| `description` | body | string | no | New description. |
| `variableType` | body | string | no | See below. |

### Variable types

`variableType` accepts `Text`, `Secret`, `Script`, `Number`, `Boolean`, `Date`, `Map`, and `Json`. Omit the field to leave the type unchanged.

## Errors

| Status | Meaning |
|---|---|
| 400 | Invalid `variableId` (e.g. it's an imported workspace variable, not a project-local one) or validation failure. |
| 401 | Missing or invalid Basic auth credentials, or the service account lacks the required role. |

Example request:

```
PUT /api/project/variable

{ "variableId": "v_xyz", "variableType": "Secret" }
```

Example response:

```
{}
```

