A simple RESTful JSON web API to create and manage A2E assessments.
Your Access Token (or API Key) is available in the Account Administration section.
URL:
https://us.esherhouse.org/v2/assessments
HTTP Method:
POST
Parameters:
HTTP Code:
200 OK
Content:
{ "assessment": { "token": "qRddQPQ8oQTohTxxh4fXSTXC", "stage": null, "rating": "N/A", "probability": "N/A", "completed_at": null, "created_at": "2024-11-21 00:00:00 UTC", "updated_at": "2024-11-21 00:00:00 UTC", "organisation_credit_balance": 1, "creator": { "email": "example@example.com", "first_name": "George", "surname": "Jungle" }, "jobseeker_id": "10000001", "jobseeker_name": "Jane", "scores": null, "site": { "name": "Sydney" }, "assessment_type": { "name": "Type" }, "status": "Not Completed", "exercise": null, "exercises": [ ] } }
HTTP Code:
401 Unauthorized
Content:
nil
curl -H "Content-Type: application/json" -X POST --data '{"access_token": "ND1sSWNNmXgut8u2P7W6wwby","type":"Education"}' "https://us.esherhouse.org/v2/assessments"
URL:
https://us.esherhouse.org/v2/assessments/{token}
HTTP Method:
GET
Parameters:
HTTP Code:
200 OK
Content:
{ "assessment": { "token": "qRddQPQ8oQTohTxxh4fXSTXC", "stage": null, "rating": "N/A", "probability": "23%", "completed_at": "2024-11-21 07:36:03 UTC", "created_at": "2024-11-21 00:00:00 UTC", "updated_at": "2024-11-21 00:00:00 UTC", "organisation_credit_balance": 1, "creator": { "email": "example@example.com", "first_name": "George", "surname": "Jungle" }, "jobseeker_id": "10000001", "jobseeker_name": "Jane", "scores": { "total_matrix_points": 23 }, "site": { "name": "Sydney" }, "assessment_type": { "name": "Type" }, "status": "Completed", "exercise": null, "exercises": [ { "name": "HIGHLY LIKELY TO SUCCEED", "path": "/exercise/xxxExamplexxx", "answers_url": null, "percentage_completed": 0, "completed_at": null, "due_on": "2025-01-02", "motivation": "Doing this will make you a better person." } ] } }
HTTP Code:
401 Unauthorized
Content:
nil
HTTP Code:
404 Not Found
Content:
{"error":"RecordNotFound"}
curl -H "Content-Type: application/json" -X GET --data '{"access_token": "ND1sSWNNmXgut8u2P7W6wwby"}' "https://us.esherhouse.org/v2/assessments/qRddQPQ8oQTohTxxh4fXSTXC"
URL:
https://us.esherhouse.org/v2/assessments/?created_at[from]={from_date}&created_at[to]={to_date}
HTTP Method:
GET
Parameters:
HTTP Code:
200 OK
Content:
{ "assessments": [ { "token": "qRddQPQ8oQTohTxxh4fXSTXC", "stage": null, "rating": "N/A", "probability": "23%", "completed_at": "2024-11-21 07:36:03 UTC", "created_at": "2024-11-21 00:00:00 UTC", "updated_at": "2024-11-21 00:00:00 UTC", "organisation_credit_balance": 1, "creator": { "email": "example@example.com", "first_name": "George", "surname": "Jungle" }, "jobseeker_id": "10000001", "jobseeker_name": "Jane", "scores": { "total_matrix_points": 23 }, "site": { "name": "Sydney" }, "assessment_type": { "name": "Type" }, "status": "Completed", "exercise": null, "exercises": [ { "name": "HIGHLY LIKELY TO SUCCEED", "path": "/exercise/xxxExamplexxx", "answers_url": null, "percentage_completed": 0, "completed_at": null, "due_on": "2025-01-02", "motivation": "Doing this will make you a better person." } ] } ] }
HTTP Code:
401 Unauthorized
Content:
nil
curl -H "Content-Type: application/json" -X GET --data '{"access_token": "ND1sSWNNmXgut8u2P7W6wwby", "per_page": 10, "created_at": { "from": "2017-01-01", "to": "2018-01-01"}}' "https://us.esherhouse.org/v2/assessments"
When an assessment is completed we will send an immediate callback to the URL nominated for your organistation during setup.
The callback content is the finished assessment record encrypted as a JSON Web Token.
Content:
{"jwt":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhc3Nlc3NtZW50Ijp7InRva2VuIjoiWXlURDVMSmNFa0NjYVNyTjVIdFoyem1LIiwic3RhZ2UiOiJVbnJlZmxlY3RpdmVBY3Rpb24iLCJyYXRpbmciOiJTaWx2ZXIiLCJjb21wbGV0ZWRfYXQiOiIyMDE3LTAzLTAzIDAzOjI3OjAyIFVUQyIsImNyZWF0ZWRfYXQiOiIyMDE3LTAzLTAzIDAzOjI2OjI4IFVUQyIsInVwZGF0ZWRfYXQiOiIyMDE3LTAzLTAzIDAzOjI3OjAyIFVUQyIsIm9yZ2FuaXNhdGlvbl9jcmVkaXRfYmFsYW5jZSI6OTk5OTk5MX19.iv6auvL7pRzSHcUcLV0I3Z_caAllVSxLQG16l0KDrX4"}
The JSON Web Token can be validated using your Access Token and the HS256 algorithm.
Sample Ruby Code:
# using https://github.com/jwt/ruby-jwt require 'jwt' JWT.decode(params[:jwt], ENV['API_KEY'], true, { algorithm: 'HS256' }) =>[{"assessment":{"token":"qRddQPQ8oQTohTxxh4fXSTXC","stage":null,"rating":"N/A","probability":"23%","completed_at":"2024-11-21T07:36:03.415Z","created_at":"2024-11-21T00:00:00.000Z","updated_at":"2024-11-21T00:00:00.000Z","organisation_credit_balance":1,"creator":{"email":"example@example.com","first_name":"George","surname":"Jungle"},"jobseeker_id":"10000001","jobseeker_name":"Jane","scores":{"total_matrix_points":23},"site":{"name":"Sydney"},"assessment_type":{"name":"Type"},"status":"Completed","exercise":null,"exercises":[{"name":"HIGHLY LIKELY TO SUCCEED","path":"/exercise/xxxExamplexxx","answers_url":null,"percentage_completed":0,"completed_at":null,"due_on":"2025-01-02","motivation":"Doing this will make you a better person."}]}},{"alg":"HS256"}]
URL:
https://us.esherhouse.org/v2/organisation
HTTP Method:
GET
Parameters:
HTTP Code:
200 OK
Content:
{"organisation":{"name":"Master","credit_count":100,"callback_url":"","assessment_types":["Workers Compensation","PaTH"],"created_at":"2018-04-09T16:26:55.102+10:00","updated_at":"2018-04-12T14:12:30.973+10:00"}}%
HTTP Code:
401 Unauthorized
Content:
nil
curl -H "Content-Type: application/json" -X GET --data '{"access_token": "ND1sSWNNmXgut8u2P7W6wwby"}' "https://us.esherhouse.org/v2/organisation"
URL:
https://us.esherhouse.org/v2/organisation
HTTP Method:
PUT
Parameters:
HTTP Code:
200 OK
Content:
{ "organisation": { "name": null, "credit_count": 1, "callback_url": "https://my.site/callback", "assessment_types": [ ], "errors": { }, "created_at": "2024-11-21 00:00:00 UTC", "updated_at": "2024-11-21 00:00:00 UTC" } }
HTTP Code:
422 Unprocessable Entity
Content:
{ "organisation": { "name": null, "credit_count": 1, "callback_url": "https://my.site/callback", "assessment_types": [ ], "errors": { "callback_url": [ "is invalid" ] }, "created_at": "2024-11-21 00:00:00 UTC", "updated_at": "2024-11-21 00:00:00 UTC" } }
curl -H "Content-Type: application/json" -X PUT --data '{"access_token":"ND1sSWNNmXgut8u2P7W6wwby","organisation":{"callback_url":"https://my.site/callback"}}' "https://us.esherhouse.org/v2/organisation"
Coaching Guide is available when an assessment is completed.
URL:
https://us.esherhouse.org/v2/assessments/{token}/coaching_guide
HTTP Method:
GET
Parameters:
HTTP Code:
200 OK
Content:
{"path":"coaching_guide_path","error":""}
HTTP Code:
401 Unauthorized
Content:
nil
HTTP Code:
404 Not Found
Content:
{"path":"","error":"Coaching Guide is not available"}
curl -H "Content-Type: application/json" -X GET --data '{"access_token": "ND1sSWNNmXgut8u2P7W6wwby"}' "https://us.esherhouse.org/v2/assessments/qRddQPQ8oQTohTxxh4fXSTXC/coaching_guide"
Assessment Attachment is available whether an assessment is completed or not and if it was uploaded by admin(glo).
URL:
https://us.esherhouse.org/v2/assessments/{token}/attachment
HTTP Method:
GET
Parameters:
HTTP Code:
200 OK
Content:
{"path":"assessment_attachment_path",}
HTTP Code:
401 Unauthorized
Content:
nil
HTTP Code:
404 Not Found
Content:
{"error":"Attachment is not available"}
curl -H "Content-Type: application/json" -X GET --data '{"access_token": "MQvCGNFqxWeURhtHRt43ySa0", "attachment_name": "Some Attachment Name"}' "https://us.esherhouse.org/v2/assessments/qRddQPQ8oQTohTxxh4fXSTXC/attachment"