Kerio Developer Zone

  • Kerio Connect

    Part of our mission is to build an open communication and collaboration platform, for administrators and developers to easily access the product and integrate it with third-party solutions. The Administration API for Kerio Connect allows administrators to facilitate their daily work and automate many procedures. With the API, you can create powerful scripts to assist with routine daily tasks.

    Features and Benefits
    • Simple JSON-RPC interface that can be used from any HTTP client
    • Consistent API architecture
    • Many possibilities and uses
    Use Cases
    • Server configuration - users, domains, content filter and more
    • Basic monitoring
    • Access statistics
    • Automation of tasks

    Documentation

    Specifications can be obtained from the product Reference Documentation section of this site.


    Getting Started

    The Kerio API is built on JSON-RPC, whose advantages include ease-of-use, code readability and wide support among different programming languages and publicly available libraries. You can use the PHP library, which we have prepared for you.

    Kerio APIs Client Library for PHP

    Kerio APIs Client Library for PHP (i.e. kerio-api-php) is designed as a layer between user applications and Kerio products. With kerio-api-php, you can easily communicate directly with your server, e.g. Kerio Connect without diving deep into the underlining JSON-RPC architecture. Encapsulation of JSON requests and response is done automatically by the library.

    Environment

    Application can run API on the same machine which operates the Kerio Connect server, or remotely on any other machine. To run kerio-api-php, your host needs:

    • Apache HTTP Server 2.0 or newer
    • PHP 5.1 or newer with OpenSSL and JSON libraries
    Recommended LAMP

    You can download any web development environment, also known as LAMP/WAMP software bundle, such as the examples below:

    Running the Kerio APIs Client Library for PHP

    Manual procedure
    Step 1 - Download the kerio-api-php
    Step 2 - Move the package in your Apache document root, usually "/var/www/html"
    Step 3 - Unzip here the kerio-api-php
    Step 4 - Open your browser and navigate to http://your-server/kerio-api-php

    To try API examples in your existing environment, use the VMware-ready virtual appliance.

  • Kerio Control

    With the Kerio Control Administration API, you can programmatically access your Kerio Control server, integrate it with third-party solutions and write simple scripts to handle advanced administration tasks.

    Connect over HTTPS, send a request in a well-known human-readable format (JSON) and receive a response in the same format.

    Download API Package

    Scope

    The administration API provides all actions that are available in the Kerio Control administration (our internal Kerio Control web administration uses the same API).

    As an example, you can list Traffic Rules, add new Rules, edit HTTP Filters, read Logs, setup Bandwidth Management and much more with this sophisticated API.

    Out of Scope

    The following features are not part of this API:

    • Kerio Control StaR Reports
    • Kerio Control StaR statistics
    • Kerio Control StaR client
    • Kerio Control StaR Web Filter
    • Settings or configuration which is not available in the web administration. The only way is to set the appropriate configuration file.
  • Kerio Operator

    Kerio Operator is based on Asterisk and is configured completely through an easy-to-use web browser interface.

    Even better, you can remotely monitor the Kerio Operator server via SNMP to retrieve information about server utilization and performance, thus having a comprehensive live overview of the phone system status.

    For increased productivity, Kerio Operator can be integrated with CRM systems using AMI (Asterisk Manager Interface). Thus, the CRM system can identify the caller based on phone number and display existing information stored in the system. It allows initiating calls directly from the CRM system or a desktop dialer, updating call notes, monitoring call statuses or viewing call history.

    Visit the Kerio Knowledge Base and see how to connect Kerio Operator with other applications.

  • Kerio and Open Source

    Open source development is a key part of Kerio's software strategy. You may notice a number of third-party software components in our products. By using open source, we are constantly evolving our development techniques, and discovering new code which may later appear in our products. The open source community shares with Kerio, and in return we are able ot help it grow.

    API and SDK

    We believe that openness really matters! Beginning with supporting a number of platforms and protocols, and allowing you to run them with various clients, devices and third-party applications, or by API and SDK end.

    Participation

    Kerio actively participates in a number of open source projects, including Asterisk, Bugzilla, CMake, NetFilter for Windows, PHP, Suricata.

    Join us at GitHubGitHub logo

    In addition to our open source activities we have opened an account at Github, a well-known social coding platform. You can find us under Github.com/Kerio. Join us, fork us or simply use us. Additionally, you can download the SDK from Github.com/Kerio, and follow the instructions there. Use C or C++ to write your plugin, i.e. the code that actually calls the antivirus to scan files. You may distribute your plugin without any royalties.


    Antivirus SDK for Kerio Products

    The SDK includes a public API that can be used to write plugins for third-party antivirus solutions, together with sample plugin source code, ClamAV® plugin source code, and testing binaries. Linux is the supported platform, both for development and as the deployment target.

    If you want to start using the plugin now and skip compilation, we have prepared the Linux plugin in binary form directly for download. Do not worry if you use Windows. Our community took care of it and created the necessary DLL file.

    Clam AntiVirus plugin for Kerio (Linux) Download

    Feedback

    Visit our Kerio forums for help and answers to your questions. Community contributions to the provided code are welcome, please use GitHub facilities to upload your changes for review.

  • Downloads and Documentation

    Note: By downloading the APIs and VMware Virtual Appliance below, you agree to the Kerio SDK End User License Agreement.

    Client Library

    Kerio APIs Client Library for PHP 1.4
    Source Class, Documentation, Examples, Sample Applications
    775 kB
    VMware Virtual Appliance
    Based on Debian GNU/Linux, default root password: kerio
    594 MB

    Kerio Connect

    Administration API for Kerio Connect
    Index list of all interfaces, their methods, and data structures
     

    Kerio Control

    Administration API for Kerio Control
    Access your server, integrate with 3rd-party solutions and handle advanced administration tasks
     

    Kerio Operator

    Provisioning Developer Guide
    318 KB

    Documentation

    The 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. For full JSON-RPC 2.0 specifications, click here.

    Kerio Connect

    Our Web Administration for Kerio Connect uses the same API that is now available to you. 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 calendars or user data are not supported. You can use IMAP/CalDAV/CardDAV protocols instead.

    The API is designed to be accessible for any programming language. Connect over HTTPS, send a request in a well-known human-readable format (JSON) and receive a response in the same format.

    Programming Libraries

    You can also use the Kerio APIs Client Library for PHP for easy integration into your scripts and applications.

    GETTING STARTED
  • Third-Party Tools

    Part of our mission is to build an open communication and collaboration platform, for administrators and developers to easily access our Kerio Connect, Control and Operator products, and integrate them with third-party solutions.

    Featured Third-Party Tools




    Find a Third-Party Tool




    Submit a Third-Party Tool

    To submit a third-party app please email Chris Peluso with an overview and relevant contact details.

    DISCLAIMER: Kerio Technologies provides links to third-party products and websites for your convenience and information only. Not all of these products are tested or endorsed by Kerio Technologies.

  • Code Examples

    We have prepared a pack of code samples to illustrate how our Kerio API can be used.

    Domains

    Get all domains
    Print all domains available on the server.

    Get domains usage
    Monitor how much space each domain uses.

    Users

    Get all users
    Need to overview all users in each domain? No problem.

    Get inactive users
    Too many user accounts? How many of them are inactive? Cut your license expenses.

    Get users with any administrator rights
    One of frequent daily routine. Oh gosh! Are there really so many users with admin rights?

    Get top 10 mailbox usage in each domain
    Getting often out of space? Check this out how to easily get a quick overview of top 10 mailboxes.

    Get users with quota exceeded 90%
    If a user's mailbox exceeds its storage quota, he will not be able to receive emails. List these users.

    Get user's membership
    Sometimes you may need to know where a user belongs. You can see their group, mailing list or resource membership by running this script.

    Check user availability
    Do you want to create a new user and check whether the address is not in conflict with another entity?

    Groups, Aliases, Mailing Lists

    Copy group
    Do you want to create a new group with the same users as in another local group? Run this script.

    Get mailing list members
    So many mailing lists, so many members in. Have you ever wondered how to make a summary?

    This API is in development and not intended for stable use.

    Example

    Get admins
    One of frequent daily routine. Oh gosh! Are there really so many users with admin rights? Who is allowed to see Kerio StaR or dial VPN?

    This API is in development and not intended for stable use.

    General

    Get server info
    Basic product info about license expiration and size, software version and connectivity (network).

    System Health

    Get CPU load info
    See graph of CPU load history (last 24 hours).

    Get memory usage
    See graph of memory consumption history (last 24 hours).

    Get storage usage
    Here you can see how the used hard disk space is occupied by each data types.

    Calls

    Get active calls
    Quick way to see who is calling who.

    Get last 50 calls
    Display the most recently dialed numbers.

    Get dial plan
    Simple address book with all the numbers of extensions, conferences, services. At a single spot.

    Get recordings
    Get recorded calls.