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 Method Path Summary GET /instances/{id} Retrieve the API endpoint URL POST /api/v2/keys Create a key GET /api/v2/keys List keys HEAD /api/v2/keys Retrieve key total POST /api/v2/keys_with_policy_overrides Create 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}/metadata Retrieve key metadata DELETE /api/v2/keys/{id}/purge Purge a deleted key POST /api/v2/keys/{id}/restore Restore a key GET /api/v2/keys/{id}/versions List key versions POST /api/v2/keys/{id}/actions/wrap Wrap a key POST /api/v2/keys/{id}/actions/unwrap Unwrap a key POST /api/v2/keys/{id}/actions/rewrap Rewrap a key POST /api/v2/keys/{id}/actions/rotate Rotate a key POST /api/v2/keys/{id}/actions/setKeyForDeletion Set a key for deletion POST /api/v2/keys/{id}/actions/unsetKeyForDeletion Unset a key for deletion POST /api/v2/keys/{id}/actions/enable Enable a key POST /api/v2/keys/{id}/actions/disable Disable a key POST /api/v2/keys/{id}/actions/sync Sync associated resources PUT /api/v2/keys/{id}/policies Set key policies GET /api/v2/keys/{id}/policies List key policies PUT /api/v2/instance/policies Set instance policies GET /api/v2/instance/policies List instance policies POST /api/v2/import_token Create an import token GET /api/v2/import_token Retrieve an import token GET /api/v2/keys/{id}/registrations List registrations for a key GET /api/v2/keys/registrations List 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_rings List 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