Clusterlogics API

1. List of backups available

POST

https://manage.clusterlogics.com/api/jobs/_IP_OF_SERVER

optional param path

NEW optional prams:

from and to - date in format Y-m-d H:i:s - limits job request by dates range for best performance.

e.g.:

curl --request POST -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' -d 'path=/home/someuser/' https://manage.clusterlogics.com/api/jobs/67.22.128.109

returns jobs available for user "someuser"

 

2. Files for job by path

POST

https://manage.clusterlogics.com/api/files/_JOB_ID_

Optional path (if empty - considering / )

curl --request POST -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' -d 'path=/home/someuser/' https://manage.clusterlogics.com/api/files/326

Not recursive only content of  folder specified

 

3. Files for job by node id (usefully for JavaScript three) 

POST

https://manage.clusterlogics.com/api/nodes/_JOB_ID_/_NODE_ID

Node must be in child path of POST variable path.

curl --request POST -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' -d 'path=/home/someuser/' https://manage.clusterlogics.com/api/nodes/341/279738

If you brows incremental job it include all required files for FULL restore.

 

4. Restore files

POST

https://manage.clusterlogics.com/api/restore/_JOB_ID_/_IP_OF_CLIENT_

Params:

files[0]=path of file

files[1]=path of file

.....

files[n]=path of file

List of files or folders  you need to restore. In case if you define folder it would restore all files recurrently.

optional path - defines folder where files should be restored to if it / it would be restored to original location.

 

example:

curl --request POST -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' -d 'files[0]=/home/someuser/publick_html/index.html&path=/' https://manage.clusterlogics.com/api/restore/345/67.22.128.109

returns job id (you need it to track status or process) or error if any arise.

 

5. Restore files by nodes id

POST

https://manage.clusterlogics.com/api/restorenodes/_JOB_ID/_CLIENT_IP

path = path where files should be restored should be / to restore original location

home = user home - system check if nodes are posted belongs this folder or sub folders

nodes[0]=_NODE_ID_
nodes[1]=_NODE_ID_

........

nodes[n]=_NODE_ID_

files[0]=_FILE_ID_
files[1]=_FILE_ID_

........

files[n]=_FILE_ID_

nodes -is folders 

 

e.g.

curl --request POST -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' -d 'path=/&home=/home/someuser/&nodes[0]=279584' https://manage.clusterlogics.com/api/restorenodes/341/67.22.128.109

 

6. Restore MySQL DB

POST

https://manage.clusterlogics.com/api/restoremysql/_JOB_ID/_DB_NAME

the target database must exists

client – optional restore client, name or ip. If empty to original server.

example:

curl --request POST -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' -d '' https://manage.clusterlogics.com/api/restoremysql/341/user_test

 

7. Job status

GET

https://manage.clusterlogics.com/api/status/_JOB_ID

example:

curl --request GET -H 'Accept: application/json' -u 'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/status/347

should be used to know status of restore request

 

8. Run

POST

https://manage.clusterlogics.com/api/run/_IP_OF_CLIENT

Execute command on file director

cmd = command to run

return result of output or error if any

example:

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' -d 'director=1&cmd=pwd' https://manage.clusterlogics.com/api/run/67.22.128.109
{ "result": "\/root\n" }

 

9. Cancel job

GET

https://manage.clusterlogics.com/api/cancel/_JOB_ID

e.g.:

curl --request GET -H 'Accept: application/json' -u'your@loginemail.com:yourapikey'  https://manage.clusterlogics.com/api/cancel/999

 

10. Get System

POST

https://manage.clusterlogics.com/api/system/_SERVER_IP

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey'   https://manage.clusterlogics.com/api/system/96.125.182.101
{ "system":  "unix"  }
curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey'   https://manage.clusterlogics.com/api/system/96.125.182.183
{ "system":  "windows"  }

note: server must have at list one backup job completed successfully.

 

11. Browse client folders tree

POST

https://manage.clusterlogics.com/api/restoretree/IP_OF_CLIENT

name = full path to folders

home = user home - system check if name are posted belongs this folder or sub folders

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' -d 'name=/home/someuser/public_html/&home=/home/someuser' https://manage.clusterlogics.com/api/restoretree/96.125.182.106

 

12. Get information about downloading file: name, size and chucks

POST

https://manage.clusterlogics.com/api/downloadinfo/JOB_ID/IP_OF_CLIENT

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/downloadinfo/40131/96.125.182.106

 

