API Documentation¶
Base URL: hostname:8000/cryptops/v0
Encryption:
GET /encryptionReturns the status of the encryption (whether or not you have an encrypted partition)
POST /encryption/initEncrypts the disk with a password if there are no encrypted disks
Post data:
{"password": password}POST /encryption/unlockDecrypts the disk using a password and boots the machine
Post data:
{"password": password}POST /encryption/removeBrings the VPS in a state where the disk is not encrypted and booting does not require a password (does not change the initrd to a “regular” initrd)
Post data:
{"password": password}POST /encryption/selfdestructRemoves the encryption master key, effectively deleting the encrypted data permanently.
Encryption keys:
GET /encryption/keysList luks password slots
POST /encryption/keys/Add a new password to a new Luks slot.
Post data:
{"password": password, "new-password": new-password}PUT /encryption/keys/{slot-id}Change a luks slot’s password. {slot} corresponds to a slot id listed by
GET /encryption/keys.Post data:
{"password": password, "new-password": new-password}DELETE /encryption/keys/{slot-id}Delete a password from a luks slot
SSH keys with access to the initrd:
GET /ssh/keysList SSH keys in the
/root/.ssh/authorized_keysfilePOST/ssh/keysAdd a key to the
authorized_keysfilePost data:
{"ssh-key": ssh-key}PUT /ssh/keys/{key-id}Change a key in the
authorized_keysfilePost data:
{"ssh-key": ssh-key}DELETE /ssh/keys/{key-id}Delete the key with id
{key-id}from theauthorized_keysfile