Restoring a backup

If calamity strikes and we wish to restore the datasets we have previously backed up. All we need is the relevant ID - as acquired from the list operation

Example Call

In this instance we will restore the full backup (4) created here. Notice how the ID is appended to the /restore/ endpoint.

curl -s -XPOST -H "Authorization: $TC_OIDC_TOKEN" https://telicent.core.domain/api/sparql/backups/restore/4

Response

The response returned is similar to that described here with details for all the datasets that have been restored.

Click here to see the response from the full restore ```json { "id" : "/2", "date" : "2025-06-27_12-19-45", "user" : "jeff.tester@demo.com", "restore" : { "restorePath" : "/fuseki/backups//2", "catalog" : { "dataset-id" : "catalog", "tdb" : { "folder" : "/fuseki/backups//2/catalog/tdb/", "restorePath" : "/fuseki/backups//2/catalog/tdb//catalog_backup.nq.gz", "success" : true, "files" : { "files" : [ "catalog_backup.nq.gz" ] } }, "kafka" : { "folder" : "/fuseki/backups//2/catalog/kafka/", "/catalog" : [ { "name" : "catalog", "offset" : 1402, "success" : true } ], "files" : { "files" : [ "catalog.json" ] } }, "labels" : { "folder" : "/fuseki/backups//2/catalog/labels/", "success" : true, "files" : { "meta" : { "files" : [ "1" ] }, "files" : [ "000008.log" ], "private" : { "1" : { "files" : [ "CURRENT", "MANIFEST-000009", "OPTIONS-000011", "000008.log" ] } }, "shared_checksum" : { } } } }, "ontology" : { "dataset-id" : "ontology", "tdb" : { "folder" : "/fuseki/backups//2/ontology/tdb/", "restorePath" : "/fuseki/backups//2/ontology/tdb//ontology_backup.nq.gz", "success" : true, "files" : { "files" : [ "ontology_backup.nq.gz" ] } }, "kafka" : { "folder" : "/fuseki/backups//2/ontology/kafka/", "/ontology" : [ { "name" : "ontology", "offset" : 50964, "success" : true } ], "files" : { "files" : [ "ontology.json" ] } }, "labels" : { "folder" : "/fuseki/backups//2/ontology/labels/", "success" : true, "files" : { "meta" : { "files" : [ "1" ] }, "files" : [ "000009.log" ], "private" : { "1" : { "files" : [ "OPTIONS-000012", "MANIFEST-000010", "000009.log", "CURRENT" ] } }, "shared_checksum" : { "files" : [ "000008_sE2GWJWZWS8JYXZHENHN6_2992049.sst" ] } } } }, "knowledge" : { "dataset-id" : "knowledge", "tdb" : { "folder" : "/fuseki/backups//2/knowledge/tdb/", "restorePath" : "/fuseki/backups//2/knowledge/tdb//knowledge_backup.nq.gz", "success" : true, "files" : { "files" : [ "knowledge_backup.nq.gz" ] } }, "kafka" : { "folder" : "/fuseki/backups//2/knowledge/kafka/", "/knowledge" : [ { "name" : "knowledge", "offset" : 311757, "success" : true } ], "files" : { "files" : [ "knowledge.json" ] } }, "labels" : { "folder" : "/fuseki/backups//2/knowledge/labels/", "success" : true, "files" : { "meta" : { "files" : [ "1" ] }, "files" : [ "000072.log" ], "private" : { "1" : { "files" : [ "MANIFEST-000073", "CURRENT", "OPTIONS-000075", "000072.log" ] } }, "shared_checksum" : { "files" : [ "000077_sE2GWJWZWS8JYXZHENHN7_68785994.sst", "000076_sE2GWJWZWS8JYXZHENHN7_68808191.sst", "000080_sE2GWJWZWS8JYXZHENHN7_11082531.sst", "000078_sE2GWJWZWS8JYXZHENHN7_68473975.sst", "000079_sE2GWJWZWS8JYXZHENHN7_69444784.sst" ] } } } } } } ```

Error Response

However, if an erroneous ID is passed an error is returned with an error message.

{
  "id" : "/56",
  "date" : "2025-06-27_12-16-21",
  "user" : "jeff.tester@demo.com",
  "restore" : {
    "restorePath" : "/fuseki/backups//56",
    "reason" : "Restore path unsuitable: /fuseki/backups//56",
    "success" : false
  }
}

[EARLY DRAFT RELEASE] Copyright 2020-2025 Telicent Limited. All rights reserved