Have you ever heard of K2 APIs? No importance because precisely in this article we will discover them together. From their activation to their connection to K2
Introduction to APIs
Before going further is what an API? In general, an API would be a clearly delimited facade by which an application offers its functionality (usually in the form of methods) to other applications. So in our case, these are the features that K2 offers. K2 has mainly 3 API categories. the APIs on:
- Workflow
- Smartobjects
- the K2 server
That said, we are going for this article to discover only the Workflow REST API. This API gives us the possibility among other things to start a Workflow, to obtain the list of tasks, to obtain the diagram of a Workflow 😱. Great no? However, how do we activate it?
Enable Workflow REST API
Activation of the Workflow REST API is done on K2 Management: Integration -> APIs -> REST Workflow
After switching the control (activate the Workflow API) you must then click on the “Apply Changes” button. And now, we have activated the API.
For a quick overview of the methods exposed by this API, we will use Swagger
Testing K2 API with Swagger
In the same interface as before, we have a choice of 2 alternatives:
- We copy the link and paste it in a browser of our choice
- We directly open the link with the default browser of our machine
If everything went well so far you should this screen (if not post a message to report the problem
To test a method we click on the category of the method and we have a list of methods that looks like the image below.
This view consists of the method names (and the names of its parameters) on the one hand and the description of the method on the other hand. A click on a method unfolds it and one can have all the details of which the most important are:
- Parameters (values expected by the method for its operation
- Answer messages (or simply the results)
For example, for the Tasks Method, which provides the complete list of tasks (all instances of all workflows with all their associated information, there are no parameters.) Just execute (the Try it out! has the result (or answer)
The answer has several parts
- Curl
- Body
- Code
- Headers
And of course what interests us here is Response Body: the content (body) of the result (of the answer)
In our server there is only one task as indicated by the following result:
Now how to create Smartoject from this API?
Creating Smartobjects from K2 API
To create Smartobjects, of course you have to create the Service Instance from the Service Type REST
We choose the Service Type (obviously REST) then we fill a single value, that of the key Descriptor Location which is also mandatory. This is the full path to the API descriptor. In our case it is: https://k2.denallix.com/api/workflow/preview/swagger/docs
We do Next, then configure the display and system names of the Service Instance and we do Add
The Service Instance has been added successfully and we can now create our Smartobjects on it. For that it will be enough to make a right click on the ServiceObject which interests us in the Service Instance.
You know now, how to use K2 APIs. Stay connected because more detailed articles on using some of these SmartObjects are coming soon !
show empty text boxes with Explore button, when opening swagger link.
Hi Chandra,
Did you allow the K2 API? Are you using K2 five?
Hi There , I am having access denied at swagger URL, using my login. Would you please assist.
Its K2 Five.
Hi,
DId you activate the odata apis ?
Described in the first steps of the article.
Keep us posted !