Kenesto Auth API

Kenesto Web API provides the same RESTful API that Kenesto web app and Kenesto Drive uses. You can use it for all the same operations for manipulating folders and documents. You must first be registered with Kenesto which means you must have an account in Kenesto to use the API.

Authentication

Your application must use OAuth 2 to authenticate a user and obtain access tokens and refresh tokens. The authentication process has been shown separately later in this document with input and output examples.

Hostname

Currently, the hostname for API calls is app.kenesto.com. It may change in the future.

Input/Output

Kenesto uses JSON as well as XML both for request and response.

Errors

Kenesto returns standard HTTP status codes.

Set User Type

Changes the user type to the specified type (STANDARD | ADMINISTRATOR)

Authentication Example

This sample or example shows Kenesto Web API which is the REST API currently used by the Kenesto Drive™ for authentication, authorization and application operations.

Any call to the API can be done by a regular GET http request and the response can be retrieved in XML or JSON depending on the call arguments.

For a user to have access to Kenesto operations, two requests should be made. Access.svc is the service for authentication and authorization.

Step 1:

https://{kenesto hostname}/Kenesto.Web.API/Access.svc/Authenticate/{method]/{accessToken}?u={username}&p={password}

  1. method: xml or json
  2. accessToken: unique business client identifier (to identify the caller organization allowed to use the API)
  3. username of the user requested to be authenticated
  4. password of the user requested to be authenticated

The response or the output is a structure that has the details required to know if the authentication succeeded and the organizations information to which the user wants to access.

The organization identifier and the token received are used for the Login call to receive a session token that will be used for the rest of the API calls.

Step 2:

https://{kenesto hostname}/Kenesto.Web.API/Access.svc/Login/{method}/{organizationIdentifier}?t={accessToken}

  1. method: xml or json
  2. organizationidentifier: received from the previous call
  3. accessToken: the token from received from previous call.

Sign in

Description: For a user to have access to Kenesto operations, Sign-in Request should be made. Access.svc is the service for authentication and authorization.

The token included in the response is to be used for all subsequent API calls.

Request:

 https://{kenesto hostname}/Kenesto.Web.API/Access.svc/Signin/

Http Method: POST

Content-Typeapplication/json

Parameters:

Name

Type

Required

Description

accessKey

string

yes

Unique business client identifier (to identify the caller organization allowed to use the API. Ask Kenesto for your identifier).

userName

string

yes

Username of the user requested to be authenticated

 

password

string

yes

plain text password of the user requested to be authenticated

URL Example

https://app.kenesto.com/Kenesto.Web.API/Access.svc/Signin

Body Parameters

Body Parameters

{

      “accessKey”:  “739AK06A-0EDD-4A19-BC19-3D6778D08941”,

      “userName”: “[email protected]“,

      “password”:  “123456”

}

Response

Response:

TypeJson Formatted String

ResponseData“: {

        “Oranizations“: {

            “<Organization Name>”: {

                “OrganizationId“:< Organization Id>,

                “Token“: “<Login Token>”

            }

        }

    },

    “ResponseStatus“: “< OK or Failed >”

}

Response Example

Response Example

{

    “ResponseData”: {

        “Oranizations”: {

            “Plastic Supplier Co.”: {

                             “OrganizationId”: 4,

                             “Token”: “010/SoavaK3jQZVj9dJa9jQdm3a1tDipy4/lUq+dssds3dfdfdf97734dfdfsdfsd”

            }

        }

    },

    “ResponseStatus”: “OK”

}

Set User Type

URL: https://{domain}/Kenesto.Web.API/Access.svc/SetUserType

Method: POST

Request Format: JSON

Description:

Changes the user type to the specified type (STANDARD | ADMINISTRATOR)

Parameters:

Name Type Required Description
token string yes A valid session token of an organization administrator or application administrator
companyId long yes The organization number in which the target use is a member of
userId GUID yes The target user identifier
typeCode string yes ADMINISTRATOR | STANDARD
userData string yes User information

URL Example

https://app.kenesto.com/Kenesto.Web.API/Access.svc/SetUserType

Body Parameters

Body Parameters

Request:

{    “token”:”MSm2dDAVJE0PyDFjo8HaCKPjNzI12V2eBwgGDLoWIBXCPFXJjrWEG/waI1OUCbpde2jKYrFWAG8EEXezvn0=”,

    “companyId”:”3″,

    “userId”:”DD662E6D-F71A-1340-9765-5AF62EAE7D5D”,

    “typeCode”:”ADMINISTRATOR”,

    “userData”:””

}

 
Response

Response:

ResponseStatus: OK

{“ResponseStatus”:”OK”,”UserData”:””,”User”:”[email protected]“}

 

ResponseStatus: FAILED

{“ResponseStatus”:”FAILD”,”UserData”:””,”ErrorMessage”:”User was not found in company 3″}