Vault API : partial PUT not working

I have saved 3 key-value pairs (secrets) in a certain path in the vault. I need to update one key-value pair. However, if I invoke the PUT method to perform this partial update, then it removes the other values.

Is there a way to just perform a partial update in the vault?

Step 1 : Add 3 KV pairs

PUT http://IP:PORT/v1/secret/data/

{
“data”: {
“Key1”: “Value1”,
“Key2”: “Value2”,
“Key3”: “Value3”,
“Key4”: “Value4”
}
}

this adds the 4 KV pairs

Step 2: Update one value

PUT http://IP:PORT/v1/secret/data/

{
“data”: {
“Key4”: “Value555”
}
}

This removes Key1-3.

This is correct. We do not support partial updates. If you are using kv-v2 you can use the check-and-set functionality to emulate partial updates from the client.