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

Response (Stream): IdentityListResponse

Error Codes:

  • PERMISSION_DENIED: an admin client key is necessary.

  • INVALID_ARGUMENT: invalid filter.

  • INTERNAL

  • UNAUTHENTICATED: client key is invalid.

IdentityAdminGet#

Get a specific identity, identified by its id.

Request: IdentityAdminGetRequest

  • identity_id (uint64)

Response: IdentityAdminGetResponse

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.

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.

  • INTERNAL

  • UNAUTHENTICATED: 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.

  • INTERNAL

  • UNAUTHENTICATED: 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

Response: IdentityNewResponse

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

Error Codes:

  • PERMISSION_DENIED: an admin client key is necessary.

  • INTERNAL

  • UNAUTHENTICATED: 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.

  • INTERNAL

  • UNAUTHENTICATED: 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.

  • INTERNAL

  • UNAUTHENTICATED: 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

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.

  • INTERNAL

  • UNAUTHENTICATED: 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.

  • INTERNAL

  • UNAUTHENTICATED: 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.

  • INTERNAL

  • UNAUTHENTICATED: 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

Response (Stream): ClientKeyListResponse

Error Codes:

  • PERMISSION_DENIED: an admin client key is necessary.

  • INVALID_ARGUMENT: filter is invalid.

  • INTERNAL

  • UNAUTHENTICATED: 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

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

Error Codes:

  • PERMISSION_DENIED: an admin client key is necessary.

  • NOT_FOUND: identity not found.

  • INTERNAL

  • UNAUTHENTICATED: 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.