---
layout: doc
page_title: credentials update - Command
description: >-
The "credentials update" command updates an existing credential resource.
---
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
> [!IMPORTANT]
> **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com.
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
# credentials update
Command: `boundary credentials update`
The `credentials update` command lets you update Boundary credential resources.
## Examples
The following example updates an existing user password credential with a new password:
```shell-session
$ export NEW_SSH_USER_PASSWORD="my-new-long-password"
$ boundary credentials update username-password -id credup_J15mtU4qmy \
-password env://NEW_SSH_USER_PASSWORD
```
**Example output:**
```plaintext
Credential information:
Created Time: Tue, 22 Aug 2023 15:56:07 PDT
Credential Store ID: csst_5GGWwRngd7
Description: Ops admin who needs to access the machine
ID: credup_J15mtU4qmy
Name: ssh-user
Type: username_password
Updated Time: Tue, 22 Aug 2023 21:26:34 PDT
Version: 2
Scope:
ID: p_1zMlAwGHtH
Name: quick-start-project
Parent Scope ID: o_R0wbo0H6Zl
Type: project
Authorized Actions:
no-op
read
update
delete
Attributes:
Password HMAC: JxqSB5DJ_dBlTCJAfkX6k-o-6CwjgEDmmnbrTxvQ7_g
Username: ssh-user
```
## Usage
```shell-session
$ boundary credentials update [type] [sub command] [options] [args]
```
### Command options
- `-description` `(string: "")` - A description to set on the credential.
- `-id` `(string: "")` - The ID of the credential to update.
- `-name` `(string: "")` - A name to set on the credential.
- `-version` `(int: 0)` - The version of the credential to update.
If you don't specify a version, the command performs a check-and-set automatically.
#### Usages by type
The available types are `json`, `ssh-private-key`, `username-password`, and `username-password-domain`.
The `credentials update json` command lets you update a JSON credential.
#### Example
The following example updates a JSON credential with the ID `csst_1234567890`:
```shell-session
$ boundary credentials update json \
-id csst_1234567890 \
-name devops \
-description "For DevOps usage"
```
#### Usage
```shell-session
$ boundary credentials update json [options] [args]
```
#### JSON object credential options
The following options are specific to JSON credentials in addition to the command options:
- `-bool-kv` `(map: {})` – A key=value Boolean value to add to the request's object map.
You can specify this option multiple times.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
- `-kv` `(map: {})` – A key=value pair to add to the request's object map.
This option can also be a key value only which will set a JSON null as the value.
If you provide a value, Boundary automatically infers the type.
Use `-string-kv`,`-bool-kv`, or `-num-kv` to override the type.
You can specify this option multiple times.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
- `-num-kv` `(map: {})` – A key=value numeric value to add to the request's object map.
You can specify this option multiple times.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
- `-object` `(string: "")` - A JSON map value to use as the entirety of the request's object map.
Usually this is sourced from a file using `file://` syntax.
This option is exclusive with the other kv flags.
- `-string-kv` `(map: {})` – A key=value string value to add to the request's object map.
You can specify this option multiple times.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
The `credentials update ssh-private-key` lets you update an SSH private key credential.
#### Example
The following example updates an SSH private key with the ID `clvlt_1234567890`:
```shell-session
$ boundary credentials update ssh-private-key \
-id clvlt_1234567890 \
-name devops \
-description "For DevOps usage"
```
#### Usage
```shell-session
$ boundary credentials update ssh-private-key [options] [args]
```
#### SSH private key credential options
The following options are specific to SSH private key credentials in addition to the command options:
- `-private-key` `(string: "")` - The SSH private key associated with the
credential.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
- `-private-key-passphrase` `(string: "")` - The passphrase associated with the
SSH private key.
Boundary ingores this value if the private key does not require a passphrase or if you do not supply a private key.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
If you leave this option empty, and the key requires a passphrase, you can enter it manually.
- `-username` `(string: "")` - The username associated with the credential.
The `credentials update username-password` command lets you update a username password type.
#### Example
The following example updates a username password credential with the ID `clvlt_1234567890`:
```shell-session
$ boundary credentials update username-password \
-id clvlt_1234567890 \
-name devops \
-description "For DevOps usage"
```
#### Usage
```shell-session
$ boundary credentials update username-password [options] [args]
```
#### Username password credential options
The following options are specific to username password credentials in addition to the command options:
- `-password` `(string: "")` - The password associated with the credential.
This value can be a reference to a file on disk (`file://`) or an environment variable (`env://`) from which Boundary reads the value.
- `-username` `(string: "")` - The username associated with the credential.
The `credentials update username-password-domain` command lets you update an existing username password domain credential type.
Username password domain credentials are primarily used with RDP targets for credential injection.
#### Example
The following example updates a username password domain credential with the ID `csst_1234567890`:
```shell-session
boundary credentials update username-password-domain \
-id csst_1234567890 \
-name devops \
-description "For DevOps usage" \
```
#### Usage
```shell-session
boundary credentials update username-password-domain [options] [args]
```
#### Username password domain credential options
The following options are specific to username password domain credentials in addition to the command options:
- `domain` `(string: "")` - The Active Directory domain name. If you include the domain in the `username` field, Boundary automatically fills in the domain information.
For example, if you enter `admin@mydomain` or `mydomain\admin` in the `username` field, Boundary automatically completes the `domain` field with `mydomain`.
- `password` `(string: "")` - The password associated with the credential. This value can be a reference to a file on disk (file://) or an environment variable (env://) from which Boundary reads the value.
- `username` `(string: "")` - The username associated with the credential. This value can include domain information in `username@domain` or `domain\username` format.
@include 'cmd-option-note.mdx'