The CrossKnowledge Learner API Web-services is built on HTTP REST pattern
POST    API/v1/REST/learner/login version 1.0

Endpoint : API/v1/REST/learner/login.json

Description:

This web-service authenticates the learner by creating a HTTP Session object on the server. As long as this HTTP Session is available, you’ll be able to make web-services call out to get the data of the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
'cache-control' => 'no-cache',
'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
	"login" => "john.doe",
	"password" => "iamjohndoethevegan" //Your data here.
));

try {
$response = $request->send();

echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}


HttpResponse  response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json")
.header("content-type", "application/x-www-form-urlencoded")
.header("cache-control", "no-cache")
.body("login=john.doe&password=iamjohndoethevegan") //Your data here.
.asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "login=john.doe&password=iamjohndoethevegan", ParameterType.RequestBody); //Your data here.
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "login=john.doe&password=iamjohndoethevegan" //Your data here.

headers = {
	'content-type': "application/x-www-form-urlencoded",
	'cache-control': "no-cache",
	}

conn.request("POST", "/API/v1/REST/Learner/login.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {"login" : "john.doe", "password" : "iamjohndoethevegan"}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST    API/v1/REST/learner/mobileLogin version 1.0

Endpoint : API/v1/REST/learner/mobileLogin.json

Description:

This web-service authenticates the learner by creating a HTTP Session object on the server. As long as this HTTP Session is available, you’ll be able to make web-services call out to get the data of the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
'cache-control' => 'no-cache',
'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
	"login" => "john.doe",
	"password" => "iamjohndoethevegan", //Your data here.
	"deviceId" => "kale1"
));

try {
$response = $request->send();

echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}


HttpResponse</span> response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json")
.header("content-type", "application/x-www-form-urlencoded")
.header("cache-control", "no-cache")
.body("login=john.doe&password=iamjohndoethevegan&deviceId=kale1") //Your data here.
.asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "login=john.doe&password=iamjohndoethevegan&deviceId=kale1", ParameterType.RequestBody); //Your data here.
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "login=john.doe&password=iamjohndoethevegan&deviceId=kale1" //Your data here.

headers = {
	'content-type': "application/x-www-form-urlencoded",
	'cache-control': "no-cache",
	}

conn.request("POST", "/API/v1/REST/Learner/mobileLogin.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache",
  },
  "data": {"login" : "john.doe", "password" : "iamjohndoethevegan", "deviceId" : "kale1"}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

DELETE    API/v1/REST/learner/login version 1.0

Endpoint : API/v1/REST/learner/login.json

Description:

This web-service logs out the learner by killing a HTTP Session object on the server.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.delete("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json")
.header("content-type", "application/x-www-form-urlencoded")
.header("cache-control", "no-cache")
.asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = ""

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("DELETE", "/API/v1/REST/Learner/login.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json",
  "method": "DELETE",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

DELETE    API/v1/REST/learner/mobileLogin version 1.0

Endpoint : API/v1/REST/Learner/mobileLogin.json

Description:

This web-service logs out the learner by killing a HTTP Session object on the server.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.delete("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json")
.header("content-type", "application/x-www-form-urlencoded")
.header("cache-control", "no-cache")
.asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = ""

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("DELETE", "/API/v1/REST/Learner/mobileLogin.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/mobileLogin.json",
  "method": "DELETE",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/learner/profile version 1.0

Endpoint : API/v1/REST/Learner/profile.json

Description:

This web-service allow to get the profile information of the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/profile.json');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'learnerLogin' => 'john.doe' //Your data here.
));

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/profile.json?learnerLogin=")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/profile.json?learnerLogin=richard.roe");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/Learner/profile.json?learnerLogin=richard.roe", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/profile.json?learnerLogin=richard.roe",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/learner/manager version 1.0

Endpoint : API/v1/REST/Learner/manager.json

Description:

This web service returns learner’s managing information. It returns the active managers IDs of the authenticated learner as stored in CrossKnowledge database.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/manager.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}ho $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/manager.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/manager.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/Learner/manager.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/manager.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/learner/subordinates version 1.0

Endpoint : API/v1/REST/Learner/subordinates.json

Description:

This web service returns learner’s managing information. It inherits from Manager as it returns the active subordinates IDs of the authenticated learner as stored in CrossKnowledge database.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Learner/subordinates.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/login.json")
.header("content-type", "application/x-www-form-urlencoded")
.header("cache-control", "no-cache")
.body("") //Your data here.
.asString();


HttpResponse response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Learner/subordinates.json")
  .header("cache-control", "no-cache")
  .asString();


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/Learner/subordinates.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Learner/subordinates.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/learner/Discussions/list version 1.0

Endpoint : API/v1/REST/Discussions/list.json

Description:

Returns available discussions of the connected learner and their comments. The discussions are returned from the newest to the oldest, accordingly to their visibility and the optionnal filter on context. Comments for a given discussion are returned from the newest to the oldest as well.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache",
    }

