Goobi workflow has a very comprehensive REST API that can be used to connect external applications and services to Goobi workflow.
Configuring the REST API
This configuration of the REST API is already documented in detail here:
For easy testing, it may be helpful to temporarily adjust the configuration within the configuration file goobi_rest.xml so that all commands can be called from the desired IP range (e.g. for localhost) with a simple password (token). Such an example configuration could look like this:
<?xml version='1.0' encoding='UTF-8'?><config><!-- allow all commands just locally with the token 'test' --> <endpointpath=".*"> <methodname="post"> <allownetmask="0:0:0:0:0:0:0:1/128"token="test"/> <allownetmask="127.0.0.0/8"token="test"/> </method> <methodname="get"> <allownetmask="0:0:0:0:0:0:0:1/128"token="test"/> <allownetmask="127.0.0.0/8"token="test"/> </method> <methodname="put"> <allownetmask="0:0:0:0:0:0:0:1/128"token="test"/> <allownetmask="127.0.0.0/8"token="test"/> </method> </endpoint></config>
Swagger UI as interface description
There is an automated documentation for the REST API of Goobi workflow using Swagger UI. This is a very common interface description that allows developers to interactively try out Goobi workflow's REST API and thus implement a connection between external applications and Goobi workflow.
More information about the possibilities offered by interface documentation via Swagger can be found here:
The interface description can be accessed within Goobi workflow via the menu Administration and allows from here the testing of individual commands directly in the web browser:
To illustrate the functional scope of the REST API of Goobi workflow, here is an insight into the interface documentation in JSON format in a highly abbreviated form. The full current scope of the REST endpoints available depends largely on the Goobi version as well as the REST plugins installed and will differ greatly from the example shown here: