You’re probably aware that both MOVEit Transfer and Automation come with an API module that can be licensed, and you’ve probably asked yourself if you really need it for your MOVEit system. It’s worth taking a few minutes to review what the APIs are and what you can achieve when using them.
There are different versions of the MOVEit API available – Java, REST, .NET and Windows. The Windows MOVEit Transfer API has been deprecated since 2018 but is still usable if needed. This range of API types gives MOVEit administrators flexibility as to how they can interact with MOVEit, and where from. Regardless of which API is used, it’s worth noting that you will need some scripting or programming knowledge to make use of them – no GUIs are available to assist you in the build.
With the exception of REST, you will need to install the API on every system that needs to interact with MOVEit. These systems do not need to be individually licensed, this is done at the MOVEit server level. REST APIs interact with MOVEit via HTTPS which means you don’t need to distribute software to other computers. REST has quickly become the de facto standard for the industry.
So let’s consider what you can do with the APIs. We’ll start with MOVEit Transfer. Please note that for the purpose of this document I used Powershell to call the APIs in my examples. This was just for convenience and not obligatory.
Here is a simple example using the deprecated Windows API which demonstrates the uploading of a file into MOVEit Transfer.
In return, MOVEit tells us the file ID.
Obviously, we can put some checks into this via the API – for example, does the folder exist? What are the permissions? The possibilities are endless for using this as a way to automate transfers. However, we can also use the API to create folders and users. For example, using the REST API we can add all the information we need into a JSON format parameter string:
When I execute this in a script, I get a JSON back confirming how the user is defined.
As you would expect, you can interact with many other functions of MOVEit Transfer using APIs, although it’s worth noting that the Windows API is deprecated. For newer features you should select one of the other API types. Some uses you can put the API to include:
MOVEit Automation has a slightly expanded set of APIs. The Windows API (which is still supported) provides a command line tool as well as the API interface. This tool is named MICentralCLT.exe and allows you to remotely start tasks. This is particularly useful if you have a scheduling system and want to launch your tasks from there. You can optionally set the task to be a child or orphan process, depending on whether you need to see the results.
Of course, there are other things that we may want to do via the API, for example checking if any tasks are currently running before we shut down the service:
There are other uses for the API – you can create temporary tasks on the fly as an example. Or if you have a large number of tasks or hosts to create, you can import them from a CSV or XML file. You can either build the file from scratch or use an existing host or task as a template.
In this REST API example, you can see a simple check of the scheduler status before and after a start command is issued. Other uses include:
It’s worth bearing in mind that the functionality is not identical between the different APIs. Sometimes you will need to resort to the installable versions, whilst at other times the REST API can deliver more that the installed versions. You should also be aware that for both MOVEit REST APIs there is a swagger documentation index available, as well as the online documentation.
Hear what Progress predict for 2021! In this on-demand webinar, Principal Solutions Engineer Andrew Lorandos, CISSP, and Product Guru Mark Towler walk you through their predictions in the ever-changing landscape of IT, and discuss how MFT can help you deal with challenges, including: