Help Center
Choose product document...
Veeam Backup for Microsoft Office 365
RESTful API Reference

Performing Backup

In this section you will learn how to back up Microsoft Office 365 organization's mailbox items.

A sample backup scenario requires performing the following steps:

  1. Set up backup infrastructure:
  1. Add a Microsoft Office 365 organization.
  2. Configure a backup job.
  3. Run a backup job.

Set up Backup Infrastructure

Veeam Backup for Microsoft Office 365 transfers data from Exchange organization's mailboxes to the backup repository via backup proxy. Initially, the default backup proxy and its associated repository are installed on the Veeam Backup for Microsoft Office 365 server on the product setup. In this sample scenario you will learn how to add a new backup proxy and a new backup repository to the Veeam Backup for Microsoft Office 365 infrastructure.

Add Backup Proxy

To add a backup proxy, send the POST HTTPS request to the URL of the /Proxies resource. In the request body, specify the backup proxy properties as described in (POST) /Proxies.

Request:

POST https://support.east.local:4443/v1/Proxies

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

   "hostName": "qa.east.local",

   "description": "ABC Company Reports",

   "port": 9193,

   "username": "admin\\qa",

   "password": "Pa$$w0rd",

   "attachUsedProxy": "true",

   "threadsNumber": 64,

   "enableNetworkthrottling": "true",

   "throttlingValue": 2500,

   "throttlingUnit": "KBs"

}

In the response body, the server will return a resource representation of the new backup proxy. Copy the value of the Id property for later use.

Response Body:

{

   "id": "46d10221-7974-42d7-bb38-f80e65f95f3d",

   "hostName": "qa.east.local",

   "description": "ABC Company Reports",

   "port": 9193,

   "threadsNumber": 64,

   "enableNetworkthrottling": "true",

   "throttlingValue": 2500,

   "throttlingUnit": "KBs",

   "_links": {

     ...

   }

 }

Add Backup Repository

To add a backup repository, send the POST HTTPS request to the URL of the /BackupRepositories resource. In the request body, specify the backup repository properties as described in (POST) /BackupRepositories. For the proxyId property enter the value you saved in the previous step.

Request:

POST https://support.east.local:4443/v1/BackupRepositories

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

  "name": "ABC Support",

  "proxyId": "5a905bb5-9071-433c-9d2f-f805d4da2cf4",

  "retentionPeriodType": "Daily",

  "dailyRetentionPeriod": 14,

  "retentionFrequencyType": "Daily",

  "dailyTime": "08:00:00",

  "description": "",

  "dailyType": "Weekends",

  "path": "C:\\ABC_support",

  "attachUsedRepository": "true"

}

In the response body, the server will return a resource representation of the new backup repository. Copy the value of the Id property for later use.

Response Body:

{

  "id": "5729d9cf-abfa-4077-9dd5-f5a888b98147",

  "name": "ABC Support",

  "proxyId": "5a905bb5-9071-433c-9d2f-f805d4da2cf4",

  "retentionPeriodType": "Daily",

  "dailyRetentionPeriod": 14,

  "retentionFrequencyType": "Daily",

  "dailyTime": "08:00:00",

  "description": "Daily",

  "dailyType": "Weekends",

  "path": "C:\\ABC_support",

  "capacity": 128479916032,

  "freeSpace": 111512092672,

  "_links": {

    ...

  }

}

Add a Microsoft Office 365 Organization

Before performing backup of Microsoft Office 365 organization's mailboxes, you must add this organization to Veeam Backup for Microsoft Office 365. To do that, send the POST HTTPS request to the URL of the /Organizations resource. In the request body, specify Exchange organization's properties as described in (POST) /Organizations.

Request:

POST https://support.east.local:4443/v1/Organizations

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "type": "office365",

 "region": "worldwide",

 "username": "Admin@eastsupport.onmicrosoft.com",

 "password": "Passw0rd",

 "grantImpersonation": "true"

}

In the response body, the server returns a resource representation of the Microsoft Office 365 organization added to Veeam Backup for Microsoft Office 365. Copy the value of the Id property for later use.

Response Body:

