1--- 2layout: "api" 3page_title: "/sys/unseal - HTTP API" 4sidebar_title: "<code>/sys/unseal</code>" 5sidebar_current: "api-http-system-unseal" 6description: |- 7 The `/sys/unseal` endpoint is used to unseal the Vault. 8--- 9 10# `/sys/unseal` 11 12The `/sys/seal-unseal` endpoint is used to unseal the Vault. 13 14## Submit Unseal Key 15 16This endpoint is used to enter a single master key share to progress the 17unsealing of the Vault. If the threshold number of master key shares is reached, 18Vault will attempt to unseal the Vault. Otherwise, this API must be called 19multiple times until that threshold is met. 20 21Either the `key` or `reset` parameter must be provided; if both are provided, 22`reset` takes precedence. 23 24| Method | Path | 25| :--------------------------- | :--------------------- | 26| `PUT` | `/sys/unseal` | 27 28### Parameters 29 30- `key` `(string: "")` – Specifies a single master key share. This is required 31 unless `reset` is true. 32 33- `reset` `(bool: false)` – Specifies if previously-provided unseal keys are 34 discarded and the unseal process is reset. 35 36- `migrate` `(bool: false)` - Available in 1.0 - Used to migrate the seal 37 from shamir to autoseal or autoseal to shamir. Must be provided on all unseal 38 key calls. 39 40### Sample Payload 41 42```json 43{ 44 "key": "abcd1234..." 45} 46``` 47 48### Sample Request 49 50``` 51$ curl \ 52 --request PUT \ 53 --data @payload.json \ 54 http://127.0.0.1:8200/v1/sys/unseal 55``` 56 57### Sample Response 58 59The "t" parameter is the threshold, and "n" is the number of shares. 60 61```json 62{ 63 "sealed": true, 64 "t": 3, 65 "n": 5, 66 "progress": 2, 67 "version": "0.6.2" 68} 69``` 70 71Sample response when Vault is unsealed. 72 73```json 74{ 75 "sealed": false, 76 "t": 3, 77 "n": 5, 78 "progress": 0, 79 "version": "0.6.2", 80 "cluster_name": "vault-cluster-d6ec3c7f", 81 "cluster_id": "3e8b3fec-3749-e056-ba41-b62a63b997e8" 82} 83``` 84