Account data (cubes, reports / published reports, workspaces) may be downloaded as an XML file in this way:
This XML file can be restored on self-hosted SeekTable instance with an active "System/users admin" subscription:
Keep record IDs, do not restore if IDs already exist
:
use this option to restore only removed cubes/reports.Keep record IDs, overwrite existing records with same IDs
: use this option to transfer/update account data between SeekTable instances.Generate new record IDs
: use this option to 'clone' cubes with reports.With a backup/restore functionality it's easy to organize a typical "dev → staging → prod" development flow:
Reports deployment process can be fully automated with API calls described below.
For automated backups use this API endpoint:
{SeekTable_BaseUrl}/api/account/{account_id}/backup
Header: Authorization |
(required) | API key of the user with "admin" role + a login email of this user should be specified in SeekTable_ST__Api__AccountBackupAllowedForEmail
app setting.
It is strongly recommended to create a dedicated "admin" user (without cubes/reports) and use its API key ONLY for backup/restore API calls.
|
account_id |
(required) | ID of the account to backup. |
Response | HTTP/200 (OK) if restore operation executed successfully. |
curl -k -H "Authorization: SEEKTABLE_ADMIN_ACCOUNT_API_KEY" SEEKTABLE_BASE_URL/api/account/ACCOUNT_ID/backup -o "seektable_backup.xml"
For automated restore use this API endpoint:
{SeekTable_BaseUrl}/api/account/{account_id}/restore?mode={mode}&workspaces=1&dashboards=1&team=1
Header: Authorization |
(required) | API key of the user with "admin" role + a login email of this user should be specified in SeekTable_ST__Api__AccountRestoreAllowedForEmail
app setting.
It is strongly recommended to create a dedicated "admin" user (without cubes/reports) and use its API key ONLY for backup/restore API calls.
|
account_id |
(required) | ID of the account where cubes/reports are restored. |
mode |
(optional) | restore mode:
|
workspaces |
(optional) | Determines whether to restore workspaces; if yes should be 1 or true (false by default). |
dashboards |
(optional) | Determines whether to restore dashboards; if yes should be 1 or true (false by default).
This option makes sense only if installation has an active subscription for dashboards. |
team |
(optional) | Determines whether to restore "Team sharing" settings (team members/groups/access rules); if yes should be 1 or true (false by default).
This option makes sense only if the user has a "Team sharing" capability. |
Response | HTTP/200 (OK) if restore operation executed successfully. |
curl -k -H "Content-Type: text/xml" -H "Authorization: SEEKTABLE_ADMIN_ACCOUNT_API_KEY" --data-binary "@seektable_backup_YYYYMMDD.xml" SEEKTABLE_BASE_URL/api/account/ACCOUNT_ID/restore?mode=allowUpdate&workspaces=1&dashboards=1&team=1
To backup self-hosted SeekTable installation it is enough to make a copy of files in the docker volumes db-volume
and csv-files-volume
+ docker-compose configuration files.