{

 "type": "Office365",

 "username": "Admin@eastsupport.onmicrosoft.com",  

 "region": "worldwide",

 "id": "7b2b1ae1-7bbb-4651-b479-bda7edc7838b",

 "name": "eastsupport.onmicrosoft.com",

 "isBackedup": "false",

   "_links": {

    ...

  }

}

Configure a Backup Job

To back up Microsoft Office 365 organization's mailboxes, you must configure a backup job. With a backup job you can back up all mailboxes or only selected ones. You can run a backup job manually or schedule it to run automatically at a specific time.

To create a backup job, send the POST HTTPS request to the URL of the /Organizations/{ID}/Jobs resource. In the request, enter the value of the organization's Id property saved beforehand. In the request body, specify the proxyId, repositoryId and the rest of backup job properties as described in (POST) /Organizations/{ID}/Jobs.

Performing Backup Tip:

To run a backup job immediately after its creation, set the isRun property to True.

Request:

POST https://support.east.local:4443/v1/Organizations/7b2b1ae1-7bbb-4651-b479-bda7edc7838b/Jobs

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "name": "Backup Job ABC",

 "description": "Critical Mailboxes",

 "allmailboxes": "false",

  "selectedMailboxes": [

    {

      "id": "ac57ab24-e4b2-4c47-a3da-43fd612323dc",

      "email": "petep@eastsupport.onmicrosoft.com",

      "name": "Peter Parker",

      "isBackedUp": "false"

    },

    {

      "id": "5m7tjl3e-704n-59i1-b491-e80fc5cc6d26",

      "email": "smunez@eastsupport.onmicrosoft.com",

      "name": "Santiago Munez",

      "isBackedUp": "false"

    }

   ],

 "schedulePolicy": {

     "type": "Daily",

     "dailyType": "Sunday",

     "dailyTime": "08:00:00",

     "backupWindow": {

       "backupIntervalsArray": [

          true,

          true,

          true,

         ...

     ],

   },

     "retryEnabled": "true",

     "retryNumber": 5,

     "retryWaitInterval": 15

 },

 "proxyId": "46d10221-7974-42d7-bb38-f80e65f95f3d",

 "repositoryId": "5729d9cf-abfa-4077-9dd5-f5a888b98147",

 "isRun": True

}

In the response body, the server will return a resource representation of the backup job. Copy the value of the Id property for later use.

Response Body:

{

 "id": "b3f0b7ac-c492-4c83-af59-57d224de63a3",

 "name": "Backup Job ABC",

 "description": "Critical Mailboxes",

 "allMailboxes": "false",

 "lastStatus": "Running",

 "lastRun": "0001-01-01T00:00:00",

 "nextRun": "2017-06-13T06:04:24.1650083Z",

 "isEnabled": "true",

 "schedulePolicy": {

    "type": "Daily",

    "dailyType": "Sunday",

    "dailyTime": "08:00:00",

    "backupWindow": {

      "backupIntervalsArray": [

       true,

       true,

       true,

       ...

     ],

     "minuteOffset": 0

   },

    "retryEnabled": "true",

    "retryNumber": 5,

    "retryWaitInterval": 15

 },

 "_links": {

    ...

   }

 }

}

Run a Backup Job

To run a backup job, send the POST HTTPS request to the URL of the /Jobs/{ID}/Action resource. In the request, enter the value of the backup job's Id property saved beforehand. In the request body, specify the start action as described in(POST) /Jobs/{ID}/Action.

Request:

POST https://support.east.local:4443/v1/Jobs/b3f0b7ac-c492-4c83-af59-57d224de63a3/Action

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

 "start": null

}

The mailbox backups will be created after a successful backup job run. You can check the status of the backup job by sending the GET HTTPS request to the URL of the /Jobs/{ID} resource. In the response body, check the lastStatus property.

Request:

GET https://support.east.local:4443/v1/Jobs/b3f0b7ac-c492-4c83-af59-57d224de63a3

 

Request Header:

Authorization: Bearer <Access-Token>

 

Response:

200 OK

 

Response Body:

{

 "id": "93089cfa-81d6-4551-8a7b-a7290868d6f9",

 "name": "Backup Job ABC",

 "description": "Critical Mailboxes",

 "allMailboxes": "false",

 "lastStatus": "Success",

...}

Veeam Large Logo

User Guide

RESTful API Reference

PowerShell Reference