TalentMind API

v1.0.0

Documentação da API da TalentMind: acesso programático à análise de entrevistas, à avaliação de habilidades comportamentais e à aferição da compatibilidade corporativa dos candidatos. API REST e webhooks para integrar a avaliação com IA ao seu ATS

Autorização

O cabeçalho Authorization é enviado no formato Bearer {token}

Esquema

BearerAuth

Tipo

API Key

Cabeçalho

Authorization

Entrevistas

post

uploadInterview

Envie uma gravação de entrevista para análise

Corpo da solicitação · application/json

candidate_idobrigatório

string

Identificador do candidato

vacancy_idobrigatório

string

Identificador da vaga

media_urlobrigatório

string

URL da gravação da entrevista (mp4, mp3, m4a)

Respostas

200Entrevista aceita para processamento
400Solicitação inválida
post/v1/interviews
Solicitação
import axios from 'axios';

async function uploadInterview() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/interviews', {
      candidate_id: 'cand_4f21',
      vacancy_id: 'ui-engineer',
      media_url: 'https://cdn.acme.io/int-204.mp4'
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

uploadInterview();
Resposta · application/json
{
  "success": true,
  "id": "int_8d24f0",
  "status": "processing",
  "created_at": "2026-06-13T09:24:00Z"
}
get

getInterview

Obtenha o status e o resultado da análise de uma entrevista

Parâmetros de caminho

idobrigatório

string

Identificador da entrevista

Respostas

200Sucesso
404Entrevista não encontrada
get/v1/interviews/{id}
Solicitação
import axios from 'axios';

async function getInterview() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/interviews/int_8d24f0', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getInterview();
Resposta · application/json
{
  "success": true,
  "id": "int_8d24f0",
  "status": "completed",
  "match": 0.88,
  "report_url": "https://app.talentmind.app/r/int_8d24f0",
  "scores": {
    "leadership": 0.88,
    "communication": 0.84,
    "empathy": 0.75,
    "logic": 0.76
  }
}
get

listInterviews

Listar entrevistas

Parâmetros de consulta

status

string

Enum: processing · completed · failed

Filtrar por status

limit

integer

Padrão: 20

Número de registros. Máximo 100.

offset

integer

Padrão: 0

Deslocamento para a paginação.

Respostas

200Sucesso
400Solicitação inválida
get/v1/interviews
Solicitação
import axios from 'axios';

async function listInterviews() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/interviews', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' },
      params: {
        status: 'completed',
        limit: 20,
        offset: 0
      }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

listInterviews();
Resposta · application/json
{
  "success": true,
  "total": 128,
  "items": [
    { "id": "int_8d24f0", "status": "completed", "match": 0.88 },
    { "id": "int_7b15c2", "status": "processing", "match": null }
  ]
}

Candidatos

get

getCandidateScore

Avalie as habilidades comportamentais de um candidato

Parâmetros de caminho

idobrigatório

string

Identificador do candidato

Respostas

200Sucesso
404Candidato não encontrado
get/v1/candidates/{id}/score
Solicitação
import axios from 'axios';

async function getCandidateScore() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/candidates/cand_4f21/score', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCandidateScore();
Resposta · application/json
{
  "success": true,
  "candidate_id": "cand_4f21",
  "match": 0.88,
  "scores": {
    "leadership": 0.88,
    "communication": 0.84,
    "empathy": 0.75,
    "planning": 0.85,
    "stress_tolerance": 0.68
  }
}
get

getCandidateReport

Relatório completo do candidato

Parâmetros de caminho

idobrigatório

string

Identificador do candidato

Respostas

200Sucesso
404Candidato não encontrado
get/v1/candidates/{id}/report
Solicitação
import axios from 'axios';

async function getCandidateReport() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/candidates/cand_4f21/report', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCandidateReport();
Resposta · application/json
{
  "success": true,
  "candidate": {
    "name": "Dmitry Sokolov",
    "position": "Senior Project Manager"
  },
  "compatibility": 0.74,
  "recommendation": "recommended",
  "strengths": ["Systems thinking", "End-to-end project ownership"],
  "risks": ["High salary expectations"]
}
post

