Skip to main content
I want to integrate with Coodesh

Are you familiar with our assessment platform's onboarding flow?

Updated over 2 months ago

To integrate with our assessment solution, you need an authentication key to make requests related to a workspace.

The first step to start the integration is to contact our support at [email protected] email and request the creation of an account in our Sandbox environment with the necessary settings so that you can perform the integration tests in a controlled environment.

Our service team will support you during the integration.

Environments

Authentication

In order for you to be able to make the requests, you need a custom header, for example:

Custom Header

Key

Value

X-API-KEY

<Token>

Content-Type

application/json

Flow chart

Understand how the integration flow works

Endpoints

List of assessments

GET /assessments/ats

List of assessments available in the account that makes the request with the authorization.

Answer

[   {      "offset":0,      "total":1,      "limit":150,      "payload":[         {            "assessment_id":"6707e51d867d313ecdd5f456",            "name":"AT - Integração",            "description":"Teste integração ATT",            "default_locale":"pt",            "duration":5,            "duration_unit":"hour",            "questions":[               {                  "name":"Teste básico de lógica",                  "description":"Crie uma classe que possa os métodos abaixo...",                  "type":"freecoding",                  "type_formatted":"Programação livre",                  "level":"beginner",                  "level_formatted":"Iniciante",                  "duration":30,                  "duration_unit":"minute"               },               {                  "name":"Infraestrutura Multiusuários e Multitenant",                  "description":"Solicitar ao candidato que desenhe e explique uma arquitetura...",                  "type":"whiteboard",                  "type_formatted":"Quadro branco",                  "level":"advanced",                  "level_formatted":"Avançado",                  "duration":5,                  "duration_unit":"hour"               }            ]         }      ]   }]

Create an attempt

POST /assessments/ats/attempts

Create an attempt with the selected assessment

{
email (string, required),
name (string, required),
user_id (string, required),
assessment_id (string, required),
company_id (string, required),
job_id (string, required),
callback_url (string, required),
webhook_ul (string, required),
disable_email: (boolean, optional)
}

Request

{
"email": "[email protected]",
"name": "Glaydston User 24",
"user_id": "b12002e0-afc4-11ee-ac51-1fb9ace11428",
"company_id": "d5cf6e60-f2f5-11e7-9747-838fbc80281c",
"assessment_id": "66db51bd1df871f6747fa6cb",
"job_id": "54046020-aec4-11ee-a01d-174ac5115722",
"callback_url": "https://empresa.seuats.com",
"webhook_url": "https://api.seuats.com",
"disable_email": true
}

Response

{
"attempt_id": "66df68adc308c0ef4ee945f7",
"attempt_url": "https://beta.coodesh.com/pt/assessments/1725650303604?user_token=validToken"
}

Get a result

GET /assessments/ats/attempts/{attemptId}

Get the result of an assessment using the attempt identifier

Response

{
"title":"Fullstack Developer React.js",
"status":"invited",
"status_formatted":"Convidado",
"stage":"none",
"stage_formatted":"Sem avaliação",
"description":"Este é o resultado da sua avaliação Fullstack Developer React.js",
"score": 6,
"score_type":"percentage",
"invited":"2024-09-26T18:47:50.185Z",
"started":"2024-09-26T18:47:50.179Z",
"updated":"2024-09-26T18:51:09.457Z",
"finished":"2024-09-26T18:50:25.575Z",
"public_link":"https://beta.coodesh.com/pt/share/assessments/66df68adc308c0ef4ee945f7?accessToken=NjZkZjY4YWRjMzA4YzBlZjRlZTk0NWY3MC43NzA0OTI1ODAxMTU1NzE1",
"provider_name":"Coodesh",
"provider_link":"https://beta.coodesh.com",
"results":[
{
"score": 6,
"title":"Fullstack Developer React.js",
"score_type":"percentage",
"date":"2024-09-09"
}
],
"company_result_string":"User 24 obteve 0% de aproveitamento na avaliação Fullstack Developer React.js.\nTestes:\n\nEnviada em: 18:30 09 set, 2024 GMT-03:00\nFinalizado em: 18:30 09 set, 2024 GMT-03:00\nRelatório: https://beta.coodesh.com/pt/share/assessments/66df68adc308c0ef4ee945f7?accessToken=validToken"
}

WebHook

To integrate the states of the evaluation attempts into your system, you can use the following statuses:

  • Started: Indicates that the employee has started the assessment but has not yet completed it.

  • Expired: It means that the deadline for completing the evaluation has been exceeded without the employee completing it.

  • Finished: It points out that the employee has completed the evaluation and the results are available.

With each change in the state of an attempt, our system will trigger the webhook_url one provided during the creation of the attempt, sending the data corresponding to the new state.

Below are examples of data objects corresponding to each state:

Started

{
"title": "Frontend challenge 2024",
"status": "started",
"status_formatted": "Iniciado",
"invited": "2024-09-26T18:47:50.183Z",
"started": "2024-09-26T18:47:50.179Z",
"updated": "2024-09-26T18:51:09.457Z",
"provider_name": "Coodesh",
"provider_link": "https://beta.coodesh.com"
}

Expired

{
"title": "Frontend challenge 2024",
"status": "expired",
"status_formatted": "Expirado",
"invited": "2024-09-26T18:47:50.183Z",
"started": "2024-09-26T18:47:50.179Z",
"updated": "2024-09-26T18:51:09.457Z",
"expired": "2024-09-26T18:50:25.575Z",
"provider_name": "Coodesh",
"provider_link": "https://beta.coodesh.com"
}

Finished

{
"title": "Frontend challenge 2024",
"status": "finished",
"status_formatted": "Finalizado",
"description": "Este é o resultado da sua avaliação Frontend challenge 2024",
"score": 6,
"score_type": "percentage",
"invited": "2024-09-26T18:47:50.183Z",
"started": "2024-09-26T18:47:50.179Z",
"updated": "2024-09-26T18:51:09.457Z",
"finished": "2024-09-26T18:50:25.575Z",
"public_link": "https://beta.coodesh.com/pt/share/assessments/66f5ac56ae3c56e39cbcd0c4?accessToken=NjZmNWFjNTZhZTNjNTZlMzljYmNkMGM0MC4xOTk3NzE5NzQzMzk3NDIzNg",
"provider_name": "Coodesh",
"provider_link": "https://beta.coodesh.com",
"results": [
{
"score": 6,
"title": "Frontend challenge 2024",
"score_type": "percentage",
"date": "2024-09-26"
}
],
"company_result_string": "Dexter Morgan obteve 6% de aproveitamento na avaliação Frontend challenge 2024.\nTestes:\n0% - Questão 1 - Questionário\n0% - Questão 2 - Programação\nEnviada em: 15:14 28 nov, 2024 GMT-03:00\nFinalizado em: 15:50 26 set, 2024 GMT-03:00\nRelatório: https://beta.coodesh.com/pt/share/assessments/66f5ac56ae3c56e39cbcd0c4?accessToken=NjZmNWFjNTZhZTNjNTZlMzljYmNkMGM0MC4xOTk3NzE5NzQzMzk3NDIzNg"
}

These examples illustrate how the different states of trial attempts can be represented in your system.

Error Codes

400 - Bad Request

Data submitted incorrectly or out of standard.

401 - Unauthorized

Enter the authorization token to make the desired request.

403 - Forbidden

Not authorized enough to access the desired resource.

429 - Too Many Requests

Maximum limit of requests reached.

500 - Internal Server Error

Indicates execution error on the server.

Did this answer your question?