http://localhost/
The application uses session-based authentication. Users must login through the web interface before accessing protected endpoints.
/autenticar (POST)cpf (string, required): User’s CPFsenha (string, required): User’s password/sair (GET)/index (GET)pagina (int): Page number (default: 1)limite (int): Items per page (default: 10)busca (string): Search termdata_pesquisa (string): Filter by date (Y-m-d)ordem (string): Sort columndirecao (string): Sort direction (ASC/DESC)/cadastro (GET)/salvar (POST)tipo (string): “Entrada” or “Saída”patrimonio (string): Comma-separated list of equipment IDsentrada (string): Date (Y-m-d)localidade (int): Location IDusuario (int): User IDassinatura_data (string): Base64 signature image/editar?id={id} (GET)/atualizar (POST)id_movimentacao (int): Movement IDid_itens (int): Item IDtipo (string): Movement typepatrimonio (string): Equipment IDdata_entrada (string): Entry datelocalidade (int): Location IDusuario (int): User IDobservacao (string): Observations/pendentes (GET)/saida?id_item={patrimonio} (GET/POST)data_saida (string): Exit date (Y-m-d)/deletar?id_item={id} (GET)/cadastrar_rapido (POST)tabela (string): “localidade” or “usuario”nome (string): Name{id: int} or {error: string}/api/equipamentos (GET)page (int): Page number (default: 1)size (int): Items per page (default: 20, max: 100)q (string): Search query{
"items": [...],
"total": 100
}
/api/equipamento?id={id} (GET)/api/equipamentos (POST){
"tipo": "string",
"fabricante": "string",
"numeroSerie": "string",
"codigo": "string (optional)",
"modelo": "string (optional)",
"patrimonio": "string (optional)",
"estado": "string (optional)",
"localId": "int (optional)",
"responsavelId": "int (optional)",
"observacoes": "string (optional)",
"metadata": "object (optional)"
}
{id: string}/api/equipamento?id={id} (PUT/PATCH){ok: true}/api/equipamento?id={id} (DELETE)/health (GET){
"status": "healthy|degraded",
"timestamp": "2024-04-27T12:00:00",
"services": {
"database": {
"status": "healthy|unhealthy",
"message": "string"
}
}
}
200: Success201: Created204: No Content400: Bad Request404: Not Found405: Method Not Allowed500: Internal Server Error{
"success": false,
"error": "Error message"
}
Sessions are configured with the following security settings:
httponly: true (prevents JavaScript access)secure: true (HTTPS only in production)samesite: Lax (CSRF protection)