compareCandidates

Compare candidatos por critérios

Corpo da solicitação · application/json

candidate_idsobrigatório

array<string>

Identificadores de candidatos (de 2 a 10)

criteria

string

Critério de comparação (por exemplo, liderança)

Respostas

200Sucesso
400Solicitação inválida
post/v1/candidates/compare
Solicitação
import axios from 'axios';

async function compareCandidates() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/candidates/compare', {
      candidate_ids: ['cand_4f21', 'cand_9a02'],
      criteria: 'leadership'
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

compareCandidates();
Resposta · application/json
{
  "success": true,
  "ranking": [
    { "candidate_id": "cand_4f21", "score": 0.88 },
    { "candidate_id": "cand_9a02", "score": 0.81 }
  ]
}

Cultura

get

getCultureProfile

Perfil da cultura corporativa da empresa

Respostas

200Sucesso
get/v1/culture/profile
Solicitação
import axios from 'axios';

async function getCultureProfile() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/culture/profile', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCultureProfile();
Resposta · application/json
{
  "success": true,
  "parameters_count": 54,
  "dimensions": {
    "innovation": 0.64,
    "stability": 0.78,
    "people": 0.72,
    "results": 0.81,
    "detail": 0.75,
    "team": 0.69,
    "competitiveness": 0.58
  }
}
post

getCultureFit

Avalie a compatibilidade de um candidato com o DNA da empresa

Corpo da solicitação · application/json

candidate_idobrigatório

string

Identificador do candidato

Respostas

200Sucesso
400Solicitação inválida
post/v1/culture/fit
Solicitação
import axios from 'axios';

async function getCultureFit() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/culture/fit', {
      candidate_id: 'cand_4f21'
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

getCultureFit();
Resposta · application/json
{
  "success": true,
  "fit_score": 0.74,
  "matches": ["Execution discipline", "Analytical approach"],
  "attention": ["Team collaboration"]
}

Webhooks

post

createWebhook

Inscreva-se nos eventos de análise

Corpo da solicitação · application/json

urlobrigatório

string

URL para a entrega de eventos

eventsobrigatório

array<string>

Eventos: interview.completed, report.ready, candidate.scored

Respostas

200Webhook criado
400Solicitação inválida
post/v1/webhooks
Solicitação
import axios from 'axios';

async function createWebhook() {
  try {
    const response = await axios.post('https://api.talentmind.app/v1/webhooks', {
      url: 'https://acme.io/hooks/talentmind',
      events: ['interview.completed', 'report.ready']
    }, {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

createWebhook();
Resposta · application/json
{
  "success": true,
  "id": "wh_2c91",
  "url": "https://acme.io/hooks/talentmind",
  "events": ["interview.completed", "report.ready"]
}
get

listWebhooks

Listar webhooks

Respostas

200Sucesso
get/v1/webhooks
Solicitação
import axios from 'axios';

async function listWebhooks() {
  try {
    const response = await axios.get('https://api.talentmind.app/v1/webhooks', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

listWebhooks();
Resposta · application/json
{
  "success": true,
  "items": [
    {
      "id": "wh_2c91",
      "url": "https://acme.io/hooks/talentmind",
      "events": ["interview.completed", "report.ready"]
    }
  ]
}
delete

deleteWebhook

Exclua um webhook

Parâmetros de caminho

idobrigatório

string

Identificador do webhook

Respostas

200Webhook excluído
404Webhook não encontrado
delete/v1/webhooks/{id}
Solicitação
import axios from 'axios';

async function deleteWebhook() {
  try {
    const response = await axios.delete('https://api.talentmind.app/v1/webhooks/wh_2c91', {
      headers: { Authorization: 'Bearer YOUR_API_KEY' }
    });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error);
  }
}

deleteWebhook();
Resposta · application/json
{
  "success": true,
  "deleted": true
}