Skip to content

Avaliações ​

As avaliações (scorecards) registram o parecer de cada membro do time sobre uma candidatura, geralmente após uma entrevista. Cada avaliação tem nota (rating) de 1 a 5, uma recomendação, critérios estruturados em um objeto livre e um comentário.

O autor da avaliação é sempre o usuário autenticado. A mesma combinação de usuário e entrevista comporta apenas um scorecard: reenviar uma avaliação com atsInterviewId já avaliado atualiza o registro existente (upsert). A edição e a exclusão são permitidas ao autor ou a usuários owner/admin.

Headers obrigatórios

Todas as requisições devem incluir o header X-Ats-Id (UUID) com o identificador da instância ATS, além de Authorization: Bearer {token} (guard atsUser).


Estrutura de Dados Principal ​

Uma avaliação contém as seguintes informações principais:

CampoTipoDescrição
atsApplicationIdNumberID da candidatura avaliada.
atsInterviewIdNumberID da entrevista associada (opcional).
atsUserIdNumberID do autor (sempre o usuário autenticado).
ratingNumberNota de 1 a 5 (opcional).
recommendationEnumRecomendação: strong_no, no, neutral, yes ou strong_yes.
criteriaObjectCritérios de avaliação em formato livre (ex.: notas por competência).
commentStringComentário do avaliador.

Listar Avaliações de uma Candidatura ​

Lista as avaliações de uma candidatura, com paginação. O parâmetro atsApplicationId é obrigatório.

http
GET /v1/ats/user/evaluations

Parâmetros de Query ​

NomeTipoObrigatórioDescrição
atsApplicationIdnumberSimID da candidatura (deve existir na instância).
pagenumberNãoO número da página (mínimo: 1).
perPagenumberNãoItens por página (entre 1 e 100).

Exemplo de Requisição ​

bash
curl -X GET "https://api.us.basis.tavares.in/v1/ats/user/evaluations?atsApplicationId=1&page=1&perPage=25" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Accept: application/json"

Respostas ​

200 OK

Retorna um objeto de paginação contendo as avaliações da candidatura, com o autor (atsUser) e a entrevista associada (atsInterview).

json
{
  "meta": {
    "currentPage": 1,
    "perPage": 25
  },
  "data": [
    {
      "id": 1,
      "atsId": 1,
      "atsApplicationId": 1,
      "atsInterviewId": 1,
      "atsUserId": 1,
      "rating": 4,
      "recommendation": "yes",
      "criteria": {
        "comunicacao": 4,
        "fitCultural": 4,
        "conhecimentoTecnico": 5,
        "experienciaRelevante": 3
      },
      "comment": "Candidato com ótimo domínio técnico de Node.js e TypeScript. Comunicação clara e boa postura durante a entrevista. Recomendo avançar para a próxima etapa.",
      "createdAt": "2026-09-11T00:24:24.143-03:00",
      "updatedAt": "2026-09-11T00:24:24.143-03:00",
      "atsUser": {
        "id": 1,
        "firstName": "John",
        "lastName": "Doe (updated)"
      },
      "atsInterview": null
    }
  ]
}

404 Not Found

Ocorre quando a candidatura informada não existe na instância.

Criar Avaliação ​

Registra o scorecard do usuário autenticado para uma candidatura. Ao enviar atsInterviewId, a combinação usuário + entrevista é única: se já existir uma avaliação sua para aquela entrevista, ela é atualizada em vez de duplicada.

http
POST /v1/ats/user/evaluations

Payload (Body) ​

AtributoTipoObrigatórioDescrição
atsApplicationIdnumberSimID da candidatura (deve existir na instância).
atsInterviewIdnumberNãoID da entrevista associada (deve existir na instância). Ativa o comportamento de upsert por usuário/entrevista.
ratingnumberNãoNota de 1 a 5.
recommendationenumSimRecomendação: strong_no, no, neutral, yes ou strong_yes.
criteriaobjectNãoCritérios de avaliação em formato livre (objeto JSON).
commentstringNãoComentário do avaliador.

Exemplo de Requisição ​

bash
curl -X POST "https://api.us.basis.tavares.in/v1/ats/user/evaluations" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "atsApplicationId": 1,
    "atsInterviewId": 1,
    "rating": 4,
    "recommendation": "yes",
    "criteria": {
      "comunicacao": 4,
      "conhecimentoTecnico": 5,
      "fitCultural": 4,
      "experienciaRelevante": 3
    },
    "comment": "Candidato com ótimo domínio técnico de Node.js e TypeScript. Comunicação clara e boa postura durante a entrevista. Recomendo avançar para a próxima etapa."
  }'

Respostas ​

201 Created

Retorna o ID da avaliação criada (ou atualizada, no caso de upsert).

json
{
  "id": 1
}

403 Forbidden

Ocorre quando o usuário não tem papel de gestão ou interviewer na empresa da vaga.

json
{
  "message": "Você não tem permissão para realizar esta ação",
  "code": "FORBIDDEN"
}

Atualizar Avaliação ​

Atualiza uma avaliação existente. Permitido apenas ao autor da avaliação ou a usuários owner/admin.

http
PUT /v1/ats/user/evaluations/:id

Parâmetros de Rota ​

NomeTipoObrigatórioDescrição
idnumberSimO ID da avaliação.

Payload (Body) ​

Aceita os mesmos campos da criação, todos opcionais: rating, recommendation, criteria e comment.

Exemplo de Requisição ​

bash
curl -X PUT "https://api.us.basis.tavares.in/v1/ats/user/evaluations/1" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "rating": 5,
    "recommendation": "strong_yes",
    "criteria": {
      "comunicacao": 5,
      "conhecimentoTecnico": 5,
      "fitCultural": 4,
      "experienciaRelevante": 4
    },
    "comment": "Após revisar a avaliação, subi a nota: o candidato demonstrou conhecimento sênior em arquitetura de APIs e boa liderança técnica. Recomendo fortemente a contratação."
  }'

Respostas ​

204 No Content

Atualização concluída com sucesso.

403 Forbidden

Ocorre quando o usuário não é o autor da avaliação nem owner/admin.

json
{
  "message": "Você não tem permissão para editar esta avaliação",
  "code": "FORBIDDEN"
}

404 Not Found

Ocorre quando a avaliação não existe na instância.

Remover Avaliação ​

Exclui uma avaliação da instância. Permitido apenas ao autor da avaliação ou a usuários owner/admin.

http
DELETE /v1/ats/user/evaluations/:id

Parâmetros de Rota ​

NomeTipoObrigatórioDescrição
idnumberSimO ID da avaliação.

Exemplo de Requisição ​

bash
curl -X DELETE "https://api.us.basis.tavares.in/v1/ats/user/evaluations/1" \
  -H "X-Ats-Id: 3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Authorization: Bearer {token}"

Respostas ​

204 No Content

Remoção concluída com sucesso.

403 Forbidden

Ocorre quando o usuário não é o autor da avaliação nem owner/admin.

json
{
  "message": "Você não tem permissão para excluir esta avaliação",
  "code": "FORBIDDEN"
}

404 Not Found

Ocorre quando a avaliação não existe na instância.