antimatter_api 2.0.13

Interact with the Antimatter Cloud API
Documentation
# \EncryptionApi

All URIs are relative to *https://api.antimatter.io/v2*

Method | HTTP request | Description
------------- | ------------- | -------------
[**domain_add_external_root_encryption_key**]EncryptionApi.md#domain_add_external_root_encryption_key | **POST** /domains/{domainID}/control/encryption/keys | Add a new external root encryption key.
[**domain_delete_external_root_encryption_key**]EncryptionApi.md#domain_delete_external_root_encryption_key | **DELETE** /domains/{domainID}/control/encryption/keys/{rootEncryptionKeyID} | Delete an external root encryption key by ID.
[**domain_external_root_encryption_key_test**]EncryptionApi.md#domain_external_root_encryption_key_test | **POST** /domains/{domainID}/control/encryption/keys/{rootEncryptionKeyID}/test | Test the health of a root encryption key
[**domain_flush_encryption_keys**]EncryptionApi.md#domain_flush_encryption_keys | **POST** /domains/{domainID}/control/encryption/flush | Flush all encryption keys
[**domain_get_active_external_root_encryption_key**]EncryptionApi.md#domain_get_active_external_root_encryption_key | **GET** /domains/{domainID}/control/encryption/active-key | Get the active root encryption key's information.
[**domain_get_encryption_settings**]EncryptionApi.md#domain_get_encryption_settings | **GET** /domains/{domainID}/control/encryption/settings | Get encryption-related settings for a domain.
[**domain_get_external_root_encryption_key**]EncryptionApi.md#domain_get_external_root_encryption_key | **GET** /domains/{domainID}/control/encryption/keys/{rootEncryptionKeyID} | Get an external root encryption key by ID.
[**domain_get_external_root_encryption_key_providers**]EncryptionApi.md#domain_get_external_root_encryption_key_providers | **GET** /domains/{domainID}/control/encryption/providers | Returns a list of available root encryption key providers.
[**domain_list_external_root_encryption_key**]EncryptionApi.md#domain_list_external_root_encryption_key | **GET** /domains/{domainID}/control/encryption/keys | List all external root encryption keys.
[**domain_put_encryption_settings**]EncryptionApi.md#domain_put_encryption_settings | **PUT** /domains/{domainID}/control/encryption/settings | Update encryption settings for a domain.
[**domain_rotate_root_encryption_keys**]EncryptionApi.md#domain_rotate_root_encryption_keys | **POST** /domains/{domainID}/control/encryption/rotate | Re-encrypt key encryption keys.
[**domain_set_active_external_root_encryption_key**]EncryptionApi.md#domain_set_active_external_root_encryption_key | **POST** /domains/{domainID}/control/encryption/active-key | Set the active root encryption key



## domain_add_external_root_encryption_key

> models::RootEncryptionKeyIdResponse domain_add_external_root_encryption_key(domain_id, key_infos)
Add a new external root encryption key.

Add a new external root encryption key with its supporting access configuration. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**key_infos** | [**KeyInfos**]KeyInfos.md |  | [required] |

### Return type