13. Download file with backup

POST

https://manage.clusterlogics.com/api/download/JOB_ID/IP_OF_CLIENT/CHUCK

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/download/40131/96.125.182.106/1

 

14. Get name of client by its IP

POST

https://manage.clusterlogics.com/api/getclientnamebyip/IP_OF_CLIENT

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/getclientnamebyip/96.125.182.106

 

15. Get pst file for MsExchange mailbox

POST

https://manage.clusterlogics.com/api/msexchange/IP_OF_CLIENT/getemail

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/msexchange/96.125.182.106/getemail
{ "mailbox": "mailbox@domain.com" }

 

16. Get MsExchange path for mailbox per client

POST

https://manage.clusterlogics.com/api/msexchange/IP_OF_CLIENT/path

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/msexchange/96.125.182.106/path
{ "mailbox": "mailbox@domain.com" }

 

17. Partial MsExchange Search for mailboxes

POST

https://manage.clusterlogics.com/api/msexchange/IP_OF_CLIENT/search

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/msexchange/96.125.182.106/search
{ "search": "a"}

 

18. Get Bacula as service zones

GET

https://manage.clusterlogics.com/api/getbaaszones

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/getbaaszones

 

19. Get subusers storages

POST

https://manage.clusterlogics.com/api/storages

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/storages

 

20. Get subusers servers

POST

https://manage.clusterlogics.com/api/servers

subuser = subusers login

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/servers
{ "subuser": "someuser"}

 

21. Get subusers jobs

POST

https://manage.clusterlogics.com/api/myjobs

subuser = subusers login

status = job status (optional)

limit = jobs portion limit (optional)

offset = jobs portion offset (optional)

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/myjobs
{ "subuser": "someuser"}

 

22. Get supported operating systems

POST

https://manage.clusterlogics.com/api/supportedsystems

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/supportedsystems

 

23. Perform backup for client

POST

https://manage.clusterlogics.com/api/backupnow/IP_OF_CLIENT/BACKUP_LEVEL

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/backupnow/96.125.182.106/f

 

24. Get clients config

POST

https://manage.clusterlogics.com/api/getconfig/IP_OF_CLIENT/SYSTEM

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/getconfig/96.125.182.106

 

25. Generate clients config

POST

https://manage.clusterlogics.com/api/genconfig/SYSTEM

name = name of client

password = root password of client

IP = ip address of client

internalip = internal ip (optional)

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/genconfig/rh7

 

26. Get backup options for client

POST

https://manage.clusterlogics.com/api/backupoptions/IP_OF_CLIENT/SYSTEM

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/backupoptions/96.125.182.106

 

27. Get pool data for pool

POST

https://manage.clusterlogics.com/api/getpool/POOL_NAME

getstorage = storage (optional)

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/getpool/somepool

 

28. Save pool

POST

https://manage.clusterlogics.com/api/savepool

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/savepool

 

29. Add subuser

POST

https://manage.clusterlogics.com/api/subuser/add

Login = subusers login

Firstname = subusers firstname

Lastname = subusers lastname

Email = subusers email address

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/subuser/add

 

30. Grant access to subuser

POST

https://manage.clusterlogics.com/api/subuser/grant

client = name of client

subuser = subusers login

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/subuser/grant

 

31. Set subusers password

POST

https://manage.clusterlogics.com/api/subuser/password

subuser = subusers login

Password = subusers password to set

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/subuser/password

 

32. Check if subuser exist

POST

https://manage.clusterlogics.com/api/subuser/check

subuser = subusers login

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/subuser/check

 

33. Check subuser Bare Metal Restore access

POST

https://manage.clusterlogics.com/api/subuser/bmr

subuser = subusers login

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/subuser/bmr

 

34. Delete client

POST

https://manage.clusterlogics.com/api/deleteclient/CLIENT_NAME

subuser = subusers login

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/deleteclient/user_testclient.com-fd

 

35. Get Job logs

POST

https://manage.clusterlogics.com/api/joblog/JOB_ID

subuser = subusers login

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/joblog/12345

 

36. Save fileset

POST

https://manage.clusterlogics.com/api/savefileset

$_POST = FileSet structure

curl --request POST -H 'Accept: application/json' -u'your@loginemail.com:yourapikey' https://manage.clusterlogics.com/api/savefileset