Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Current »

This wiki is to capture the Backup module provided GraphQL APIs.

Please find below list of APIs supported by backup module.

llapseCore module APIs are useful to create , modify , delete extensions and fetch the values of existing configured extensions. 

Add Backup

Creating and running a  backup into Freepbx/PBXact system.

API Name  addBackup API.

API Parameters -

Name

Required

Type

Default

Description

name

Mandatory

String

Name for the backup

description

Optional

String

Description for the backup

backupModules

Mandatory

List

Modules to backup please provide the rawname. (Ex. ["amd","adv_recovery"]) or additionally you can add all Ex.(['all])

notificationEmail

Optional

String

Email address to send notifications, Multiple email addresses need to be separated by comma

inlineLogs

Optional

String

When set to Yes logs will be added to the body of the email, when set to No logs will be added as an attachment, default no

emailType

Optional

String

When to email default both

storageLocation

Mandatory

List

Select one or more storage locations. Storage locations can be added/configured with the Filestore module. Ex. ['SSH_123_2345_214','SSH_12324_23214']. the list can be found on fetchFilestoreLocations api from file store.

appendBackupName

Optional

Boolean

False

When set to true , Backp files will store like filestore-path/backup-job-name/backup-file and if set to false then backup file will store into filestore-path/backup-file, default false

enableBackupSchedule

Optional

Boolean

False

Enable scheduled backups, default false

scheduleBackup

Optional

String

When should this backup run. when enableBackupSchedule is set to true please provide this field. please enter a cron values.

updatesToKeep

Optional

ID

1

How many updates to keep. If this number is 3, the last 3 will be kept. 0 is unlimited

Query Parameters 

status
message
id


API Request 

1. Api to add Backup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
mutation {
    addBackup(input: {
        name: "testbackup",
        description: "testing backup to add a backup",
        backupModules: ["all"],
        storageLocation: ["dropbox_wqeqwe"]
        enableBackupSchedule : true
        scheduleBackup : "0 * * * *"
    }) {
        status
        message
        id
    }
}

API Response 

{
  "data": {
    "addBackup": {
      "status": true,
      "message": "Backup has been performed/schedules",
      "id": "d35390e8-0000-defg-abcd-6f5c7c94b1234"
    }
  }
}

Update Backup

Updating and running a  backup into Freepbx/PBXact system.

API Name  updateBackup API.

Name

Required

Type

Default

Description

id

Mandatory

String

Id of the backup

name

Mandatory

String

Name for the backup

description

Optional

String

Description for the backup

backupModules

Mandatory

List

Modules to backup please provide the rawname. (Ex. ["amd","adv_recovery"]) or additionally you can add all Ex.(['all])

notificationEmail

Optional

String

Email address to send notifications, Multiple email addresses need to be separated by comma

inlineLogs

Optional

String

When set to Yes logs will be added to the body of the email, when set to No logs will be added as an attachment, default no

emailType

Optional

String

When to email default both

storageLocation

Mandatory

List

Select one or more storage locations. Storage locations can be added/configured with the Filestore module. Ex. ['SSH_123_2345_214','SSH_12324_23214']. the list can be found on fetchFilestoreLocations api from file store.

appendBackupName

Optional

Boolean

False

When set to true , Backp files will store like filestore-path/backup-job-name/backup-file and if set to false then backup file will store into filestore-path/backup-file, default false

enableBackupSchedule

Optional

Boolean

False

Enable scheduled backups, default false

scheduleBackup

Optional

String

When should this backup run. when enableBackupSchedule is set to true please provide this field. please enter a cron values.

updatesToKeep

Optional

ID

1

How many updates to keep. If this number is 3, the last 3 will be kept. 0 is unlimited

Query Parameters 

status
message
id


API Request 

1. Api to update Backup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
mutation {
    updateBackup(input: {
        id:"d35390e8-0l0ore-defg-abcd-6f5c7c94b1234"
        name: "testbackup",
        description: "testing backup to update a backup",
        backupModules: ["all"],
        storageLocation: ["dropbox_wqeqwe"]
        enableBackupSchedule : true
        scheduleBackup : "0 * * * *"
    }) {
        status
        message
        id
    }
}

API Response 

{
  "data": {
    "updateBackup": {
      "status": true,
      "message": "Backup has been updated",
      "id": "d35390e8-0l0ore-defg-abcd-6f5c7c94b1234"
    }
  }
}

Delete Backup

Deleting a backup into Freepbx/PBXact system.

API Name  deleteBackup API.

API Parameters -

Name

Required

Type

Default

Description

backupId

Mandatory

String

Id of the backup

Query Parameters 

status
message


API Request 

1. Api to delete Backup
 
GQLAPI:  /admin/api/api/gql
 
parameters:
 
query{
    deleteBackup(backupId: "d35390e8-0l0ore-defg-abcd-6f5c7c94b1234") {
      status
      message
    }
 }

API Response 

{
  "data": {
    "deleteBackup": {
      "status": true,
      "message": "Backup deleted successfully"
    }
  }
}


Restore Backup

API Name  restoreBackup 

API Parameters -

Name

Required

Type

Default

Description

name

Mandatory

ID

Name of the Restore input file

 

Query Parameters 

status
message
transaction_id

API Request 

GQLAPI: /admin/api/api/gql
 
Parameters:
 
mutation {
    restoreBackup(input: {
        name: "testbackup"
    }) {
        status message transaction_id
    }
}

API Response 

{
  "data": {
    "restoreBackup": {
      "status": true,
      "message": "Restore process has been initiated. Kindly check the fetchApiStatus api with the transaction id.",
      "transaction_id": "322"
    }
  }
}

Fetch All backup files

API Name :  fetchAllBackups

API Parameters: none

API Parameters to query

Query Parameters 

status
message
fileDetails{
    id
    type
    file
    framework
    timestamp
    name
    instancename
}

API Request 

GQLAPI: /admin/api/api/gql
 
 
query{
  fetchAllBackups{
     status message fileDetails{
          id
          type
          file
          framework
          timestamp
          name
          instancename
        }
     }
  }

API Response 

{
  "data": {
    "fetchBackupFiles": {
      "status": true,
      "message": "List of backup files",
      "fileDetails": [
        {
          "id":"SSH_1234567890",
          "type":"SSH",
          "file":"20200330-34567-345678-15.0.16.51-456789.tar.gz",
          "framework":"15.0.16.51",
          "timestamp":"234432234",
          "name":"20200330-2345324-42342342-15.0.16.51-234234234.tar.gz",
          "instancename":"warmspare"
        }
      ]
   }
}

Fetch All backup Configurations

API Name :  fetchAllBackupConfigurations

API Parameters: none

API Parameters to query

Query Parameters 

status
message
backupConfigurations{
    id
    name
    description
}

API Request 

GQLAPI: /admin/api/api/gql
 
 
query{
    fetchAllBackupConfigurations{
      status message backupConfigurations{
        id
        name
        description
      }
   }
}

API Response 

{
  "data": {
    "fetchAllBackupConfigurations": {
      "status": true,
      "message": "List of backup configurations",
      "backupConfigurations": [
        {
          "id": "011223344537d1ca-1122-1122",
          "name": "testbackup22",
          "description": "testing backup to add a backup"
        }
      ]
    }
  }
}

Run Backup

running a backup into Freepbx/PBXact system.

API Name  runBackup API.

API Parameters -

Name

Required

Type

Default

Description

id

Mandatory

String

Id of the backup

API Parameters to query

Query Parameters 

status
message
transaction_id

API Request 

GQLAPI: /admin/api/api/gql
 
 
mutation {
  runBackup(input:{ id: "68baf123-db78-46b0-ad48-6d2fece23e16"})
  {
    status
    message
    transaction_id
  }
}

API Response 

{
  "data": {
    "runBackup": {
      "status": true,
      "message": "Backup process has been initiated. Kindly check the fetchApiStatus api with the transaction id.",
      "transaction_id": "20"
    }
  }
}
  • No labels