[**models::RootEncryptionKeyIdResponse**](RootEncryptionKeyIDResponse.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_delete_external_root_encryption_key

> domain_delete_external_root_encryption_key(domain_id, root_encryption_key_id)
Delete an external root encryption key by ID.

Delete an external root encryption key using its ID. This operation is only successful if the external root encryption key is not in use by any key encryption keys. Call the rotate endpoint to ensure that all KEKs have been migrated to the active REK. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**root_encryption_key_id** | **String** |  | [required] |

### Return type

 (empty response body)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_external_root_encryption_key_test

> models::RootEncryptionKeyTestResponse domain_external_root_encryption_key_test(domain_id, root_encryption_key_id, body)
Test the health of a root encryption key

Attempts to use a root encryption key to encrypt and decrypt, validating its availability 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**root_encryption_key_id** | **String** |  | [required] |
**body** | **serde_json::Value** |  | [required] |

### Return type

[**models::RootEncryptionKeyTestResponse**](RootEncryptionKeyTestResponse.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_flush_encryption_keys

> domain_flush_encryption_keys(domain_id, body)
Flush all encryption keys

Flush all keys in memory. The keys will be immediately reloaded from persistent storage, forcing a check that the domain's root key is still available 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**body** | Option<**serde_json::Value**> |  |  |

### Return type

 (empty response body)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_get_active_external_root_encryption_key

> models::RootEncryptionKeyItem domain_get_active_external_root_encryption_key(domain_id)
Get the active root encryption key's information.

Return the details about the current active root encryption key used by the domain. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |

### Return type

[**models::RootEncryptionKeyItem**](RootEncryptionKeyItem.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_get_encryption_settings

> models::EncryptionSettings domain_get_encryption_settings(domain_id)
Get encryption-related settings for a domain.

Returns the current value of each encryption-related setting for the domain. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |

### Return type

[**models::EncryptionSettings**](EncryptionSettings.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_get_external_root_encryption_key

> models::RootEncryptionKeyItem domain_get_external_root_encryption_key(domain_id, root_encryption_key_id)
Get an external root encryption key by ID.

Get an external root encryption key using its ID. This operation is only successful if the external root encryption key exists, and the requesting domain has permissions to view the key. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**root_encryption_key_id** | **String** |  | [required] |

### Return type

[**models::RootEncryptionKeyItem**](RootEncryptionKeyItem.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_get_external_root_encryption_key_providers

> models::AvailableRootEncryptionKeyProviders domain_get_external_root_encryption_key_providers(domain_id)
Returns a list of available root encryption key providers.

Returns a list of available root encryption key providers, along with their description and, if relevant, any additional information required to use them (e.g. for the delegated key provider `aws_am` the AWS account number to delegate to is returned). 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |

### Return type

[**models::AvailableRootEncryptionKeyProviders**](AvailableRootEncryptionKeyProviders.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_list_external_root_encryption_key

> models::RootEncryptionKeyListResponse domain_list_external_root_encryption_key(domain_id)
List all external root encryption keys.

List all external root encryption keys for the domain. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |

### Return type

[**models::RootEncryptionKeyListResponse**](RootEncryptionKeyListResponse.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_put_encryption_settings

> domain_put_encryption_settings(domain_id, encryption_settings)
Update encryption settings for a domain.

Updates encryption settings for the domain. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**encryption_settings** | [**EncryptionSettings**]EncryptionSettings.md |  | [required] |

### Return type

 (empty response body)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_rotate_root_encryption_keys

> models::RotateKeyEncryptionKeyResponse domain_rotate_root_encryption_keys(domain_id, body)
Re-encrypt key encryption keys.

Collects key encryption keys not encrypted with the current active root encryption key, decrypts them with their original root encryption key, and then encrypts them with the active root encryption key. This is a batched operation and only 100 keys will be processed in a single call. In the response, \"has_more\" will be true if there are more KEKs that can be rotated. Usually the caller will call this endpoint in a loop until has_more is false. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**body** | **serde_json::Value** |  | [required] |

### Return type

[**models::RotateKeyEncryptionKeyResponse**](RotateKeyEncryptionKeyResponse.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)


## domain_set_active_external_root_encryption_key

> models::ActiveRootEncryptionKeyResponse domain_set_active_external_root_encryption_key(domain_id, active_root_encryption_key_id)
Set the active root encryption key

This will set which root encryption is active: i.e. is used for new capsules, or is used to encrypt KEKs when `rotate` is called. 

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**domain_id** | **String** |  | [required] |
**active_root_encryption_key_id** | [**ActiveRootEncryptionKeyId**]ActiveRootEncryptionKeyId.md |  | [required] |

### Return type

[**models::ActiveRootEncryptionKeyResponse**](ActiveRootEncryptionKeyResponse.md)

### Authorization

[domain_identity](../README.md#domain_identity)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)