conn.request("GET", "/API/v1/REST/Discussions/list.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache",
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

PUT  API/v1/REST/Discussions/Comments/{commentId} version 1.0

Endpoint : API/v1/REST/Discussions/comments.json

Description:

This web service allow the authenticated learner to like a comment.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Comments/277.json');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  'like' => '1' //Your data here.
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.put("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Comments/277.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("like=1")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Comments/277.json");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "like=1", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "like=1"

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("PUT", "/API/v1/REST/Discussions/Comments/277.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Comments/277.json",
  "method": "PUT",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {
    "like": "1"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST  API/v1/REST/Discussions/list.json version 1.0

Endpoint : API/v1/REST/Discussions/list.json

Description:

This web service allows the authenticated learner to create a new discussion with a new (first) post associated.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  "context" => "TrainingSession",
  "contextGuid" => "392570F0-ACC7-CE4F-363B-XXXXXXX",
  "comment" => "Bos Taurus.",
  "title" => "vegan beast"		//Your data here.
  
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("context=TrainingSession&contextGuid=392570F0-ACC7-CE4F-363B-XXXXXXX&comment=Bos Taurus&title=Vegan Beast")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "context=TrainingSession&contextGuid=392570F0-ACC7-CE4F-363B-XXXXXXX&comment=Bos Taurus&title=Vegan Beast", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);;


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "context=TrainingSession&contextGuid=392570F0-ACC7-CE4F-363B-XXXXXXX&comment=Bos Taurus&title=Vegan Beast";

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/API/v1/REST/Discussions/list.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/list.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
	},
  "data": {"context" : "TrainingSession", "contextGuid" : "392570F0-ACC7-CE4F-363B-XXXXXXX", "comment" : "Bos Taurus", "title" : "Vegan Beast"}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/Discussions/{discussionId}.json version 1.0

Endpoint : API/v1/REST/Discussions/{discussionId}.json

Description:

This web service allow to get all the comments of a given discussion available for a learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/193.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/193.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/193.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/Discussions/193.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/193.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST  API/v1/REST/Discussions/{discussionId}.json version 1.0

Endpoint : API/v1/REST/Discussions/{discussionId}.json

Description:

This web service allow to update a given discussion available for a learner by adding a new comment.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/197.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  "comment" => "Bos Taurus"
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/197.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("comment=Bos Taurus")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/197.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "comment=Bos Taurus", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "comment=Bos Taurus"

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/API/v1/REST/Discussions/197.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/197.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {"comment" : "Bos Taurus"}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST  API/v1/REST/Discussions/Follow/{discussionId}.json version 1.0

Endpoint : API/v1/REST/Discussions/Follow/{discussionId}.json

Description:

This web service allow to follow a given discussion available for the authenticated learner by adding a new comment.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Follow/199.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  "follow" => 1
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Follow/199.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("follow=1")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Follow/199.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "follow=1", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "follow=1"

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/API/v1/REST/Discussions/Follow/199.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Discussions/Follow/199.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {"follow" : 1}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/Trainings/list version 1.0

Endpoint : API/v1/REST/Trainings/list.json

Description:

This web-service allow to get the trainings information available for the authenticated learner.



$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Trainings/list.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Trainings/list.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Trainings/list.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/Trainings/list.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Trainings/list.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache",
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/TrainingSessions/list version 1.0

Endpoint : API/v1/REST/TrainingSessions/list.json

Description:

This web-service allow to get the training sessions information available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/TrainingSessions/list.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/TrainingSessions/list.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/TrainingSessions/list.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/TrainingSessions/list.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/TrainingSessions/list.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache",
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/LearningObjects/list version 1.0

Endpoint : API/v1/REST/LearningObjects/list.json

Description:

This web-service allow to get the learning objects (content) information available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/list.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/list.json")
  .header("cache-control", "no-cache")
  .asString();;


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/list.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/LearningObjects/list.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/list.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/LearningObjects/item version 1.0

Endpoint : API/v1/REST/LearningObjects/{learningObjectItemId}.json

Description:

This web-service allow to get a learning object (content) information available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'locale' => 'en-GB'
));

