InDefero API (Application Programming Interface)

At the moment, this documentation is only available in English.

How to access the API?

The API is a REST API and you can access it by using the same URL you are using for the web interface but with the /api/ prefix.

For example, if you access a project with the URL http://www.example.com/p/myproject/, you have the following API URLs available:

  • http://www.example.com/api/p/myproject/issues/: list the open issues.
  • http://www.example.com/api/p/myproject/issues/create/: create a new issue.

The answer you get is JSON and UTF-8 encoded.

How to authenticate the queries?

Authentication is really simple and is optional. If you do not authenticate your queries, you will have the same rights as an anonymous user visiting the normal web interface.

To authenticate your query, you need to provide 3 parameters to your requests, the parameters are the followings:

  • _login: your login.
  • _salt: a random salt string.
  • _hash: the sha1 hash created from the concatenation of the random salt string and the API key.

Please note that the 3 parameters are all starting with the underscore "_" character.

An example of PHP code to generate the _hash value is:

<?php 
$api_key = '1234567890abcdefghijklmnopqrstuvwxyz';
$_salt = rand(10000, 999999);
$_hash = sha1($_salt.$api_key);
echo sprintf("_salt: %s\n", $_salt);
echo sprintf("_hash: %s\n", $_hash);
?>

If you replace the string '123...xyz' with your own API key and execute this script, you will have as output something like that:

_salt: 123456
_hash: 1357924680acegikmoqsuwybdfhjlnprtvxz

Together with your login, you will be able to use those values to authenticate a query.