Page tree

SAYMON документация

Skip to end of metadata
Go to start of metadata

SAYMON API belongs to the REpresentational State Transfer (REST) category. It allows to perform "RESTful" operations such as reading, modifying, adding or deletion data from a cloud account or on-site installation.

New methods and their description are constantly added here: https://api.saymon.tech/

What can be done using the SAYMON API?

Every operation available in SAYMON web interface can be implemented with API, for example:

and many more. 

What API commands are allowed?

SAYMON API has been implemented as JSON over HTTP and allows the following REST Commands:

CommandPurpose
GETFetch information about existing items
POSTCreate new items
PUTUpdate and modify existing items
PATCHUpdate and modify existing items
DELETERemove existing items

Access rights

Abilities to access to data or perform actions depends on the permissions available for the SAYMON user account.

Authentication

There are several options which can be used for authentication.

Basic Access Authorization

For example,

  • the account login is login,
  • the password is password,
  • the server is your.server.name.

Basic authentication can be used in order to get info about the account as follows:

curl -v -u login:password -H "Content-Type: application/json" -X GET https://your.server.name/node/api/users/current

Session ID (Cookie)

For example,

  • the account login is login,
  • the password is password,
  • the server is your.server.name.

The system allows to store session ID in Cookies and use the ID in next requests:

curl
curl -v --cookie-jar cookies.txt -H "Content-Type: application/json" -X POST --data '{"login": "login", "password": "password"}' https://your.server.name/node/api/users/session
curl -v --cookie cookies.txt -H "Content-Type: application/json" -X GET https://your.server.name/node/api/users/current
ajax
$.ajax
({
  type: "POST",
  url: "https://your.server.name/node/api/users/session",
  dataType: 'json',
  async: true,
  data:
  {
    "login": "login",
    "password": "password"
  },
  success: function (res){
    console.log('Thanks for your login!'); 
    console.log('Session ID:'+res);
  },
  error: function () {
    console.log('Login failed!');
  }
});

API Key (API Token)

For example, 

  • the account login is login,
  • the password is password,
  • the server is your.server.name.

 In order to obtain an API Token it is necessary to:

  1. Login with these credentials to the system web interface.
  2. Click on the login at the top right corner.
  3. Open the System configuration window

The API token will be available in the field Authorization link:
https://your.server.name/?auth-token=52cc80e1-e2d8-4cff-a242-dfcfb538b585.

It can be used in each request as follows:

curl -v -H "Content-Type: application/json" -X GET https://your.server.name/node/api/users/current?api-token=52cc80e1-e2d8-4cff-a242-dfcfb538b585