$request->setHeaders(array(
  'postman-token' => '6c2f9a9a-2b5e-30b2-b2b5-9a11b8520be4'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json?locale=en-GB")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json?locale=en-GB");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/LearningObjects/32439.json?locale=en-GB", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json?locale=en-GB",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST  API/v1/REST/LearningObjects/item version 1.0

Endpoint : API/v1/REST/LearningObjects/{learningObjectItemId}.json

Description:

This web-service allow to set vote or add to favourite a learning object (content) available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
	"vote" => 4,
	"favourite" => 0
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("vote=4&favourite=1")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "vote=4&favourite=1", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "vote=4&favourite=1"

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/API/v1/REST/LearningObjects/32439.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/32439.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": {"vote" : 4, "favourite" : 1}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/LearningObjects/themes version 1.0

Endpoint : API/v1/REST/LearningObjects/themes.json

Description:

This web-service allow to get the learning objects (content) themes list available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/themes.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/themes.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/themes.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/LearningObjects/themes.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/themes.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/LearningObjects/types version 1.0

Endpoint : API/v1/REST/LearningObjects/types.json

Description:

This web-service allow to get the learning objects (content) types list available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/types.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/types.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/types.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/LearningObjects/types.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/types.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/LearningObjects/Download/item version 1.0

Endpoint : API/v1/REST/LearningObjects/Download/{learningObjectItemId}.json

Description:

This web-service allow to download locally (mobile device) the learning objects (content) available for the authenticated learner for offline access.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/Download/32439.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/Download/32439.json")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/Download/32439.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = ""

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/LearningObjects/Download/32439.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/LearningObjects/Download/32439.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  },
  "data": {}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/PathSessionFolders/list version 1.0

Endpoint : API/v1/REST/PathSessionFolders/list.json

Description:

This web-service allow to get the training session’s folders available for the authenticated learner for offline access.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/PathSessionFolders/list.json');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'sessionGuid' => '392570F0-ACC7-CE4F-363B-XXXXXXXX'
));

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/PathSessionFolders/list.json?sessionGuid=392570F0-ACC7-CE4F-363B-XXXXXXXX")
  .header("cache-control", "no-cache")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/PathSessionFolders/list.json?sessionGuid=392570F0-ACC7-CE4F-363B-XXXXXXXX");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/PathSessionFolders/list.json?sessionGuid=392570F0-ACC7-CE4F-363B-XXXXX", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/PathSessionFolders/list.json?sessionGuid=392570F0-ACC7-CE4F-363B-4XXXXXXXXX",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST  API/v1/REST/Trackings/list version 1.0

Endpoint : API/v1/REST/Trackings/list.json

Description:

This web-service allow to Create/Retrieve/Update learning objects tracking lines available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/list.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(
	
	//Your data here.
);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/list.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("") //Your data here.
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/list.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "", ParameterType.RequestBody); //Your data here.

IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "" //Your data here.

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/API/v1/REST/Trackings/list.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/list.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache"
  },
  "data": "" //Your data here.
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET  API/v1/REST/Trackings/item version 1.0

Endpoint : API/v1/REST/Trackings/{trackingId}.json

Description:

This web-service allow to retrieve a learning object tracking row available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/26116.json');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.get("https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/26116.json")
  .header("cache-control", "no-cache")
  .asString();;


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/26116.json");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

headers = {
    'cache-control': "no-cache"
    }

conn.request("GET", "/API/v1/REST/Trackings/26116.json", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/26116.json",
  "method": "GET",
  "headers": {
    "cache-control": "no-cache"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST  API/v1/REST/Trackings/item version 1.0

Endpoint : API/v1/REST/Trackings/item.json

Description:

This web-service allow to create or update a learning object exsiting tracking row available for the authenticated learner.


$request = new HttpRequest();
$request->setUrl('https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/item.json');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  "trackingId" => 26116,
  "progression" => 100,
  "score" => 100,
  "firstLaunchTime" => "2018-03-28 10:40:38",
  "completionTime" => "2018-03-31 10:40:38",
  "sessionTimeSpent" => "3600"
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}


HttpResponse</span> response = Unirest.post("https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/item.json")
  .header("content-type", "application/x-www-form-urlencoded")
  .header("cache-control", "no-cache")
  .body("trackingId=26116&progression=100&score=100&firstLaunchTime=2018-03-28%2010%3A40%3A38&completionTime=2018-03-31%2010%3A40%3A38&sessionTimeSpent=3600")
  .asString();


var client = new RestClient("https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/item.json");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "trackingId=26116&progression=100&score=100&firstLaunchTime=2018-03-28%2010%3A40%3A38&completionTime=2018-03-31%2010%3A40%3A38&sessionTimeSpent=3600", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);


import http.client

conn = http.client.HTTPSConnection("yourdomain.crossknowledge.com")

payload = "trackingId=26116&progression=100&score=100&firstLaunchTime=2018-03-28%2010%3A40%3A38&completionTime=2018-03-31%2010%3A40%3A38&sessionTimeSpent=3600"

headers = {
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

conn.request("POST", "/API/v1/REST/Trackings/item.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))


var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://yourdomain.crossknowledge.com/API/v1/REST/Trackings/item.json",
  "method": "POST",
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
    "cache-control": "no-cache",
    "postman-token": "88c9f118-6087-da5f-5d93-803251a19fff"
  },
  "data": {
	"trackingId" : "26116",
	"sessionTimeSpent" : 3600,
	"score" : "100",
	"sessionTimeSpent" : "3600",
    "firstLaunchTime": "2018-03-28 10:40:38",
    "completionTime": "2018-03-31 10:40:38"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});