Operations for the Vault API.
Summary
Functions
Create a data key
Decrypt a data key
Create an object
Re-encrypt a data key
Delete an object
Read an object by ID
Read an object by name
List objects
Describe an object
List object versions
Update an object
Functions
@spec create_data_key(WorkOS.Client.t(), map(), keyword()) :: {:ok, WorkOS.CreateDataKeyResponse.t()} | {:error, WorkOS.Error.error()}
Create a data key
Generate an isolated encryption key for local encryption operations.
Parameters
params— request body mapopts— per-request options (seeWorkOS.Client.request/5)
@spec create_decrypt(WorkOS.Client.t(), map(), keyword()) :: {:ok, WorkOS.DecryptResponse.t()} | {:error, WorkOS.Error.error()}
Decrypt a data key
Decrypt a previously encrypted data key from WorkOS Vault.
Parameters
params— request body mapopts— per-request options (seeWorkOS.Client.request/5)
@spec create_kv(WorkOS.Client.t(), map(), keyword()) :: {:ok, WorkOS.ObjectMetadata.t()} | {:error, WorkOS.Error.error()}
Create an object
Encrypt and store a new key-value object.
Parameters
params— request body mapopts— per-request options (seeWorkOS.Client.request/5)
@spec create_rekey(WorkOS.Client.t(), map(), keyword()) :: {:ok, WorkOS.CreateDataKeyResponse.t()} | {:error, WorkOS.Error.error()}
Re-encrypt a data key
Decrypt an existing data key and re-encrypt it under a new key context.
Parameters
params— request body mapopts— per-request options (seeWorkOS.Client.request/5)
@spec delete_kv(WorkOS.Client.t(), String.t(), map(), keyword()) :: {:ok, WorkOS.DeleteObjectResponse.t()} | {:error, WorkOS.Error.error()}
Delete an object
Delete an encrypted object.
Parameters
id— Unique identifier of the object.params— query parameters::version_checkopts— per-request options (seeWorkOS.Client.request/5)
@spec get_kv(WorkOS.Client.t(), String.t(), keyword()) :: {:ok, WorkOS.VaultObject.t()} | {:error, WorkOS.Error.error()}
Read an object by ID
Fetch and decrypt an object by its unique identifier.
Parameters
id— Unique identifier of the object.opts— per-request options (seeWorkOS.Client.request/5)
@spec get_name(WorkOS.Client.t(), String.t(), keyword()) :: {:ok, WorkOS.VaultObject.t()} | {:error, WorkOS.Error.error()}
Read an object by name
Fetch and decrypt an object by its unique name.
Parameters
name— Unique name of the object.opts— per-request options (seeWorkOS.Client.request/5)
@spec list_kv(WorkOS.Client.t(), map(), keyword()) :: {:ok, WorkOS.Page.t(WorkOS.ObjectSummary.t())} | {:error, WorkOS.Error.error()}
List objects
List all encrypted objects with cursor-based pagination.
Parameters
params— query parameters::limit,:before,:after_,:order,:search,:updated_afteropts— per-request options (seeWorkOS.Client.request/5)
@spec list_kv_metadata(WorkOS.Client.t(), String.t(), keyword()) :: {:ok, WorkOS.ObjectWithoutValue.t()} | {:error, WorkOS.Error.error()}
Describe an object
Fetch metadata for an object without decrypting it.
Parameters
id— Unique identifier of the object.opts— per-request options (seeWorkOS.Client.request/5)
@spec list_kv_versions(WorkOS.Client.t(), String.t(), keyword()) :: {:ok, WorkOS.VersionListResponse.t()} | {:error, WorkOS.Error.error()}
List object versions
Retrieve all versions for a specific object.
Parameters
id— Unique identifier of the object.opts— per-request options (seeWorkOS.Client.request/5)
@spec update_kv(WorkOS.Client.t(), String.t(), map(), keyword()) :: {:ok, WorkOS.ObjectWithoutValue.t()} | {:error, WorkOS.Error.error()}
Update an object
Update the value of an existing encrypted object.
Parameters
id— Unique identifier of the object.params— request body mapopts— per-request options (seeWorkOS.Client.request/5)