Admin Commands#
List all privileged commands an admin can execute to manage the daemon. Those commands require a valid admin client key.
Identity Admin Service#
Info
Associated Datatype: Identity
IdentityList#
List all identities on this daemon.
Request: IdentityListRequest
filter(optional IdentityFilter)
Response (Stream): IdentityListResponse
identities(repeated Identity)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INVALID_ARGUMENT: invalid filter.INTERNALUNAUTHENTICATED: client key is invalid.
IdentityAdminGet#
Get a specific identity, identified by its id.
Request: IdentityAdminGetRequest
identity_id(uint64)
Response: IdentityAdminGetResponse
identity(Identity)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: identity not found.UNAUTHENTICATED: client key is invalid.
IdentityAdminGetBytesIdentifier#
Get identity long term identifier.
Request: IdentityAdminGetBytesIdentifierRequest
identity_id(uint64)
Response: IdentityAdminGetBytesIdentifierResponse
identifier(bytes)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: identity not found.UNAUTHENTICATED: client key is invalid.
IdentityAdminGetInvitationLink#
Get identity invitation link.
This link allows other identities to send invitations.
Request: IdentityAdminGetInvitationLinkRequest
identity_id(uint64)
Response: IdentityAdminGetInvitationLinkResponse
invitation_link(string)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: identity not found.UNAUTHENTICATED: client key is invalid.
IdentityAdminDownloadPhoto#
Download profile photo of an identity.
Request: IdentityAdminDownloadPhotoRequest
identity_id(uint64)
Response: IdentityAdminDownloadPhotoResponse
photo(bytes)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: identity not found.INTERNALUNAUTHENTICATED: client key is invalid.
IdentityDelete#
Delete an identity on this daemon, identified by its id.
Request: IdentityDeleteRequest
identity_id(uint64)delete_everywhere(optional bool - delete from every device and notify your contacts for deletion)
Response: IdentityDeleteResponse
Empty payload.
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: identity not found.INTERNALUNAUTHENTICATED: client key is invalid.
IdentityNew#
Create a new identity on this daemon.
You must specify at least a non blank firstname or lastname in identity_details.
You can specify a server_url to create identity on, by default it uses Olvid main distribution server.
Request: IdentityNewRequest
identity_details(IdentityDetails)server_url(optional string)
Response: IdentityNewResponse
identity(Identity)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INVALID_ARGUMENT: one of first name or last name must be non empty.UNAUTHENTICATED: client key is invalid.
IdentityKeycloakNew#
Create a new keycloak managed identity on this daemon.
Pass the configuration link you created in the keycloak management console.
Request: IdentityKeycloakNewRequest
configuration_link(string)
Response: IdentityKeycloakNewResponse
identity(Identity)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INTERNALUNAUTHENTICATED: client key is invalid.
Backup Admin Service#
Info
Olvid Backups are accessible using a simple key. They contain data necessary to restore or to transfer an identity from a device (a daemon) to another.
Note: Backups do not contain any messages or attachments; they are only designed to re-create secure channels with your contacts, restore your discussions and your daemon configuration (client keys, settings, …)
Associated Datatype: Backup
BackupKeyGet#
Get your current backup key.
⚠️ Store it in a safe place, this key allows to restore this daemon identities on another device/daemon.
Request: BackupKeyGetRequest
Empty payload.
Response: BackupKeyGetResponse
backup_key(string)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INTERNALUNAUTHENTICATED: client key is invalid.
BackupKeyRenew#
Discard previous backup key and create a new one.
Request: BackupKeyRenewRequest
Empty payload.
Response: BackupKeyRenewResponse
backup_key(string)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INTERNALUNAUTHENTICATED: client key is invalid.
BackupGet#
Show the backup associated with a backup key.
It contains an admin backup with admin client key and associated storage,
and snapshots for each identity.
Request: BackupGetRequest
backup_key(string)
Response: BackupGetResponse
backup(Backup)
Error Codes:
INVALID_ARGUMENT: cannot access backup.PERMISSION_DENIED: an admin client key is necessary.UNAUTHENTICATED: client key is invalid.
BackupNow#
Force a new backup.
Request: BackupNowRequest
Empty payload.
Response: BackupNowResponse
Empty payload.
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INTERNALUNAUTHENTICATED: client key is invalid.
BackupRestoreDaemon#
Restore a complete daemon instance.
This is only possible on a blank daemon instance.
Request: BackupRestoreDaemonRequest
backup_key(string - key of the backup to restore)new_device_name(optional string - specify a name for this new device (daemon is set as default))
Response: BackupRestoreDaemonResponse
restored_identities(repeated Identity)restored_admin_client_keys(repeated ClientKey)restored_client_keys(repeated ClientKey)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INVALID_ARGUMENT: your daemon database is not empty.UNAUTHENTICATED: client key is invalid.
BackupRestoreAdminBackup#
Restore admin data of a backup (admin client keys and associated storage).
Request: BackupRestoreAdminBackupRequest
backup_key(string - key of the backup to restore)
Response: BackupRestoreAdminBackupResponse
restored_admin_client_keys(repeated ClientKey)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INTERNALUNAUTHENTICATED: client key is invalid.
BackupRestoreProfileSnapshot#
Restore an identity from a backup.
Pass the identity snapshot id you want to restore.
Request: BackupRestoreProfileSnapshotRequest
backup_key(string - key of the backup to restore)id(string - id of the snapshot to restore)new_device_name(optional string - specify a name for this new device (daemon is set as default))
Response: BackupRestoreProfileSnapshotResponse
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: snapshot not found.INVALID_ARGUMENT: identity already exists locally.INTERNALUNAUTHENTICATED: client key is invalid.
Client Key Admin Service#
Info
Associated Datatype: Identity
ClientKeyList#
List all client keys of this daemon (admin and non admin).
This does not return temporary client keys passed in environment or as command line arguments.
Request: ClientKeyListRequest
filter(optional ClientKeyFilter)
Response (Stream): ClientKeyListResponse
client_keys(repeated ClientKey)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.INVALID_ARGUMENT: filter is invalid.INTERNALUNAUTHENTICATED: client key is invalid.
ClientKeyGet#
Get a specific client key details, identified by its value.
This does not return temporary client keys passed in environment or as command line arguments.
Request: ClientKeyGetRequest
client_key(string)
Response: ClientKeyGetResponse
client_key(ClientKey)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: client key not found.UNAUTHENTICATED: client key is invalid.
ClientKeyNew#
Create a new client key associated with a given identity.
Pass 0 as identity id to create an admin client key.
Request: ClientKeyNewRequest
name(string)identity_id(uint64)
Response: ClientKeyNewResponse
client_key(ClientKey)
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: identity not found.INTERNALUNAUTHENTICATED: client key is invalid.
ClientKeyDelete#
Delete a specific client key, identified by its value.
Request: ClientKeyDeleteRequest
client_key(string)
Response: ClientKeyDeleteResponse
Empty payload.
Error Codes:
PERMISSION_DENIED: an admin client key is necessary.NOT_FOUND: client key not found.UNAUTHENTICATED: client key is invalid.