Documentação interativa dos endpoints disponíveis para integração.
Todas as requisições desta API exigem uma API Key ativa. Você deve enviá-la através do cabeçalho x-api-key.
x-api-key: api_key_suachaveaqui
Cria uma nova conta de usuário no sistema (o token é retornado apenas no login).
{
"nome": "João Silva",
"email": "joao@exemplo.com",
"senha": "senha_super_segura"
}
{
"mensagem": "Usuário registrado com sucesso!",
"usuario": {
"id": "278c2e9b-...",
"nome": "João Silva",
"email": "joao@exemplo.com"
}
}
Autentica um usuário existente usando e-mail e senha.
{
"email": "joao@exemplo.com",
"senha": "senha_super_segura"
}
{
"mensagem": "Login realizado com sucesso!",
"usuario": {
"id": "278c2e9b-...",
"nome": "João Silva",
"email": "joao@exemplo.com"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI..."
}
Retorna os detalhes do usuário atualmente logado.
Authorization: Bearer
{
"usuario": {
"id": "278c2e9b-...",
"nome": "João Silva",
"email": "joao@exemplo.com",
"profileImage": "/uploads/image-12345.png",
"criadoEm": "2026-08-02T18:00:00.000Z"
}
}
Envia uma imagem (PNG, JPG) para atualizar o avatar do usuário. Deve ser enviado como multipart/form-data.
Authorization: Bearer
Content-Type: multipart/form-data
image: (Arquivo da imagem selecionada pelo usuário)
{
"mensagem": "Imagem de perfil atualizada com sucesso!",
"profileImage": "/uploads/image-12345.png"
}
Rota de confirmação de logout (a remoção real do JWT deve ser feita no cliente).
{
"mensagem": "Logout realizado com sucesso! Por favor, remova o token no lado do cliente."
}
Endpoints para gerenciamento de vagas. Requerem autenticação (Token JWT).
Authorization: Bearer
{
"title": "Desenvolvedor Backend Pleno",
"description": "Vaga para desenvolvedor focado em Node.js e Prisma",
"company": "Tech Corp",
"location": "São Paulo, SP (Híbrido)",
"status": "aberta"
}
{
"mensagem": "Vaga criada com sucesso!",
"vaga": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"title": "Desenvolvedor Backend Pleno",
"description": "Vaga para desenvolvedor...",
"company": "Tech Corp",
"location": "São Paulo, SP (Híbrido)",
"status": "aberta",
"userId": "278c2e9b-...",
"createdAt": "2026-08-10T12:00:00.000Z",
"updatedAt": "2026-08-10T12:00:00.000Z"
}
}
Retorna todas as vagas pertencentes ao usuário logado.
Authorization: Bearer
[
{
"id": "123e4567-...",
"title": "Desenvolvedor Backend Pleno",
"status": "aberta",
"createdAt": "2026-08-10T12:00:00.000Z",
...
}
]
Authorization: Bearer
{
"id": "123e4567-...",
"title": "Desenvolvedor Backend Pleno",
"status": "aberta",
...
}
Atualiza os dados de uma vaga (apenas os campos enviados serão atualizados).
Authorization: Bearer
{
"status": "fechada"
}
{
"mensagem": "Vaga atualizada com sucesso!",
"vaga": { ... }
}
Authorization: Bearer
{
"mensagem": "Vaga removida com sucesso!"
}