Changelog
Acompanhe mudanças confirmadas da API e deste portal.
Metas: ligar e tirar tarefa existente
POST /objectives/{objective}/tasks liga uma tarefa principal que já existe à meta (task_id; milestone_id opcional já põe no marco), como o campo Meta do modal da tarefa: subtarefas vão junto, fica o histórico e, se era de outra meta, sai dos marcos de lá. Vale também para meta da empresa ou de time. 422 para subtarefa, tarefa excluída ou inexistente; 403 para quem não faz parte do quadro da tarefa (o administrador sempre pode). DELETE /objectives/{objective}/tasks/{task} tira a tarefa da meta e dos marcos, e ela continua no quadro.
Metas: tarefas nos marcos pela API
POST /objectives/{objective}/milestones/{milestone}/tasks cria tarefas no quadro da meta, uma por linha na sintaxe das tarefas iniciais, e liga as principais ao marco (201 com meta.created_task_ids; meta sem quadro responde 422). PUT /objectives/{objective}/tasks/{task}/milestone põe uma tarefa principal da meta num marco, ou tira de todos com milestone_id null. progress.items_total e progress.items_done entram no contrato.
Metas: marcos como grupos de tarefas
Cada marco traz automatic, task_ids, tasks_total e tasks_done. O marco com tarefas fecha e reabre sozinho com elas, e PUT /objectives/{objective}/milestones/{milestone} passa a valer só para marco sem tarefas (no automático responde 409 invalid_transition). No projeto por marcos, cada tarefa principal e cada marco sem tarefas valem um item, e progress traz items_total e items_done. Meta de resultado sem métrica fica em 0 em vez de cair para as tarefas.
Nova Metas: tipos, dono, check-ins, marcos e indicadores
Metas ganham type (resultado, projeto, rotina, sim_nao), priority, owner_scope (empresa, time ou quadro; board_id deixa de ser obrigatório), visibility, meta maior (parent_id e parent_weight), progress_mode, rotina, faixas com o resultado superada, check-ins, alertas, on_complete, participantes, marcos e rascunho. Métricas ganham direction, baseline_value, tolerâncias, weight, count_scope e a origem indicator. progress traz achievement e suggested_result, e há o bloco pace. Novos POST /objectives/{objective}/publish, GET e POST /checkins, PUT /milestones/{milestone}, POST e DELETE /confirm e GET /metrics/{metric}/history; close aceita lessons_worked, lessons_change e override_reason.
Metas pela API, métrica por integração e meta mensal
Novo recurso /objectives (escopos objectives:read e objectives:write, com a permissão Metas do painel): listar com filtros, exibir, criar (com Idempotency-Key), PATCH parcial (metrics é a lista completa), encerrar, reabrir e cancelar. Métricas manual, task_template (contada por tarefas de um modelo) e integration (integration_key). recurrence: monthly repete a meta todo mês, com o mês no nome. PUT /objectives/{objective}/metrics/{metric}/value troca o realizado e POST /objectives/metrics/report informa o número de uma chave a todas as metas abertas do dia.
Prazo travado e pedidos de novo prazo
Quadros aceitam e devolvem lock_due_date: ligado, o prazo final já definido das tarefas só muda pelo gestor do quadro ou por um administrador de Quadros, e PATCH /tasks/{task} responde 403 permission_denied aos demais (deadline_reason registra o motivo no histórico). Novos GET e POST /tasks/{task}/deadline-requests e POST /deadline-requests/{deadlineRequest}/approve, /refuse e /cancel, com a mesma regra do painel.
Comentários de tarefa: editar, arquivar e mencionar
PATCH /tasks/{task}/comments/{comment} edita o texto (parcial) e POST /tasks/{task}/comments/{comment}/archive arquiva, com as mesmas regras e o mesmo histórico do painel. Criar e editar aceitam mention_user_ids e mention_everyone, que avisam as pessoas como o @ do painel; GET /tasks/{task}/mentionable-users lista quem pode ser mencionado. O comentário passa a trazer archived e mentions.
Gerenciador de Arquivos: quem acessa e papéis da Empresa
GET e PATCH /file-manager/items/{item}/sharing leem e mudam a visibilidade, o acesso de quem não tem papel na Empresa (everyone_edit, everyone_view, restricted ou inherit) e os papéis por pessoa e por time (visualizar, editar, gerenciar). Na Empresa todos veem e editar passa a exigir papel; pastas que já existiam seguem everyone_edit. Itens trazem company_access e o detalhe traz my_permission. Tirar um item da Empresa ao mover exige gerenciar.
Tags: cadastro e tags das tarefas
Novo recurso /tags (listar, ver, criar sem repetir nome, renomear, ativar e desativar; escopos tags:read e tags:write). Tarefas aceitam tags ao criar e editar (a lista substitui as atuais), mostram as tags e podem ser filtradas por GET /tasks?tag=.
Descrição das colunas e tarefa a partir de modelo
Colunas do quadro ganham description (até 300 caracteres) ao criar, no PATCH parcial e na leitura. POST /tasks aceita task_template_id: a tarefa fica ligada ao modelo, o checklist vira subtarefas e, no que não vier, valem o nome, o prazo e a descrição do modelo.
Processos: organizar o desenho e mudar uma peça
layout: "auto" no POST /processes e no PUT /processes/{process}/flow posiciona as peças pelas conexões (position fica opcional); POST /processes/{process}/flow/arrange organiza o desenho atual; PATCH /processes/{process}/flow/nodes/{node} muda posição, tamanho ou parâmetros de uma peça sem reenviar o desenho.
Credencial com acesso total
Na criação da credencial, a opção Acesso total grava o escopo *, que vale para todos os escopos de hoje e dos que vierem, sem precisar recriar a credencial a cada API nova. Exige responsável administrador do sistema; as permissões dele e os módulos contratados continuam valendo. A validade é opcional.
Trocar tarefa de quadro pela API
PATCH /tasks/{task} aceita board_id (e stage_id opcional) e move a tarefa de quadro com o mesmo histórico do painel. Correção: stage_id de uma coluna de outro quadro agora é recusado com 422, em vez de deixar a tarefa num quadro com a coluna de outro.
Minhas tarefas e descrição com imagem via API
GET /tasks ganha o filtro responsible (me ou o id de uma pessoa), como o Minhas Tarefas, e progress passa a aceitar várias etapas separadas por vírgula (ex.: todo,doing). A descrição da tarefa e os comentários aceitam HTML com imagens (envie antes por POST /media); scripts, eventos e imagens em base64 são removidos ao gravar. Times passam a aparecer junto de Usuários, como recurso da empresa.
Pessoa com várias empresas
Novo vínculo entre a pessoa (cliente PF, pelo CPF) e as empresas (clientes PJ) que ela representa: listar pelos dois lados (clients:read), vincular com o papel, trocar o papel, aprovar o pedido feito pela loja ou pelo app e desfazer (clients:write). Com o vínculo ativo, a pessoa compra em nome da empresa.
Execuções de processo via API
Novo recurso /process-executions no módulo Processos: listar e acompanhar as execuções (só dos quadros que o usuário pode abrir), iniciar um processo num quadro com a pessoa de cada papel e a tarefa de origem, escolher a saída de uma etapa e cancelar. Início, saída e cancelamento exigem Idempotency-Key e o novo escopo processes:execute, com as mesmas permissões do painel.
Processos e Modelos de tarefa via API
Novo módulo Processos: listar e consultar com o desenho da versão atual, criar em rascunho já com o desenho, salvar o desenho numa versão nova, editar os dados, conferir se pode executar (GET /processes/{process}/validation), listar e restaurar versões, ativar e desativar. Novo recurso Modelos de tarefa (/task-templates): listar, consultar, criar, editar, ativar e desativar. Novos escopos processes:read, processes:write, task-templates:read e task-templates:write.
Categoria de blog sem url
Criar categoria de blog sem `url` respondia erro interno. Agora o endereço é gerado a partir do nome, com sufixo -2, -3 quando já existir; na edição, `url` vazio volta a nascer do nome.
Produtos: ficha técnica, submarcas, códigos de chaves, estoque, arquivos digitais e reativar
Novos endpoints de atributos da ficha técnica e opções (/product-attributes), submarcas (/sub-brands), carga de códigos dos produtos chave, saldo por loja com correção e limites, arquivos digitais e sistemas operacionais, e POST /products/{product}/activate. O produto aceita a ficha técnica em attributes e passa a devolver custo, preço em dólar, dados fiscais e a ficha técnica. Correção: as rotas de produtos e do catálogo pediam um módulo que não existe e respondiam module_unavailable; agora pedem o módulo Produtos (modelos de impressora, recurso obrigatório). Novos escopos product-attributes, key-codes e stock.
Produtos: formulário completo, detalhe mais rico e PATCH sem tipo e nome
A API aceita preços por quantidade, frete, embalagem, referência do fabricante, GTIN, SEO, vídeo, promoção, múltiplo de venda, apenas em kit e os dados do PDV. O detalhe devolve os modelos compatíveis, as faixas de preço e o frete. Novos filtros brand_id, reference e printer_model_id. No PATCH, type e name deixaram de ser obrigatórios, e a chave relacionada e o peso da embalagem não são mais apagados quando omitidos.
Catálogo de fornecedor: modelos, textos, fotos, dólar e fornecedores
Modelos de impressora ganham cadastro, edição e desativação (printer-models:write). Produtos aceitam os textos da aba de informações, as fotos (images, com itens da Biblioteca de Mídia) e o preço em dólar, e devolvem texts e images no detalhe. Novo recurso Fornecedores (/suppliers): listar, ver, cadastrar, editar e desativar (suppliers:read e suppliers:write).
Gerenciador de Arquivos: listar tudo, baixar e editar documentos
GET /file-manager/items lista pastas, arquivos e documentos de um nível ou da árvore inteira (recursive), com o caminho de cada item, busca, filtros e paginação, e substitui o GET /file-manager/folders, que saiu (use type=folder). Novos: ver um item, link de download de 15 minutos, criar documento e editar nome e texto.
Renomear e mover no Gerenciador de Arquivos
PATCH /file-manager/items/{item} renomeia arquivo ou pasta; POST /file-manager/items/{item}/move move um item e POST /file-manager/items/move move até 100 de uma vez, tudo ou nada. Escopo file-manager:write e as mesmas regras do painel.
Enquetes via API
Listar e consultar enquetes com as perguntas, ler o resultado consolidado e as respostas (surveys:read); criar com as perguntas, configurar, ativar e desativar (surveys:write); enviar respostas pela chave de cada pergunta (surveys:respond). Criar e responder exigem Idempotency-Key; enquete fechada ou resposta repetida da mesma referência responde 409 invalid_transition.
Solicitações entre times via API
Listar e consultar (requests:read); abrir, editar enquanto em análise, cancelar e contestar uma recusa (requests:write); aceitar para execução ou como ideia, recusar e registrar a conclusão (requests:decide). Abrir e as ações exigem Idempotency-Key; ação fora do estado responde 409 invalid_transition.
Edição parcial em quadros, OS, contas a pagar e catálogo
PATCH de quadro sem member_user_ids mantém os participantes; o rascunho do formulário de abertura da OS só altera as perguntas enviadas; reenviar o mesmo tipo de serviço não solta mais as respostas; editar conta paga não troca quem pagou nem os juros; marca e categorias aceitam PATCH sem name.
Produtos: atualização parcial preserva o que não foi enviado
PATCH /products/{product} enviado só com alguns campos apagava compatibilidade, fotos, atributos, textos e dados fiscais do produto. Agora os campos omitidos ficam como estão; só os enviados mudam.
Contas a Pagar via API
Listar e consultar contas (payables:read); lançar na carteira ou no cartão, parcelar com o total dividido, editar, pagar e apagar parcelas em aberto (payables:write). No cartão, a fatura segue o dia de fechamento.
Gerenciador de Arquivos via API
Listar pastas (file-manager:read), criar pastas, enviar arquivos em lote ou grandes em partes e arquivar arquivos (file-manager:write), com as mesmas permissões do painel.
Autor do post no blog
Criar post exige o `author_id` (cliente marcado como autor do blog, como no painel); sem ele a criação falhava. O autor pode ser trocado no PATCH e aparece em `author` na resposta. Novo `GET /blog-authors` para descobrir os autores.
CRM, Campanhas e Automações
Negócios do CRM com etapas, finalização, histórico, compromissos, propostas e arquivos; entrada de leads e importação por planilha; configuração dos funis e relatórios; listas de contatos, campanhas com disparo por WhatsApp e e-mail e notificações do app; e fluxos de automação. Novos escopos crm:*, campaigns:* e automations:*.
Ordens de Serviço completas
Tudo o que o painel faz nas OS: edição em qualquer etapa, duplicar, prioridade, triagem, orçamento, ações do técnico com checklists, impedimentos, retirada, troca de status, observações, insumos, itens, arquivos, pedido, chaves, fila do técnico, fila de entregas, relatórios e cadastros. Novos escopos service-orders:operate, :keys, :settings, :dispatch e :reports; OS fora das lojas do usuário passa a responder 404.
Ordens de Serviço e formulário de abertura
Listar e consultar OSs, criar e editar rascunhos, consultar e salvar o checklist dinâmico e concluir a abertura para triagem (service-orders:read / service-orders:write).
Categorias de blog: escrita e escopo próprio
Criar, editar e desativar categorias do blog via API (blog-categories:write), reusando o serviço canônico do painel; criação idempotente. A leitura passou a ter escopo próprio (blog-categories:read), antes atendida por posts:read.
Editar rascunho de publicação
Atualizar um rascunho de publicação já criado (publications:draft), apenas enquanto for rascunho. Edição parcial; nunca publica nem agenda.
Desativar cliente e excluir mídia
DELETE /clients/{client} desativa o cliente por status, sem apagar (clients:write). DELETE /media/{item} exclui em definitivo um item da biblioteca, com arquivos, variações e vínculos (media:write).
Catálogo de produto: escrita de categorias e marcas
Criar, editar e desativar categorias (product-categories:write) e marcas (brands:write) via API, reusando o serviço canônico do painel; criação idempotente. Unidades e modelos seguiam só leitura por decisão (ADR 0175); os modelos ganharam escrita em 03/11/2026.
Catálogo de referência do produto
Listagens para descobrir os ids usados no produto: categorias (product-categories:read), marcas (brands:read), unidades (units:read) e modelos de impressora (printer-models:read). Cada uma com seu escopo.
Produtos via API (leitura e escrita)
Listar e consultar o catálogo (products:read) e criar, atualizar e arquivar produtos de qualquer tipo (products:write), reusando o serviço canônico do painel. Criação idempotente. Custo, preço em dólar e comissão nunca são expostos na leitura.
Quadros (CRUD) e Times via API
Criar, editar e arquivar quadros (boards:write), com as 6 colunas padrão, reusando o serviço canônico do painel. E listar/consultar Times (teams:read) para descobrir o time responsável e os membros ao criar um quadro.
Quadros: participantes e colunas via API
Listar os participantes de um quadro (boards:read) — o conjunto elegível para atribuir numa tarefa — e criar/editar colunas (boards:write), reusando a regra do painel.
Usuários via API
Listar e consultar os usuários da equipe (users:read), para descobrir os ids usados ao atribuir responsáveis a tarefas ou definir o vendedor de um cliente. Só leitura; senha e tokens nunca são expostos.
Biblioteca de Mídia via API
Enviar imagens e vídeos (media:write) e listar/consultar a biblioteca (media:read). O upload gera as variações de tamanho e devolve o id reusado em recursos como a imagem destacada de um post.
Comentários de tarefa via API
Ler e criar comentários numa tarefa de quadro (tasks:read / tasks:write). A criação é idempotente e registra o evento da tarefa, como no painel.
Categorias de blog via API
Endpoint para listar as categorias do blog (posts:read), permitindo descobrir o category_id usado ao criar ou editar um post.
Clientes via API
Cadastro central de clientes: listar e consultar (clients:read), criar de forma idempotente e atualizar (clients:write). Pessoa física ou jurídica, com documento sem máscara e contato de WhatsApp opcional na criação.
Quadros e Tarefas via API
Leitura de quadros e colunas (boards:read) e tarefas de quadro: listar, consultar, criar de forma idempotente, atualizar progresso/coluna e atribuir responsáveis (tasks:read, tasks:write, tasks:assign).
Blog: posts via API
Ler, criar rascunho idempotente, editar, publicar e despublicar posts do blog, com os escopos posts:read, posts:write e posts:publish.
Fundação: erros, limites e exemplos
Catálogo estável de códigos de erro no contrato, cabeçalho Retry-After e X-RateLimit-* nas respostas de limite excedido, e exemplos de corpo na referência.
Gestão de credenciais e contrato público
Credenciais por aplicação, escopos, expiração, cota, auditoria e rotação atômica passaram a compor a base da API oficial.
Rascunhos de publicação
Disponibilizados descoberta, identidade, capacidades, plataformas, listagem, criação idempotente e consulta de publicações.
Portal completo de desenvolvedores
Nova navegação, busca, guias aprofundados, referência gerada do OpenAPI, tema escuro, changelog e status transparente da V1.