{"name":"Sistema Cunha Festas - API","version":"1.0.0","description":"API para gestão de festas e eventos","status":"online","uptime":"16:46:59","timestamp":"2026-05-03T09:57:10.005Z","health":{"status":"healthy","database":"connected","memory":{"used":"32 MB","total":"38 MB"}},"architecture":{"pattern":"MVC (Model-View-Controller)","authentication":"JWT Bearer Token","database":"PostgreSQL with schema 'cunha'","cors":"Enabled for specified domains"},"endpoints":{"Authentication":{"POST /api/auth/login":"Fazer login e obter token JWT","POST /api/auth/register":"Registrar novo usuário","GET /api/auth/me":"Obter informações do usuário logado"},"Produtos":{"GET /api/produtos":"Lista todos os produtos (query: search)","POST /api/produtos":"Cria um novo produto","GET /api/produtos/:id":"Busca produto por ID","PUT /api/produtos/:id":"Atualiza produto completo","PATCH /api/produtos/:id":"Atualiza produto parcial","DELETE /api/produtos/:id":"Remove produto","GET /api/produtos/estoque-baixo":"Lista produtos com estoque baixo","GET /api/produtos/disponibilidade":"Verifica disponibilidade"},"Clientes":{"GET /api/clientes":"Lista todos os clientes","POST /api/clientes":"Cria um novo cliente","GET /api/clientes/:id":"Busca cliente por ID","PUT /api/clientes/:id":"Atualiza cliente","DELETE /api/clientes/:id":"Remove cliente"},"Locais":{"GET /api/locais":"Lista todos os locais","POST /api/locais":"Cria um novo local","GET /api/locais/:id":"Busca local por ID","PUT /api/locais/:id":"Atualiza local","DELETE /api/locais/:id":"Remove local"},"Orçamentos":{"GET /api/orcamentos":"Lista todos os orçamentos","POST /api/orcamentos":"Cria um novo orçamento","GET /api/orcamentos/:id":"Busca orçamento por ID","PUT /api/orcamentos/:id":"Atualiza um orçamento","GET /api/orcamentos/:id/itens":"Lista os itens de um orçamento"},"Reservas":{"GET /api/reservas":"Lista todas as reservas","POST /api/reservas":"Cria uma nova reserva","GET /api/reservas/:id":"Busca reserva por ID","PUT /api/reservas/:id":"Atualiza reserva","DELETE /api/reservas/:id":"Remove reserva"},"Movimentos":{"GET /api/movimentos":"Lista movimentos de estoque","POST /api/movimentos":"Cria movimento de estoque","GET /api/movimentos/:id":"Busca movimento por ID","DELETE /api/movimentos/:id":"Remove movimento"},"Dashboard":{"GET /api/dashboard":"Dados do dashboard principal"}},"authentication":{"type":"Bearer Token (JWT)","header":"Authorization: Bearer <token>","login_endpoint":"/api/auth/login","token_expiry":"24 hours"},"response_format":{"success":{"success":true,"data":"{ dados retornados }","message":"Operação realizada com sucesso"},"error":{"success":false,"error":true,"message":"Descrição do erro","details":"Detalhes específicos do erro"}},"examples":{"Login":{"method":"POST","url":"/api/auth/login","body":{"email":"seu_email@exemplo.com","senha":"sua_senha"}},"Criar Produto":{"method":"POST","url":"/api/produtos","headers":{"Authorization":"Bearer <token>","Content-Type":"application/json"},"body":{"nome":"Cadeira Plástica","descricao":"Cadeira plástica branca","quantidade_total":100,"valor_locacao":3.5,"valor_danificacao":25,"tempo_limpeza":5}},"Registrar Usuário":{"method":"POST","url":"/api/auth/register","body":{"nome":"João Silva","email":"joao@email.com","senha":"senha_segura","perfil":"user"}}},"notes":["🔐 Todas as rotas /api/* (exceto /api/auth) requerem autenticação JWT","📅 Datas devem estar no formato ISO 8601 (YYYY-MM-DDTHH:mm:ss)","🆔 IDs são números inteiros sequenciais","🔍 Para busca por texto, use o parâmetro 'search' via query string","🌐 CORS habilitado para domínios específicos","⚡ Rate limiting aplicado para prevenir abuso"]}