Light up the Veeam VBO365 RESTful API Darkness

5-common-api-testing-mistakes.jpgOn my earlier blog post of 17 July 2017 which I published on the Veeam Blog, I wrote about the new Veeam backup for Office 365. I mentioned that Veeam designed and built the latest version 1.5 with Service Providers in mind.

This is proven in this new version, through the new features added, Powershell and RESTful API.

What does it mean when I say Service Provider in mind design? The short answer is, Automation and Self-service.

Last week I decided to take on a challenge and devote some time to the Veeam RESTful APIs. I started with the basics, and in this post, I will share with you how to get started with Veeam Backup for Office 365 (VBO365) RESTful API too. This post will be the first of several posts where I aim to build a self-service portal for VBO365 to share with you; feedback or help will be welcomed.

Before starting

Before you proceed, you have to install and configure the following components:

Note: I installed these applications on the local VBO365 server; therefore, the address I’m using on this blog is 127.0.0.1. I also retained the VBO RESTful API default port of 4443.

First Baby Step

To start, we enable the RESTful API on VBO365. Start by opening the VBO console and chose Options:

vbo1.PNG

Browse to the RESTful API tab. Tick the checkbox for “Enable “REST Service” to enable the VBO RESTful API :

vbo2.PNG

After the service has been enabled, press Install to start the certification operation installation. You can choose to generate a new self-signed certificate or select to import a new certificate. For this exercise, I chose to “Generate new self-signed certificate”.

vbo3.PNG

At this point, provide a friendly name for your new certificate. Press Finish

vbo4.PNG

After the previous steps, you will see a screen similar to this one following.

vbo5.PNG

Note: Make a note of the “Authentication token lifetime (in minutes)”, and the “HTTPS port” parameters; you are going to need these at the next step.

Light the darkness

We will pause a moment while I share my excitement with you when I successfully ran some simple commands and then having lots of information returned about my VBO365 installation and configuration. Remember, a week ago, I didn’t know about these Veeam the RESTful APIs.

To follow the next steps, you can use either Insomnia, or the Postman application to communicate with the VBO365 RESTful API.

Retrieving the VBO token

Remember that the lifetime of the token is 60 minutes, by default. To accomplish this task, I used the Insomnia software. I typed the following command at the address bar.

POST https://127.0.0.1:4443/v1/Token

VBO1-Run.PNG

Authentication

As was the case for the first run, you have to provide a username and password to allow communication with, and to retrieve the token from, the VBO365 server.

To start, add the following command to Body:

grant_type=password&username=administrator&password=[YourPassword]

For VBO365, use JSON.

On the Auth Tap, choose “Basic” and provide “username” and “password”.

<Body Text JSON>

VBO2-Run.PNG

<Basic Authentication>

VBO3-Run.PNG

Pressing the send button, I can retrieve the current Token for my VBO365, which I copied, and will use from now on.

VBO4-Run.PNG

From the text screen illustrated above, make a note of the “access_token”; also make a note of the “token_type”, in this case “bearer“.

Inquiry to return the Configured Organization configuration

Next, I want to run an inquiry to return my VBO365 Organization configuration.

Using the GET https://127.0.0.1:443/v1/Organizations URL, I can check the Organization types registered on my VBO server.

This time I will run the GET command with the bearer authentication as shown below on the header Tab:

VBO5-Run.PNG

Note: Use the Token and Bearer type authentication copied from the previous step

The output for local exchange (OnPremises):

VBO6-Run.PNG

The output for Office365:

VBO7-Run

Check the other information you can extract from this output. There is a lot more information available from this output; but these segments showing “type”, “username” and if the organization is backed up are examples of the information that can be retrieved.

What about the Backup?

You by now can see the range of commands and the type of the information you can extract from the output; but let’s run the last command to check how these two organization been backed up.

To do this, we will run the following command:

GET https://127.0.0.1:4443/v1/Jobs

From the output, we can find out the name of the backup job, the backup schedule time, and if the last job ran successfully, and more:

VBO8-Run.PNG

Conclusion

You can see by now that the RESTful API for Veeam VBO365 is very powerful and can yield a lot of information. These steps are to get you started to learning and interacting with the RESTful API. The Veeam VBO365 RESTful API guide should be your next destination to learning about the commands you can use to interact with the VBO365 server.

On this post, I showed you the basics. I will be back later with another post where I will show you a deeper integration with the RESTful API. Until then, I hope you find this blog informative and please share your experience in the comments below.

Finally, try this command and let me know what you got: GET https://127.0.0.1:4443/v1/Proxies

Leave a Reply