IBM Cloud Hyper Protect Crypto Services KMS API

Introduction IBM Cloud Hyper Protect Crypto Services is a dedicated key management service and hardware security module HSM. It is designed to enable you to take control of your cloud data encryption keys and cloud hardware security models, and is the only service in the industry built on FIPS 140-2 Level 4-certified hardware. Hyper Protect Crypto Services is integrated with the IBM® Key Protect for IBM Cloud® REST API, so that you can store, retrieve, and generate encryption keys. For more information about using Hyper Protect Crypto Services, see the IBM Cloud docshttps://cloud.ibm.com/docs/hs-crypto. The code examples on this tab use the client library that is provided for Go. bash go get -u github.com/IBM/keyprotect-go-client GitHub https://github.com/IBM/keyprotect-go-client The code examples on this tab use the client library that is provided for NodeJS. bash npm install @ibm-cloud/ibm-key-protect GitHub: https://github.com/IBM/keyprotect-nodejs-client The code examples on this tab use the client library that is provided for Python. bash pip install -U keyprotect GitHub https://github.com/IBM/keyprotect-python-client The code examples on this tab use the client library that is provided for Java. bash git clone https://github.com/IBM/keyprotect-java-client cd keyprotect-java-client mvn install GitHub https://github.com/IBM/keyprotect-java-client Endpoint URLs Use the Retrieve the API endpoint URL method first to retrieve the URL for the dedicated API endpoint for key management operations. When you call the API, use the URL that corresponds to the region where your service instance is deployed. Dallas: https://broker.us-south.hs-crypto.cloud.ibm.com/cryptov2/ Frankfurt: https://broker.eu-de.hs-crypto.cloud.ibm.com/cryptov2/ London: https://broker.eu-gb.hs-crypto.cloud.ibm.com/cryptov2/ Madrid: https://broker.eu-es.hs-crypto.cloud.ibm.com/cryptov2/ São-Paulo: https://broker.br-sao.hs-crypto.cloud.ibm.com/cryptov2/ Tokyo: https://broker.jp-tok.hs-crypto.cloud.ibm.com/cryptov2/ Toronto: https://broker.ca-tor.hs-crypto.cloud.ibm.com/cryptov2/ Washington DC:https://broker.us-east.hs-crypto.cloud.ibm.com/cryptov2/ To call other API methods, use the endpoint URL that is returned in the kms section when you call the Retrieve the API endpoint URL method. The returned URL contains the region and port information. Note the URLs vary depending on whether you are using the public or private endpoint. If you create your instances after April 12 2024 in certain regions, you might need to use the new API endpoints with the new format as

MethodPathSummary
GET/instances/{id}Retrieve the API endpoint URL
POST/api/v2/keysCreate a key
GET/api/v2/keysList keys
HEAD/api/v2/keysRetrieve key total
POST/api/v2/keys_with_policy_overridesCreate a key with policy overrides
GET/api/v2/keys/{id}Retrieve a key
POST/api/v2/keys/{id}Invoke an action on a key
PATCH/api/v2/keys/{id}Update (patch) a key
DELETE/api/v2/keys/{id}Delete a key
GET/api/v2/keys/{id}/metadataRetrieve key metadata
DELETE/api/v2/keys/{id}/purgePurge a deleted key
POST/api/v2/keys/{id}/restoreRestore a key
GET/api/v2/keys/{id}/versionsList key versions
POST/api/v2/keys/{id}/actions/wrapWrap a key
POST/api/v2/keys/{id}/actions/unwrapUnwrap a key
POST/api/v2/keys/{id}/actions/rewrapRewrap a key
POST/api/v2/keys/{id}/actions/rotateRotate a key
POST/api/v2/keys/{id}/actions/setKeyForDeletionSet a key for deletion
POST/api/v2/keys/{id}/actions/unsetKeyForDeletionUnset a key for deletion
POST/api/v2/keys/{id}/actions/enableEnable a key
POST/api/v2/keys/{id}/actions/disableDisable a key
POST/api/v2/keys/{id}/actions/syncSync associated resources
PUT/api/v2/keys/{id}/policiesSet key policies
GET/api/v2/keys/{id}/policiesList key policies
PUT/api/v2/instance/policiesSet instance policies
GET/api/v2/instance/policiesList instance policies
POST/api/v2/import_tokenCreate an import token
GET/api/v2/import_tokenRetrieve an import token
GET/api/v2/keys/{id}/registrationsList registrations for a key
GET/api/v2/keys/registrationsList registrations for any key
POST/api/v2/keys/{id}/aliases/{alias}Create an alias
DELETE/api/v2/keys/{id}/aliases/{alias}Delete an alias
GET/api/v2/key_ringsList key rings
POST/api/v2/key_rings/{key-ring-id}Create a key ring
DELETE/api/v2/key_rings/{key-ring-id}Delete key ring