# S4ilor API v1 > REST API para automação de atendimento via WhatsApp e outros canais. > Docs: https://s4ilor.com/docs/api ## Autenticação Bearer token em todas as requisições: Authorization: Bearer Cada token é vinculado a uma conexão específica (canal WhatsApp). A conexão é resolvida automaticamente a partir do token — não é necessário informá-la na URL. Tokens gerados nas configurações de cada conexão no painel S4ilor. ## Base URL https://s4ilor.com/api/v1 ## Paginação Endpoints de listagem aceitam: page integer Número da página (padrão: 1) limit integer Itens por página (padrão: 20, máx: 100) order string Campo de ordenação direction string "asc" ou "desc" search string Busca textual (case-insensitive) ## Formato de Resposta Sucesso: { "success": true, "data": } Erro: { "success": false, "error": "" } Códigos HTTP: 200 OK 201 Created 400 Bad Request — parâmetros inválidos 401 Unauthorized — token ausente ou inválido 403 Forbidden — permissão insuficiente 404 Not Found 409 Conflict 500 Internal Server Error ## Permissões Cada endpoint exige uma permissão associada ao token: read Consulta de dados write Criação e atualização delete Remoção ## Endpoints ### Usuários GET /users Lista todos os usuários do workspace GET /users/{userId} Retorna os detalhes de um usuário específico ### Clientes GET /clients Lista clientes com busca, paginação e ordenação POST /clients Cria um novo cliente GET /clients/{clientId} Retorna um cliente específico PATCH /clients/{clientId} Atualiza campos de um cliente DELETE /clients/{clientId} Remove um cliente ### Tags GET /tags Lista tags com busca, paginação e ordenação POST /tags Cria uma nova tag GET /tags/{tagId} Retorna uma tag específica PATCH /tags/{tagId} Atualiza campos de uma tag DELETE /tags/{tagId} Remove uma tag ### Departamentos GET /departments Lista departamentos com busca, paginação e ordenação POST /departments Cria um novo departamento GET /departments/{departmentId} Retorna um departamento específico PATCH /departments/{departmentId} Atualiza campos de um departamento DELETE /departments/{departmentId} Remove um departamento ### Atalhos GET /shortcuts Lista atalhos com busca, paginação e ordenação POST /shortcuts Cria um novo atalho global GET /shortcuts/{shortcutId} Retorna um atalho específico PATCH /shortcuts/{shortcutId} Atualiza campos de um atalho DELETE /shortcuts/{shortcutId} Remove um atalho ### Robôs GET /robots Lista robôs com busca, paginação e ordenação POST /robots Cria um novo robô GET /robots/{robotId} Retorna um robô específico PATCH /robots/{robotId} Atualiza campos de um robô DELETE /robots/{robotId} Remove um robô ### Conexão GET /connection Retorna as configurações da conexão PATCH /connection Atualiza configurações da conexão DELETE /connection Remove a conexão permanentemente PATCH /connection/toggle Alterna o estado ativo/inativo da conexão POST /connection/sync-templates Sincroniza templates da conexão POST /connection/qrcode Gera QR Code para conexão WhatsApp Baileys ### Conversas GET /chats Lista chats da conexão com paginação e filtros POST /chats Cria um novo chat ou reabre um chat fechado GET /chats/{chatId} Retorna os detalhes completos de um chat PATCH /chats/{chatId} Atualiza propriedades de um chat ### Mensagens GET /chats/{chatId}/messages Lista mensagens de um chat com paginação POST /chats/{chatId}/messages Envia uma mensagem (texto/mídia ou template) POST /chats/{chatId}/read Marca todas as mensagens não lidas de um chat como lidas POST /messages/{messageId}/star Alterna destaque de uma mensagem para um operador ### Envio Direto POST /messages Envia mensagem diretamente pelo número, criando cliente e chat se necessário ### Follow-ups POST /ephemeral Cria um follow-up (mensagem agendada) em um chat DELETE /ephemeral/{ephemeralId} Remove um follow-up agendado ### Notas POST /notes Cria uma nota em um chat ### Notificações POST /notifications Agenda uma notificação para um operador ### Atualizações de Cliente POST /{connectionId}/clientUpdate Notifica falha de entrega ou mudança de telefone de um cliente ### Atendimentos GET /attendances Lista atendimentos encerrados da conexão com filtros e paginação GET /attendances/{attendanceId} Retorna os detalhes completos de um atendimento encerrado ### Bases de Conhecimento GET /knowledgeBases Lista bases de conhecimento com busca, paginação e ordenação POST /knowledgeBases Cria uma nova base de conhecimento GET /knowledgeBases/{knowledgeBaseId} Retorna uma base com primeira página de conhecimentos PATCH /knowledgeBases/{knowledgeBaseId} Atualiza campos de uma base de conhecimento DELETE /knowledgeBases/{knowledgeBaseId} Remove uma base e todos os seus conhecimentos GET /knowledgeBases/{knowledgeBaseId}/knowledges Lista conhecimentos da base com busca, paginação e filtro de status POST /knowledgeBases/{knowledgeBaseId}/knowledges Cria um conhecimento na base GET /knowledgeBases/{knowledgeBaseId}/knowledges/{knowledgeId} Retorna um conhecimento específico PATCH /knowledgeBases/{knowledgeBaseId}/knowledges/{knowledgeId} Atualiza campos de um conhecimento DELETE /knowledgeBases/{knowledgeBaseId}/knowledges/{knowledgeId} Remove um conhecimento GET /knowledgeBases/{knowledgeBaseId}/knowledges/search Busca semântica (vetorial) por conhecimentos na base ### Bases Complexas GET /complexBases Lista coleções com busca, paginação e ordenação POST /complexBases Cria uma nova coleção GET /complexBases/{baseId} Retorna metadados da coleção com primeira página de objetos PATCH /complexBases/{baseId} Atualiza metadados da coleção DELETE /complexBases/{baseId} Remove coleção e todos os objetos em cascata GET /complexBases/{baseId}/objects Lista objetos da coleção (paginado, filtrável por search) POST /complexBases/{baseId}/objects Cria um objeto na coleção GET /complexBases/{baseId}/objects/{objectId} Retorna um objeto pelo _id PATCH /complexBases/{baseId}/objects/{objectId} Atualiza data e/ou externalId de um objeto DELETE /complexBases/{baseId}/objects/{objectId} Remove um objeto POST /complexBases/{baseId}/objects/query Consulta objetos com filtro Mongo (operadores permitidos: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $exists, $regex, $and, $or, $not) GET /complexBases/{baseId}/objects/byExternalId/{externalId} Retorna um objeto pelo externalId fornecido pelo usuário PUT /complexBases/{baseId}/objects/byExternalId/{externalId} Upsert (cria ou atualiza) um objeto pelo externalId DELETE /complexBases/{baseId}/objects/byExternalId/{externalId} Remove um objeto pelo externalId ## Recursos Adicionais Postman Collection: https://s4ilor.com/docs/api/postman-collection Segurança: https://s4ilor.com/docs/api/security Documentação UI: https://s4ilor.com/docs/api