Skip to main content
I want to integrate with Coodesh

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

Updated this week

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?