--- layout: "http" page_title: "HTTP API: /sys/rekey/" sidebar_current: "docs-http-rotate-rekey" description: |- The `/sys/rekey/` endpoints are used to rekey the unseal keys for Vault. --- # /sys/rekey/init ## GET
Description
Reads the configuration and progress of the current rekey attempt.
Method
GET
URL
`/sys/rekey/init`
Parameters
None
Returns
If a rekey is started, then "n" is the new shares to generate and "t" is the threshold required for the new shares. The "progress" is how many unseal keys have been provided for this rekey, where "required" must be reached to complete. ```javascript { "started": true, "t": 3, "n": 5, "progress": 1, "required": 3 } ```
## PUT
Description
Initializes a new rekey attempt. Only a single rekey attempt can take place at a time, and changing the parameters of a rekey requires canceling and starting a new rekey.
Method
PUT
URL
`/sys/rekey/init`
Parameters
Returns
`204` response code.
## DELETE
Description
Cancels any in-progress rekey. This clears the rekey settings as well as any progress made. This must be called to change the parameters of the rekey.
Method
DELETE
URL
`/sys/rekey/init`
Parameters
None
Returns
`204` response code.
# /sys/rekey/update ## PUT
Description
Enter a single master key share to progress the rekey of the Vault. If the threshold number of master key shares is reached, Vault will complete the rekey. Otherwise, this API must be called multiple times until that threshold is met.
Method
PUT
URL
`/sys/rekey/update`
Parameters
Returns
A JSON-encoded object indicating completion and if so with the new master keys: ```javascript { "complete": true, "keys": ["one", "two", "three"] } ```