Kerio observes open standards. in building an open communication and collaboration platform, standards played an essential role. It is important for us to create values that are easy to use and consistent over time.
Prior to our users, we do not conceal any part of the API. We do not have private and public APIs. Our Web Administration you may know from Kerio Connect use the same API that is now available to you.
Kerio API is built on solid foundations of JSON-RPC, whose advantages include easy of use code readability and wide support among different programming languages and publicly available libraries.
With the new Administration API for Kerio Connect, you can access your Kerio Connect server, integrate it with third-party solutions, or write simple scripts to handle advanced administration tasks.
Currently, only the Administration API for Kerio Connect is available. Other APIs to manage for example calendars or user data are not supported. You can use IMAP/CalDAV/CardDAV protocols instead.
The API is designed to be accessible from any programming language. You simply connect over HTTPS, send a request in a well-known human-readable format (JSON) and receive a response in the same format. Learn more.
You can also use the Kerio APIs Client Library for PHP for easy integration into your scripts and applications.
All commands and data are transported in JSON protocol (http://www.json.org/, http://en.wikipedia.org/wiki/JSON), a light-weight yet powerful format.
You can find libraries for parsing and generating JSON for most of the popular programming languages.
One of the strengths of JSON is its excellent human readability: it really helps debugging when you clearly see the data.
Here is a short summary of JSON that will help you understand its features and syntax:
JSON supports strings ("like this"), numbers, boolean values (true, false), objects (unordered sets of name:value pairs, like {"name":"Jane", "age":42}), arrays (ordered sets, like [true, false, false, true]).
Structures, such as arrays of objects, can be nested. Some of such structures may also contain other objects or arrays etc. We will use a common notation when referring to parts: users[0].loginName.
Note that we sometimes use empty arrays and objects: [], {}. You must not omit empty parameters to methods (or the "param" object as a whole). This is intentional and helps to catch bugs.
The strings are to be encoded in UTF-8.
JSON allows extra whitespace. We indented the examples for better legibility. Your client application may send requests with or without whitespace. Our server does not include extra whitespace characters in responses in order to save time and bandwidth; you may use third-party formatters (beautifiers) if your debugger does not have one.
Full copy of the JSON-RPC Specification 2.0 you can find here.